[Identification] OptionType = NetAdapter [PlatformsSupported] ISA EISA MCA PCI [Options] elpc3nD elpc3n [OptionsTextENG] elpc3nD = "3Com EtherLink III LAN+Modem PC Card (3C562D/3C563D)" elpc3n = "3Com EtherLink III LAN+Modem PC Card (3C562 3C562B/3C563B 3C562C/3C563C)" [AllFileConstants] GenericInfVersion = " V1.50" UtilityInf = "UTILITY.INF" ParamInf = "NCPARAM.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 NetEventDLL = "%SystemRoot%\System32\netevent.dll" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "3Com" [FileConstants-elpc3n] GenericAdapterName = "3Com EtherLink III LAN+Modem PC Card" GenericDriverName = "3Com EtherLink III LAN+Modem Driver" GenericSysName = "elpc3ns.sys" ProductMajorVersion = "4" ProductMinorVersion = "00" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "elpc3n" ProductSoftwareDesc = "3Com EtherLink III LAN+Modem Driver" ProductSoftwareImage = "\SystemRoot\System32\drivers\"$(GenericSysName) NetRuleSoftwareType = "elpc3nSys ndisDriver elpc3nDriver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """elpc3nSys"" yes no container" NetRuleSoftwareClass = {"elpc3nDriver basic"} NetRuleSoftwareBindable = {"elpc3nDriver elpc3nAdapter non exclusive 100"} ProductHardwareName = "elpc3n" ProductHardwareDesc = "3Com EtherLink III LAN+Modem PC Card" NetRuleHardwareType = "elpc3n elpc3nAdapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"elpc3nAdapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 KeyNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyParameters = "" TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [Identify] read-syms Identification set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) [ReturnOptions] set Status = STATUS_FAILED set OptionList = {} set OptionTextList = {} set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($1) == "" goto returnoptions endif set PlatformList = ^(PlatformsSupported, 1) Ifcontains(i) $($1) in $(PlatformList) goto returnoptions else set Status = STATUS_NOTSUPPORTED goto finish_ReturnOptions endif else set Status = STATUS_NOLANGUAGE goto finish_ReturnOptions endif returnoptions = + set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL finish_ReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) [InstallOption] set Status = STATUS_FAILED set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) Set !DebugOutputControl = 0 ; Shradha set ComPortPrefix = SerElpc3n ; Shradha set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif Set AdapterTypeValue = 4096 Ifstr(i) $(Option) == elpc3nD Set AdapterTypeValue = 4355 endif set OldOption = $(Option) set Option = elpc3n set-subst LF = "\n" read-syms GeneralConstants read-syms AllFileConstants read-syms FileConstants"-"$(Option) read-syms DialogConstants$(!STF_LANGUAGE)"-"$(Option) ifstr(i) $(!NTN_Origination) == "NCPA" set Continue = $(OK) endif read-syms AllFileConstants$(!STF_LANGUAGE) read-syms FileConstants$(!STF_LANGUAGE)"-"$(Option) detect date set-title $(FunctionTitle) set to = Begin set from = Begin ; -------------------------- BEGIN FORCE FIX - SHRADHA ; Update the modem info by reading from the ZZZx ; entries under the Serial\Parameters in registry Debug-Output "<DBG: FORCE> Starting ModemIOBaseAddressList = "$(ModemIOBaseAddressList) Debug-Output "<DBG: FORCE> Starting ModemIOBaseAddressValues = "$(ModemIOBaseAddressValues) set SerParams = "SYSTEM\CurrentControlSet\Services\Serial\Parameters" set ZZZComPort = $(SerParams)"\ZZZa" install "install-update-modem-info" set ZZZComPort = $(SerParams)"\ZZZb" install "install-update-modem-info" set ZZZComPort = $(SerParams)"\ZZZc" install "install-update-modem-info" set ZZZComPort = $(SerParams)"\ZZZd" install "install-update-modem-info" Debug-Output "<DBG: FORCE> Final ModemIOBaseAddressList = "$(ModemIOBaseAddressList) Debug-Output "<DBG: FORCE> Final ModemIOBaseAddressValues = "$(ModemIOBaseAddressValues) Debug-Output "<DBG: FORCE> Final ModemIrqList = "$(ModemIrqList) Debug-Output "<DBG: FORCE> Final ModemIrqValues = "$(ModemIrqValues) ;-------------------------- END FORCE FIX - SHRADHA set CommonStatus = STATUS_SUCCESSFUL EndWait Begin = + Set ActivateDetection = FALSE Ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = removeadapter else-Ifstr(i) $(!NTN_InstallMode) == Update set StartLabel = UpgradeSoftware else-Ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bindingadapter else-Ifstr(i) $(!NTN_InstallMode) == configure set StartLabel = configureadapter Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "<DBG> Cannot configure the software." Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo endif else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif ifstr(i) $(Option) == elpc3n ;Shradha ;set IOBaseAddrValue = *($(IOBaseAddrList), 17) ;set MemoryAddrValue = *($(MemoryAddrList), 9) set IOBaseAddrValue = *($(IOBaseAddrList), 1) set MemoryAddrValue = *($(MemoryAddrList), 1) ;Shradha set IRQValue = *($(IRQList), 1) set MediaTypeValue = *($(MediaTypeList), 1) set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), 2) set ModemInterruptNumberValue = *($(IRQList), 1) set ComPortValue = *($(ComPortList), 2) set LANOnlyValue = *($(LANOnlyList), 1) set Static1Label = "Note: Modem and Network use same interrupt" endif Set from = $(fatal) Set to = $(fatal) Goto $(StartLabel) installadapter = + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error: cannot get an error string." goto ShellCodeError endif goto end else Shell $(UtilityInf), CardExistedDlg ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error: cannot get an error string." goto ShellCodeError endif ifstr(i) $($R1) != "OK" goto end endif set OldVersionExisted = $(TRUE) endif endif Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) install "Install-Dll" goto adaptersetup configureadapter = + Ifstr $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "<DBG> Cannot find component product key" goto fatalregistry Endif Endif Debug-Output "<DBG> INF: Shelling to FindService" Shell $(UtilityInf) FindService, $(KeyProduct) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> INF: FindService shell failure" Goto ShellCodeError Endif Ifstr(i) $($R0) != NO_ERROR Debug-Output "<DBG> INF: FindService Shell error: "$($R0) Goto fatalregistry endif Set KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(KeyParameters) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "<DBG> Cannot find component service" goto fatalregistry endif set OldVersionExisted = $(TRUE) set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} EnumRegValue $(KeyParameters) ValueList ifstr(i) $(Option) == elpc3n ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) ifstr(i) $(ValueName) == "IoBaseAddress" set IOBaseAddrIndex = $(ValueData) else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress" set MemoryAddrIndex = $(ValueData) else-ifstr(i) $(ValueName) == "InterruptNumber" set IRQValueIndex = $(ValueData) else-ifstr(i) $(ValueName) == "ModemInterruptNumber" set ModemInterruptNumberIndex = $(ValueData) else-ifstr(i) $(ValueName) == "ComPort" set ComPortIndex = $(ValueData) else-ifstr(i) $(ValueName) == "Transceiver" set MediaTypeIndex = $(ValueData) else-ifstr(i) $(ValueName) == "LANOnly" set LANOnlyIndex = $(ValueData) else-ifstr(i) $(ValueName) == "AdapterName" Debug-Output "<DBG> AdapterName in registry = "$(ValueData) set OldAdapterName = $(ValueData) endif EndForListDo set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex))) set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex))) set MemoryAddrValue = *($(MemoryAddrList), ~($(MemoryAddrValues),$(MemoryAddrIndex))) ifstr(i) $(MemoryAddrValue) == "" set MemoryAddrValue = *($(MemoryAddrValues), 2) endif set IOBaseAddrValue = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrIndex))) ifstr(i) $(IOBaseAddrValue) == "" set IOBaseAddrValue = *($(IOBaseAddrList), 1) endif set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), ~($(ComPortValues),$(ComPortIndex))) Debug-Output "<DBG> Configure/ComPortIndex "$(ComPortIndex) Debug-Output "<DBG> Configure/ModemIOBaseAddressValue "$(ModemIOBaseAddressValue) ifstr(i) $(ModemIOBaseAddressValue) == "" set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), 2) endif set ComPortValue = *($(ComPortList), ~($(ComPortValues),$(ComPortIndex))) ifstr(i) $(ComPortValue) == "" set ComPortValue = *($(ComPortValues), 2) endif set MediaTypeValue = *($(MediaTypeList), ~($(MediaTypeValues),$(MediaTypeIndex))) ifstr(i) $(MediaTypeValue) == "" set MediaTypeValue = *($(MediaTypeValues), 1) endif set LANOnlyValue = *($(LANOnlyList), ~($(LANOnlyValues),$(LANOnlyIndex))) ifstr(i) $(LANOnlyValue) == "" set LANOnlyValue = *($(LANOnlyValues), 1) endif endif adaptersetup = + Set from = adapteroptions adapteroptions = + LoadLibrary "disk 1" $(DialogDllName) hLib read-syms FileDependentDlg$(!STF_LANGUAGE)"-"$(Option) Debug-Output "<DBG> ----- Before calling my dialog -----" Debug-Output "<DBG> Combo1Out "$(Combo1Out) Debug-Output "<DBG> Combo2Out "$(Combo2Out) Debug-Output "<DBG> Combo3Out "$(Combo3Out) Debug-Output "<DBG> Combo6Out "$(Combo6Out) Debug-Output "<DBG> Combo7Out "$(Combo7Out) Debug-Output "<DBG> Combo8Out "$(Combo8Out) Debug-Output "<DBG> ButtonPressed "$(ButtonPressed) ui start "InputDlg" $(hLib) Debug-Output "<DBG> ----- After calling my dialog -----" set ExitButton = $(ButtonPressed) Debug-Output "<DBG> Combo1Out "$(Combo1Out) Debug-Output "<DBG> Combo2Out "$(Combo2Out) Debug-Output "<DBG> Combo3Out "$(Combo3Out) Debug-Output "<DBG> Combo6Out "$(Combo6Out) Debug-Output "<DBG> Combo7Out "$(Combo7Out) Debug-Output "<DBG> Combo8Out "$(Combo8Out) Debug-Output "<DBG> ButtonPressed "$(ButtonPressed) FreeLibrary $(hLib) ifstr(i) $(DLGEVENT) == "CONTINUE" ifstr(i) $(Option) == elpc3n set IOBaseAddrIndex = $(Combo1Out) set MemoryAddrIndex = $(Combo2Out) set IRQValueIndex = $(Combo3Out) set MediaTypeIndex = $(Combo4Out) set ModemInterruptNumberIndex = $(Combo6Out) set ComPortIndex = $(Combo7Out) set LANOnlyIndex = $(Combo8Out) set ExitButton = $(ButtonPressed) endif ui pop 1 else-ifstr(i) $(DLGEVENT) == "EXIT" set CommonStatus = STATUS_USERCANCEL ui pop 1 goto end else set CommonStatus = STATUS_USERCANCEL ui pop 1 Debug-Output "<DBG> Action: unknown. Bye." goto end endif skipoptions =+ ifint $(OldVersionExisted) == $(TRUE) ifstr(i) $(!NTN_InstallMode) == configure goto writeparameters endif endif StartWait ifint $(OldVersionExisted) == $(FALSE) ifstr(i) $(!NTN_InstallMode) == "install" Ifstr(i) $(DoCopy) == "YES" Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Else-Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Endif install "Install-Option" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal endif endif Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImage), "kernel", "NDIS", {}, "",+ $(NetEventDLL) Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) set KeyProduct = $($R1) Set SoftNetRulesKey = $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "<DBG> Registry error: add software components" CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) goto fatalregistry endif ; Shradha ifstr $(AdapterNumber) == "" Debug-Output "<DBG> AdpaterNumber unknown !" Debug-Output "<DBG> NTN_RegBase = "$(!NTN_RegBase) set MyAdapterName = $(!NTN_RegBase) Debug-Output "<DBG> MyAdapterName = "$(MyAdapterName) Split-String $(MyAdapterName), "\", MyCardInfo Debug-Output "<DBG> MyCardInfo = "$(MyCardInfo) set AdapterNumber = *($(MyCardInfo),11) Debug-Output "<DBG> AdapterNumber = "$(AdapterNumber) endif ; Shradha set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+ {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+ {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+ {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDesc)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) Debug-Output "<DBG> AddValueList - SoftwareType, MajorVersion,..." ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "<DBG> Registry error: add value list." CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) goto fatalregistry endif set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+ {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(OldOption)}} Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList) Debug-Output "<DBG> AddValueList - type, use, bindform, class, ..." ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "<DBG> Resgitry error: add value list." goto fatalregistry endif endif Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) ifint $($R4) != -1 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)) endif ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "<DBG> Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyParameters = $($R3) set KeyAdapterRules = $($R2) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDesc)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList) Debug-Output "<DBG> AddValueList - Manufacturer, Title, Description,..." ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif CloseRegKey $($R1) set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)"""" set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm) set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+ {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(OldOption)}} Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) Debug-Output "<DBG> AddValueList - type, bindform, class, InfOption" ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "<DBG> Resgitry error: add value list." CloseRegKey $(KeyParameters) CloseRegKey $(KeyAdapterRules) goto fatalregistry endif CloseRegKey $(KeyAdapterRules) goto writeparameters writeparameters = + Shell $(UtilityInf), GetBusTypeNum set BusTypeNum = $($R1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error." goto ShellCodeError endif set BusTypeNum = 1 ifstr(i) $(Option) == elpc3n set MemoryAddrValue = *($(MemoryAddrValues), ~($(MemoryAddrList), $(MemoryAddrIndex))) ;Shradha ;set-add CommonMemoryAddrValue = $(MemoryAddrValue), 8192 ifint $(MemoryAddrValue) != 0 set-add CommonMemoryAddrValue = $(MemoryAddrValue), 8192 else set CommonMemoryAddrValue = 0 endif ;Shradha set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex))) set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList), $(IOBaseAddrIndex))) set MediaTypeValue = *($(MediaTypeValues), ~($(MediaTypeList), $(MediaTypeIndex))) set ComPortValue = *($(ComPortValues), ~($(ComPortList), $(ComPortIndex))) Debug-Output "<DBG> Install/ComPortIndex "$(ComPortIndex) ; Shradha ; check if user selected Auto for Interrupt - if so ; we should write the correct irq for the modem intr ; and write 0 for the network intr. ; set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex))) Debug-Output "<DBG> Install/ModemInterruptNumberValue "$(ModemInterruptNumberValue) ifint $(ModemInterruptNumberValue) == 0 Debug-Output "<DBG> Install/ModemInterruptNumberValue is 0 !" set ModemInterruptNumberValue = *($(ModemIrqValues), ~($(ComPortList),$(ComPortIndex))) Debug-Output "<DBG> Install/ModemInterruptNumberValue "$(ModemInterruptNumberValue) endif ; Shradha set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), ~($(ComPortList), $(ComPortIndex))) Debug-Output "<DBG> Install/ModemIOBaseAddressValue "$(ModemIOBaseAddressValue) set LANOnlyValue = *($(LANOnlyValues), ~($(LANOnlyList), $(LANOnlyIndex))) Debug-Output "<DBG> LanOnlyValue = "$(LANOnlyValue) ;Shradha ifstr $(OldAdapterName) == "" set OldAdapterName = $(ProductHardwareName)$(AdapterNumber) Debug-Output "<DBG> setting OldAdapterName" endif Debug-Output "<DBG> OldAdapterName = "$(OldAdapterName) ;Shradha set NewValueList = {{IoBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ {IoLength, $(NoTitle),$(!REG_VT_DWORD), 16},+ {IoBaseAddress_1, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+ {IoLength_1, $(NoTitle),$(!REG_VT_DWORD), 8},+ {PCCARDAttributeMemoryAddress, $(NoTitle),$(!REG_VT_DWORD),$(MemoryAddrValue)},+ {PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),8192},+ {PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+ {MemoryMappedBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(CommonMemoryAddrValue)},+ {MemoryMappedSize, $(NoTitle),$(!REG_VT_DWORD),4096},+ {PCCARDMemoryWindowOffset, $(NoTitle),$(!REG_VT_DWORD),0},+ {Transceiver, $(NoTitle),$(!REG_VT_DWORD),$(MediaTypeValue)},+ {ModemIOBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+ {ModemInterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(ModemInterruptNumberValue)},+ {InterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+ {ComPort, $(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+ {LANOnly, $(NoTitle),$(!REG_VT_DWORD),$(LANOnlyValue)},+ {InternalCTRL, $(NoTitle),$(!REG_VT_DWORD),1310722},+ {BusType, $(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+ {BusNumber, $(NoTitle),$(!REG_VT_DWORD),0},+ {CardType, $(NoTitle),$(!REG_VT_DWORD),3},+ ; Shradha {SoftexPcmcia, $(NoTitle),$(!REG_VT_DWORD),1},+ {AdapterName,$(NoTitle),$(!REG_VT_SZ),$(OldAdapterName)},+ ;{Pcmcia, $(NoTitle),$(!REG_VT_DWORD),1},+ ; Shradha {OSType, $(NoTitle), $(!REG_VT_DWORD),1},+ {MediaType, $(NoTitle), $(!REG_VT_DWORD),1},+ {AdapterType, $(NoTitle), $(!REG_VT_DWORD), $(AdapterTypeValue)}} endif Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) Debug-Output "<DBG> AddValueList - IoBaseAddress,..." CloseRegKey $(KeyParameters) ifstr(i) $(Option) == elpc3n OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle Ifstr $(MyPcmciaHandle) == $(KeyNull) Debug-Output "<DBG> CreateRegKey (3C562)" OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey CreateRegKey $(MyPcmciaKey) {"3C562",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle CloseRegKey $(MyPcmciaKey) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle endif set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}} Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList) Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n" CloseRegKey $(MyPcmciaHandle) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle Ifstr $(MyPcmciaHandle) == $(KeyNull) Debug-Output "<DBG> CreateRegKey (3C562B/3C563B)" OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey CreateRegKey $(MyPcmciaKey) {"3C562B/3C563B",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle CloseRegKey $(MyPcmciaKey) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle endif set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}} Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList) Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n" CloseRegKey $(MyPcmciaHandle) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle Ifstr $(MyPcmciaHandle) == $(KeyNull) Debug-Output "<DBG> CreateRegKey (3C562C/3C563C)" OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey CreateRegKey $(MyPcmciaKey) {"3C562C/3C563C",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle CloseRegKey $(MyPcmciaKey) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle endif set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}} Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList) Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n" CloseRegKey $(MyPcmciaHandle) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562D/3C563D" $(MAXIMUM_ALLOWED) MyPcmciaHandle Ifstr $(MyPcmciaHandle) == $(KeyNull) Debug-Output "<DBG> CreateRegKey (3C562D/3C563D)" OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey CreateRegKey $(MyPcmciaKey) {"3C562D/3C563D",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle CloseRegKey $(MyPcmciaKey) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562D/3C563D" $(MAXIMUM_ALLOWED) MyPcmciaHandle endif set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3n"}} Shell $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList) Debug-Output "<DBG> AddValueList - Driver:REG_SZ:elpc3n" CloseRegKey $(MyPcmciaHandle) endif ;*************************************************************** Debug-Output "<DBG> Checking if COM port needs to be added ...." ;*************************************************************** ifstr $(AdapterNumber) == "" Debug-Output "<DBG> AdpaterNumber unknown !" Debug-Output "<DBG> NTN_RegBase = "$(!NTN_RegBase) set MyAdapterName = $(!NTN_RegBase) Debug-Output "<DBG> MyAdapterName = "$(MyAdapterName) Split-String $(MyAdapterName), "\", MyCardInfo Debug-Output "<DBG> MyCardInfo = "$(MyCardInfo) set AdapterNumber = *($(MyCardInfo),11) Debug-Output "<DBG> AdapterNumber = "$(AdapterNumber) endif set ComPortName = $(ComPortPrefix)$(AdapterNumber) Debug-Output "<DBG> ComPortName = "$(ComPortName) ;*************************************************************** ifcontains(i) $(Option) in {"elpc3n", "ELPC3"} Debug-Output "<DBG> LANOnly mode = "$(LANOnlyValue) ifint $(LANOnlyValue) == 0 Debug-Output "<DBG> Deleting old "$(ComPortName) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) MyNewSerialHandle DeleteRegTree $(MyNewSerialHandle) $(ComPortName) CloseRegKey $(MyNewSerialHandle) Debug-Output "<DBG> Adding the COM port "$(ComPortName) ;OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\$(ComPortName)" $(MAXIMUM_ALLOWED) MyNewSerialHandle ;Ifstr $(MyNewSerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {$(ComPortName),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle CloseRegKey $(SerialKey) ;endif ;Shradha Debug-Output "<DBG> ComPortIndex "$(ComPortIndex) Debug-Output "<DBG> ModemInterruptNumberValue "$(ModemInterruptNumberValue) ifint $(ModemInterruptNumberValue) == 0 Debug-Output "<DBG> ModemInterruptNumberValue is 0 !" set ModemInterruptNumberValue = *($(ModemIrqValues), ~($(ComPortList),$(ComPortIndex))) Debug-Output "<DBG> ModemInterruptNumberValue "$(ModemInterruptNumberValue) endif ; Shradha set NewValueList = {+ {DosDevices, $(NoTitle),$(!REG_VT_SZ), "COM"$(ComPortValue)},+ {ForceFifoEnable, $(NoTitle), $(!REG_VT_DWORD), 0},+ {ExternallyConfiguredModem, $(NoTitle), $(!REG_VT_DWORD), 1},+ ; Always true {Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(ModemInterruptNumberValue)},+ {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ModemIOBaseAddressValue)}} Shell $(UtilityInf), AddValueList, $(MyNewSerialHandle), $(NewValueList) Debug-Output "<DBG> AddValueList - DosDevices, ForceFifiEnable,..." CloseRegKey $(MyNewSerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) MyNewSerialHandle Ifstr $(MyNewSerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(MyNewSerialHandle) {$(ComPortName),$(NoTitle),$(!REG_VT_SZ),"COM"$(ComPortValue)} CloseRegKey $(MyNewSerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) MyNewSerialHandle Ifstr $(MyNewSerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(MyNewSerialHandle) {"COM"$(ComPortValue)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"} CloseRegKey $(MyNewSerialHandle) else Debug-Output "<DBG> LanONLY mode - Deleting the COM port ...." OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) $(ComPortName) CloseRegKey $(SerialHandle) endif endif ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "<DBG> Registry error: Add value list" goto fatalregistry endif EndWait goto successful bindingadapter =+ set Error = "Binding: Sorry, not yet implemented." goto fatal removeadapter = + Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif else Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif ;Shradha ;*************************************************************** ; Remove associated Com port ;*************************************************************** Debug-Output "<DBG> Starting removal of COM PORT .... " Debug-Output "<DBG> !NTN_RegBase = "$(!NTN_RegBase) Debug-Output "<DBG> Manufacturer = "$(Manufacturer) Debug-Output "<DBG> ProductKeyName = "$(ProductKeyName) Debug-Output "<DBG> ProductSoftwareName = "$(ProductSoftwareName) set AdapterName = $(!NTN_RegBase) Split-String $(AdapterName), "\", CardInfo Debug-Output "<DBG> CardInfo = "$(CardInfo) set AdapterNumber = *($(CardInfo),11) set ComPortName = $(ComPortPrefix)$(AdapterNumber) Debug-Output "<DBG> ComPortName = "$(ComPortName) Debug-Output "<DBG> AdapterNumber = "$(AdapterNumber) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) $(ComPortName) CloseRegKey $(SerialHandle) ;Shradha endif goto end UpgradeSoftware = + ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) GetRegValue $(KeyProduct),"MajorVersion", VersionInfo set Version = *($(VersionInfo), 4) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set !UG_Filename = $($R0) ifstr(i) $(!UG_Filename) != "" install "Install-Update" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif endif SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} ifint $(Version) != $(ProductVersion) endif CloseRegKey $(KeyProduct) else goto fatalregistry endif else OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) + $(MAXIMUM_ALLOWED) NetworkCardKey Ifstr(i) $(NetworkCardKey) != $(KeyNull) GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo set ServiceName = *($(ServiceNameInfo), 4) OpenRegKey $(NetworkCardKey) "" "NetRules" + $(MAXIMUM_ALLOWED) NetRuleKey Ifstr(i) $(NetRuleKey) != $(KeyNull) else goto fatalregistry endif CloseRegKey $(NetRules) CloseRegKey $(NetworkCardKey) else goto fatalregistry endif OpenRegKey $(!REG_H_LOCAL) "" + $(!NTN_ServiceBase)"\"$(ServiceName) + $(MAXIMUM_ALLOWED) ServiceKey Ifstr(i) $(ServiceKey) != $(KeyNull) CloseRegKey $(ServiceKey) else goto fatalregistry endif endif goto end successful = + goto end abandon = + ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif EndForListDo Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), FALSE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end warning = + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(to) else-ifstr(i) $($R1) == "CANCEL" goto $(from) else goto "end" endif nonfatalinfo = + Set Severity = STATUS Set CommonStatus = STATUS_USERCANCEL goto nonfatalmsg nonfatal = + Set Severity = NONFATAL goto nonfatalmsg nonfatalmsg = + ifstr(i) $(Error) == "" Set Severity = NONFATAL Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) == "OK" goto $(from) else goto "end" endif fatalregistry = + Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal fataldetect = + Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "<DBG> ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) Goto fatal fatal = + ifstr(i) $(Error) == "" Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) endif Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif goto setfailed ShellCodeError = + set DlgType = "MessageBox" set STF_MB_TITLE = $(ShellCodeErrorTitle) set STF_MB_TEXT = $(ShellCodeErrorText) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ui start "Error Message" goto setfailed setfailed = + set CommonStatus = STATUS_FAILED ifstr(i) $(OEM_ABANDON_ON) == TRUE set OEM_ABANDON_ON = FALSE goto abandon endif goto end end = + goto term term = + Return $(CommonStatus) [DebugConfiguration] Set InfName = "OEMSETNT.INF" Debug-Output $(InfName)"<DBG> **CONFIGURATION STATE: "$($0) Debug-Output $(InfName)"<DBG> IRQ_Level is "$(!p:IRQ_Level) Debug-Output $(InfName)"<DBG> IOBaseAddrValue is "$(!p:IOBaseAddrValue) Debug-Output $(InfName)"<DBG> TransceiverValue is "$(!p:TransceiverValue) Debug-Output $(InfName)"<DBG> MemoryAddr is "$(!p:MemoryAddr) Debug-Output $(InfName)"<DBG> MappedValue is "$(!p:MappedValue) return [Install-Option] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif Exit [Install-Update] set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Install-Dll] set STF_VITAL = "" AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Source Media Descriptions] 1 = "EtherLink III Lan+Modem PC Card EtherDisk for NT" [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 [Files-Inf] 1, OEMSETNT.INF, SIZE=43500, RENAME=$(!UG_Filename) [Files-Dll] 1, elpc3n.DLL, SIZE=100000 [Files-elpc3n] 1, elpc3ns.SYS, SIZE=50000 [LanguagesSupported] ENG [AllFileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT Networking is not correctly installed. "+ "Are you sure you want to cancel copying files?" ProCancelCap = "Network Setup Message" ProText1 = "Copying:" ProText2 = "To:" DialogDllName = "elpc3n.DLL" [FileConstantsENG-elpc3n] FunctionTitle = "EtherLink III LAN+Modem PC Card"$(GenericInfVersion) ProductSoftwareTitle = $(GenericDriverName) ProductHardwareTitle = $(GenericAdapterName) IRQList = ^(IRQChoices, 1) IRQValues = ^(IRQChoices, 2) IOBaseAddrList = ^(IOBaseChoices, 1) IOBaseAddrValues = ^(IOBaseChoices, 2) MemoryAddrList = ^(MemoryAddrChoices,1) MemoryAddrValues = ^(MemoryAddrChoices,2) MediaTypeList = ^(MediaTypeChoices, 1) MediaTypeValues = ^(MediaTypeChoices, 2) ComPortList = ^(ComPortChoices, 1) ComPortValues = ^(ComPortChoices, 2) LANOnlyList = ^(LANOnlyChoices, 1) LANOnlyValues = ^(LANOnlyChoices, 2) ModemIOBaseAddressList = ^(ModemIOBaseChoices,1) ModemIOBaseAddressValues = ^(ModemIOBaseChoices,2) ;Shradha ModemIrqList = ^(ModemIrqChoices,1) ModemIrqValues = ^(ModemIrqChoices,2) ;Shradha [DialogConstantsENG-elpc3n] Help = "Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" [FileDependentDlgENG-elpc3n] DlgType = "RadioCombination" DlgTemplate = "elpc3n" Caption = $(FunctionTitle) HelpContext = $(!IDH_DB_OEMNADE2_INS) CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO, NO, NO} Combo1Label = "I/O Port Address:" Combo2Label = "Memory Address:" Combo3Label = "Network Interrupt:" Combo4Label = "Media Type:" Combo5Label = "Modem Port Address:" Combo6Label = "Modem Interrupt:" Combo7Label = "Com Port:" Combo8Label = "LANOnly Mode:" Combo1List = $(IOBaseAddrList) Combo1Out = $(IOBaseAddrValue) Combo2List = $(MemoryAddrList) Combo2Out = $(MemoryAddrValue) Combo3List = $(IRQList) Combo3Out = $(IRQValue) Combo4List = $(MediaTypeList) Combo4Out = $(MediaTypeValue) Combo5List = $(ModemIOBaseAddressList) Combo5Out = $(ModemIOBaseAddressValue) Combo6List = $(IRQList) Combo6Out = $(ModemInterruptNumberValue) Combo7List = $(ComPortList) Combo7Out = $(ComPortValue) Combo8List = $(LANOnlyList) Combo8Out = $(LANOnlyValue) ComboListItemsIn = {Combo1List,Combo2List,Combo3List,Combo4List,Combo5List,Combo6List,Combo7List,Combo8List} ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out,Combo4Out,Combo5Out,Combo6Out,Combo7Out,Combo8Out} EditTextIn = {"",""} EditTextLim = {"",""} [MemoryAddrChoices] ;Shradha MA_0 = "Auto", 0 ;Shradha MA_1 = "0xC8000", 819200 MA_2 = "0xC9000", 823296 MA_3 = "0xCA000", 827392 MA_4 = "0xCB000", 831488 MA_5 = "0xCC000", 835584 MA_6 = "0xCD000", 839680 MA_7 = "0xCE000", 843776 MA_8 = "0xCF000", 847872 MA_9 = "0xD0000", 851968 MA_10 = "0xD1000", 856064 MA_11 = "0xD2000", 860160 MA_12 = "0xD3000", 864256 MA_13 = "0xD4000", 868352 MA_14 = "0xD5000", 872448 MA_15 = "0xD6000", 876544 MA_16 = "0xD7000", 880640 MA_17 = "0xD8000", 884736 MA_18 = "0xD9000", 888832 MA_19 = "0xDA000", 892928 MA_20 = "0xDB000", 897024 MA_21 = "0xDC000", 901120 MA_22 = "0xDD000", 905216 MA_23 = "0xDE000", 909312 MA_24 = "0xDF000", 913408 MA_25 = "0xE0000", 917504 MA_26 = "0xE1000", 921600 MA_27 = "0xE2000", 925696 MA_28 = "0xE3000", 929792 MA_29 = "0xE4000", 933888 MA_30 = "0xE5000", 937984 MA_31 = "0xE6000", 942080 MA_32 = "0xE7000", 946176 MA_33 = "0xE8000", 950272 MA_34 = "0xE9000", 954368 MA_35 = "0xEA000", 958464 MA_36 = "0xEB000", 962560 MA_37 = "0xEC000", 966656 MA_38 = "0xED000", 970752 MA_39 = "0xEE000", 974848 MA_40 = "0xEF000", 978944 [IRQChoices] ;Shradha IRQ_0 = "Auto",0 ;Shradha IRQ_1 = "3",3 IRQ_2 = "4",4 IRQ_3 = "5",5 IRQ_4 = "7",7 IRQ_5 = "9",9 IRQ_6 = "10",10 IRQ_7 = "11",11 IRQ_8 = "15",15 ;Shradha [ModemIrqChoices] MdmIrq_1 = "4",4 MdmIrq_2 = "3",3 MdmIrq_3 = "4",4 MdmIrq_4 = "3",3 ;Shradha [ModemIOBaseChoices] MdmIOBase_1 = "0x3F8",1016 MdmIOBase_2 = "0x2F8",760 MdmIOBase_3 = "0x3E8",1000 MdmIOBase_4 = "0x2E8",744 [ComPortChoices] CP_1 = "COM1", 1 CP_2 = "COM2", 2 CP_3 = "COM3", 3 CP_4 = "COM4", 4 [LANOnlyChoices] MS_1 = "Disabled", 0 MS_2 = "Enabled", 1 [IOBaseChoices] ;Shradha IOBase_0 = "Auto",0 ;Shradha IOBase_1 = "0x200",512 IOBase_2 = "0x210",528 IOBase_3 = "0x220",544 IOBase_4 = "0x230",560 IOBase_5 = "0x240",576 IOBase_6 = "0x250",592 IOBase_7 = "0x260",608 IOBase_8 = "0x270",624 IOBase_9 = "0x280",640 IOBase_10 = "0x290",656 IOBase_11 = "0x2A0",672 IOBase_12 = "0x2B0",698 IOBase_13 = "0x2C0",714 IOBase_14 = "0x2D0",730 IOBase_15 = "0x2E0",746 IOBase_16 = "0x2F0",752 IOBase_17 = "0x300",768 IOBase_18 = "0x310",784 IOBase_19 = "0x320",800 IOBase_20 = "0x330",816 IOBase_21 = "0x340",832 IOBase_22 = "0x350",848 IOBase_23 = "0x360",864 IOBase_24 = "0x370",880 IOBase_25 = "0x380",896 IOBase_26 = "0x390",912 IOBase_27 = "0x3A0",928 IOBase_28 = "0x3B0",944 IOBase_29 = "0x3C0",960 IOBase_30 = "0x3D0",976 [MediaTypeChoices] MT_1 = "TP (10BaseT)", 0 MT_2 = "COAX (10Base2)", 1 ; -------------------------- BEGIN FORCE FIX - SHRADHA [install-update-modem-info] OpenRegKey $(!REG_H_LOCAL) "" $(ZZZComPort) $(MAXIMUM_ALLOWED) + ZZZHandle ifstr $(ZZZHandle) == $(KeyNull) Debug-Output "<DBG: FORCE> OpenRegKey "$(ZZZComPort)" failed" goto done_update_modem_info endif Debug-Output "<DBG: FORCE> GetRegValue DosDevices" GetRegValue $(ZZZHandle) "DosDevices" DosDevicesValue set DosDevicesValueType = *($(DosDevicesValue), 3) set DosDevicesValueData = *($(DosDevicesValue), 4) ifint $(DosDevicesValueType) != $(!REG_VT_SZ) Debug-Output + "<DBG: FORCE> Bad DosDevices "$(ZZZComPort)" "$(DosDevicesValue) goto done_update_modem_info endif GetRegValue $(ZZZHandle) "PortAddress" PortAddressValue set PortAddressValueType = *($(PortAddressValue), 3) set PortAddressValueData = *($(PortAddressValue), 4) ifint $(PortAddressValueType) != $(!REG_VT_DWORD) Debug-Output + "<DBG: FORCE> Bad PortAddress "$(ZZZComPort)" "$(PortAddressValue) goto done_update_modem_info endif GetRegValue $(ZZZHandle) "Interrupt" InterruptValue set InterruptValueType = *($(InterruptValue), 3) set InterruptValueData = *($(InterruptValue), 4) ifint $(InterruptValueType) != $(!REG_VT_DWORD) Debug-Output + "<DBG: FORCE> Bad Interrupt "$(ZZZComPort)" "$(InterruptValue) goto done_update_modem_info endif ; now update the correct modem info Debug-Output + "<DBG: FORCE> "$(DosDevicesValueData)": iobase = "$(PortAddressValueData)", irq = "$(InterruptValueData) ifstr(i) $(DosDevicesValueData) == "COM1" set comNumber = 1 else-ifstr(i) $(DosDevicesValueData) == "COM2" set comNumber = 2 else-ifstr(i) $(DosDevicesValueData) == "COM3" set comNumber = 3 else-ifstr(i) $(DosDevicesValueData) == "COM4" set comNumber = 4 else goto done_update_modem_info endif set-dectohex PortAddressValueDataHex = $(PortAddressValueData) set-dectohex InterruptValueDataHex = $(InterruptValueData) Debug-Output + "<DBG: FORCE> PortAddressValueDataHex = "$(PortAddressValueData) Debug-Output + "<DBG: FORCE> InterruptValueDataHex = "$(InterruptValueData) ; ; Change ModemIOBaseAddressValues ; set oldList = $(ModemIOBaseAddressValues) set itemNumberToReplace = $(comNumber) set newData = $(PortAddressValueData) set return_addr = replace_modem_io_base goto replace_list_item replace_modem_io_base = + set ModemIOBaseAddressValues = $(newList) ; ; Change ModemIOBaseAddressList ; set oldList = $(ModemIOBaseAddressList) set itemNumberToReplace = $(comNumber) set newData = $(PortAddressValueDataHex) set return_addr = replace_modem_io_base_list goto replace_list_item replace_modem_io_base_list = + set ModemIOBaseAddressList = $(newList) ; ; Change ModemIrqValues ; set oldList = $(ModemIrqValues) set itemNumberToReplace = $(comNumber) set newData = $(InterruptValueData) set return_addr = replace_modem_irq goto replace_list_item replace_modem_irq = + set ModemIrqValues = $(newList) ; ; Change ModemIrqList ; set oldList = $(ModemIrqList) set itemNumberToReplace = $(comNumber) set newData = $(InterruptValueDataHex) set return_addr = replace_modem_irq_list goto replace_list_item replace_modem_irq_list = + set ModemIrqList = $(newList) done_update_modem_info = + ifstr $(ZZZHandle) != $(KeyNull) CloseRegKey $(ZZZHandle) endif exit replace_list_item = + ; ; INPUT: needs the following variables to be initialized ; - oldList ; - itemNumberToReplace ; - newData ; - return_addr (i.e. label to jump back to) ; OUTPUT: returns with the newList initialized ; ;Debug-Output "<DBG: FORCE> Replacing item number "$(itemNumberToReplace)" in the list "$(oldList)" with the data "$(newData) set newList = {} ForListDo $(oldList) ifint $(#) == $(itemNumberToReplace) set newList = >($(newList), $(newData)) else set newList = >($(newList), $($)) endif EndForListDo goto $(return_addr) ;-------------------------- END FORCE FIX - SHRADHADownload Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.