;************************************************************************* ; ; Installation file for the 3Com HomeConnect ADSL PCI Modem ; ; Model Number 3CP3617 ; ; Copyright 1999 3Com Corporation ;************************************************************************* [Identification] OptionType = NetAdapter [PlatformsSupported] PCI [Options] USRPCIAWR [FileConstants] InfName = "OEMCOBRA.INF" 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" ProductMajorVersion = "1" ProductMinorVersion = "1" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "USRPCIAWR" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\3CPAWR40.SYS" DsHelperExe = %SystemRoot%\System32\drivers\DsHelper.exe -M NetRuleSoftwareType = "PCIALRSys USRPCIAWRDriver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """USRPCIAWRSys"" yes no container" NetRuleSoftwareClass = {"USRPCIAWRDriver basic"} NetRuleSoftwareBindable = {"USRPCIAWRDriver USRPCIAWRAdapter non exclusive 100"} ProductHardwareName = "USRPCIAWR" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareType = "USRPCIAWR USRPCIAWRAdapter" NetRuleHardwareClass = {"USRPCIAWRAdapter basic"} BindableUSRPCIAWRTxt = {"USRPCIAWRDriver USRPCIAWRAdapter non exclusive 100"} TapiDeviceKey = $(ProductHardwareName) TapiMediaType = "ISDN" ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+ $(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)+ "\Parameters" NetworkCardsKey = $(!NTN_SoftwareBase)+ "\Microsoft\Windows NT\CurrentVersion\NetworkCards\" ProductReview = "1" FunctionTitle = "3Com ADSL PCI Modem Dialup/PPP Setup" ProductSoftwareDescription = "3Com ADSL PCI Modem Dialup/PPP Driver" ProductSoftwareTitle = "3Com ADSL PCI Modem Dialup/PPP Driver" FunctionTitleUSRPCIAWR = "3Com ADSL PCI Modem Dialup/PPP Setup" ProductHardwareUSRPCIAWRDescription = "3Com ADSL PCI Modem Dialup/PPP" ProductHardwareUSRPCIAWRTitle = "3Com ADSL PCI Modem Dialup/PPP" ProductHardwareXXXXXDescription = "3Com ADSL PCI Modem Dialup/PPP" CFIDList = {0x0003} ; FIXME - default to dialup line mode = 1 -- leased line = 0 ; In dialup mode we need to write the parameters so RAS/TAPI will bind to us ; In leased mode we need to twrite the parameters so NDIS/WAN will bind to us ; Right now this file only supports dialup mode - leased line changes are needed ; LineType = 1 ; FIXME - Set to zero before release DebugFlags = 3 [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\ NT350VersionConstant = "3.50" NT310VersionConstant = "3.10" NT400VersionConstant = "(4.0)" INF_PROCESSER = "I386" DefaultAlcInitImage = "Init141.bin" DefaultAlcMainImage = "1_4_1.bin" DefaultAlcMainImage2 = "1_4_1_2.bin" DefaultAlcMainImage3 = "1_4_1_3.bin" DefaultAlcMainImage4 = "1_4_1_4.bin" DefaultAlcMainImage5 = "1_4_1_5.bin" ConfigCnt = "1" ;For Korea- Ignore the telephone Number(VCI) ;entered by the user in Dial-up networking IgnorePhoneNumber = "1" Name1 = "MyISP" SVCAddress1 = "NONE" VPI1 = "0" VCI1 = "67" Protocol1 = "1" BT1 = "0" QOS1 = "1" PCR1 = "0" SCR1 = "0" VCType1 = "1" Name2 = "OAM1" SVCAddress2 = "OAM1-NOOP" VPI2 = "0" VCI2 = "3" Protocol2 = "1" BT2 = "0" QOS2 = "1" PCR2 = "100" SCR2 = "0" VCType2 = "1" Name3 = "OAM2" SVCAddress3 = "OAM2-NOOP" VPI3 = "0" VCI3 = "4" Protocol3 = "1" BT3 = "0" QOS3 = "1" PCR3 = "100" SCR3 = "0" VCType3 = "1" [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 CurrLang = $($0) set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Set !DebugOutputControl = 1 Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif ; ; FIXME - make sure this flag is disabled before shipping ; set OldDebugControl = $(!DebugOutputControl) set !DebugOutputControl = 1 Set-Subst LF = "\n" Read-Syms GeneralConstants Read-Syms FileConstants Read-Syms DialogConstants$(!STF_LANGUAGE) ifstr(i) $(!NTN_Origination) == "NCPA" set Continue = "OK" endif read-syms FileConstants$(!STF_LANGUAGE) detect date set-title $(FunctionTitle) set to = Begin set from = Begin set CommonStatus = STATUS_SUCCESSFUL EndWait ;*********************************************************************** ; ;*********************************************************************** Begin = + set CurrentVersionValue = "" OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt Ifstr(i) $(KeyNt) != "" GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue Debug-Output "$(InfFile) : WinNT CurrentVersion ="$(CurrentVersionValue) CloseRegKey $(KeyNt) Endif ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) Debug-Output "$(InfFile) : Configureadapter" set Error = "Windows NT v3.10 is not support by this product" goto fatal endif 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 ;;May set StartLabel = configureadapter else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif set from = $(fatal) set to = $(fatal) goto $(StartLabel) ;*********************************************************************** ; ;*********************************************************************** installadapter = + Debug-Output "$(InfFile) : Installadapter" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_READ) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error: cannot get an error string." goto ShellCodeError endif goto end else set OldVersionExisted = $(TRUE) endif Endif ;DCC DCC DCC Debug-Output "xxxxyyy Possible location for TAPI oriented stuff." ;DCC DCC DCC Goto adapteroptions ;*********************************************************************** ; ;*********************************************************************** configureadapter = + Debug-Output "$(InfFile) : Configureadapter" ;;May RunProgram DsExitCode "" "" $(!STF_WINDOWSSYSPATH)"\drivers\vccfg.exe" goto end ;*********************************************************************** ; ;*********************************************************************** adapteroptions = + Debug-Output "$(InfFile) : Adapteroptions" set from = adapteroptions ifstr(i) $(!NTN_InstallMode) == configure goto updateparameters endif ;*********************************************************************** ; ;*********************************************************************** installproduct =+ Debug-Output "$(InfFile) : installproduct" StartWait set AdapterList = $($R1) ifint $(OldVersionExisted) == $(FALSE) Ifstr(i) $(DoCopy) == "YES" 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 Endif endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt CloseRegKey $(KeyNt) Ifstr(i) $(KeyNt) == "" Debug-Output "$(InfFile) : AddSoftwareComponent" Debug-Output "$(InfFile) : --> $(Manufacturer)" Debug-Output "$(InfFile) : --> $(ProductSoftwareName)" Debug-Output "$(InfFile) : --> $(ProductSoftwareTitle)" Debug-Output "$(InfFile) : --> $(STF_CONTEXTINFNAME)" Debug-Output "$(InfFile) : --> $(ProductSoftwareImagePath)" Debug-Output "$(InfFile) : --> $(NetEventDLL)" Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernelautostart", "NDIS", {}, "",+ ; $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL) Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) goto fatalregistry endif Set SoftProductKey = $($R1) Set SoftNetRuleKey = $($R2) Set SoftServiceKey = $($R3) Set SoftParameterKey = $($R4) Set SoftLinkageKey = $($R5) 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),$(ProductSoftwareDescription)},+ {Review,$(NoTitle),$(!REG_VT_DWORD),$(ProductReview)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) 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),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(SoftProductKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) 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),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) CloseRegKey $(SoftNetRuleKey) Debug-Output "$(InfFile) : Added CloseRegKey for SoftNetRuleKey" goto ShellCodeError endif Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $(SoftNetRuleKey) Debug-Output "$(InfFile) : Added CloseRegKey for SoftNetRuleKey" goto fatalregistry endif endif CloseRegKey $(SoftNetRuleKey) Debug-Output "$(InfFile) : Added CloseRegKey for SoftNetRuleKey" Debug-Output "$(InfFile) : " Debug-Output "$(InfFile) : About to look for 3Com PCI Cards" set TargetVersion = *($(CurrentVersionValue),4) Debug-Output "$(InfFile) : Current Version:"$(TargetVersion) ifstr $(TargetVersion) == $(NT350VersionConstant) Debug-Output "Running on WindowsNT 3.50" set Version350 = $(TRUE) else Debug-Output "Running on WindowsNT 3.51 or higher" set Version350 = $(FALSE) endif ifint $(Version350) == $(TRUE) Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!" ifstr $(!STF_GUI_UNATTENDED) == "YES" Debug-Output "$(InfFile) : Running in GUI unattended mode" ifstr(i) $(!AutoNetInterfaceType) != "" set BusInterfaceType = $(!AutoNetInterfaceType) else set BusInterfaceType = 5 endif ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = 0 endif set NTDetected = $(FALSE) set AdapterList = {{$(Option),0, XXXXX}} Debug-Output "$(InfFile) : BusInterfaceType = $(BusInterfaceType)" Debug-Output "$(InfFile) : BusNumber = $(BusNumber)" else Debug-Output "$(InfFile) : Running 3.50 Bus Dialog" set BusInterfaceType = 5 set BusNumber = 0 set NTDetected = $(FALSE) Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareXXXXXDescription) $(BusInterfaceType) $(BusNumber) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif set BusInterfaceType = $($R1) set BusNumber = $($R2) set AdapterList = {{$(Option),0, XXXXX}} Debug-Output "$(InfFile) : BusInterfaceType = $(BusInterfaceType)" Debug-Output "$(InfFile) : BusNumber = $(BusNumber)" endif else Debug-Output "$(InfFile) : Running 3.51 or higher using PCI Dectection" set NTDetected = $(TRUE) set Vendor = 4381 set CFIDList = $(CFIDList) Debug-Output "$(InfFile) : VendorID = $(Vendor)" Debug-Output "$(InfFile) : CFIDList = $(CFIDList)" set AdapterList = {} ForListDo $(CFIDList) set-div CFID = $($) 1 set DeviceID = $($) Debug-Output "Option=$(Option)" set CFID = 3 Debug-Output "Vendor = $(Vendor), CFID = $(CFID), DeviceID = $(Option)" Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ForListDo $($R0) set AdapterList = >($(AdapterList), {*($($),1), *($($),2), $(Option)}) EndForListDo EndForListDo ifstr(i) $(AdapterList) == {} set Error = $(CANNOT_FIND_ANY_CARD) set CommonStatus = USER_CANCEL set from = end goto nonfatal endif endif Debug-Output "AdapterList = $(AdapterList)" Debug-Output "$(InfFile) : Adapterlist = $(AdatperList)" ForListDo $(AdapterList) Set InstallCard = "YES" ifint $(NTDetected) == $(TRUE) set DetectedBusNum = *($($),1) set DetectedSlotNum = *($($),2) set DeviceID = *($($),3) Debug-Output "$(InfFile) : DetectedBusNumber = $(DetectedBusNum)" Debug-Output "$(InfFile) : DetectedSlotNum = $(DetectedSlotNum)" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), + $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) == "YES" set InstallCard = "NO" endif endif ifstr(i) $(InstallCard) == "NO" Debug-Output "$(InfFile) : Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!" set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!" Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif else Debug-Output "$(InfFile) : Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!" 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) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif Set HardNetCardKey = $($R1) Set HardNetRuleKey = $($R2) Set HardParameterKey = $($R3) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif Debug-Output "$(InfFile) : --> $(Manufacturer)" Debug-Output "$(InfFile) : --> $(ProductSoftwareName)" Debug-Output "$(InfFile) : --> $(ProductSoftwareTitle)" Debug-Output "$(InfFile) : --> $(STF_CONTEXTINFNAME)" Debug-Output "$(InfFile) : --> $(ProductSoftwareImagePath)" Debug-Output "$(InfFile) : --> $(NetEventDLL)" set BusTypeNum = 5 ifstr(i) $(DeviceID) == "0x0003" set CardType = 0 endif ifint $(NTDetected) == $(TRUE) set BusNumber = $(DetectedBusNum) set SlotNum = $(DetectedSlotNum) set BusInterfaceType = $(BusTypeNum) set WakeOnLan = YES set WakeOnLink = NO set FlowControl = YES Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)" set NewValueList = {+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+ {WakeOnMagic,$(NoTitle),$(!REG_VT_SZ),$(WakeOnLan)},+ {WakeOnLink,$(NoTitle),$(!REG_VT_SZ),$(WakeOnLink)},+ {FlowControl,$(NoTitle),$(!REG_VT_SZ),$(FlowControl)},+ } Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)" Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} } Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)" Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif else Set NewValueList = {+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ } Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)" Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ;;; You need one address entry in the list for each channel on your device. ;;; FIXME - at this point RAS requires there to be one logical line per address ;;; FIXME - so the address (channel) number is ignored and the line number is used Set TapiAddressList = {$(AdapterNumber)"-1-0"} Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-2-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-3-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-4-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-5-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-6-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-7-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-8-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-9-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-10-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-11-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-12-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-13-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-14-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-15-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-16-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-17-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-18-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-19-0") Set TapiAddressList = >($(TapiAddressList),$(AdapterNumber)"-20-0") ;Debug-Output $(InfName): "TapiAddressList"$(TapiAddressLIst) Set NewValueList = {+ {AddressList,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TapiAddressList)},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+ {DeviceName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+ {MediaType,$(NoTitle),$(!REG_VT_SZ),$(TapiMediaType)},+ {LineType,$(NoTitle),$(QREG_VT_DWORD),$(LineType)},+ {AlcInitImage,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcInitImage)},+ {AlcMainImage,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcMainImage)},+ {AlcMainImagePart2,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcMainImage2)},+ {AlcMainImagePart3,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcMainImage3)},+ {AlcMainImagePart4,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcMainImage4)},+ {AlcMainImagePart5,$(NoTitle),$(!REG_VT_SZ),$(DefaultAlcMainImage5)},+ {ConfigCnt,$(NoTitle),$(!REG_VT_DWORD),$(ConfigCnt)},+ {Name1, $(NoTitle),$(!REG_VT_SZ),$(Name1)},+ {SVCAddress1, $(NoTitle),$(!REG_VT_SZ),$(SVCAddress1)},+ {VPI1, $(NoTitle),$(!REG_VT_SZ),$(VPI1)},+ {VCI1, $(NoTitle),$(!REG_VT_SZ),$(VCI1)},+ {Protocol1, $(NoTitle),$(!REG_VT_SZ),$(Protocol1)},+ {BT1, $(NoTitle),$(!REG_VT_SZ),$(BT1)},+ {QOS1, $(NoTitle),$(!REG_VT_SZ),$(QOS1)},+ {PCR1, $(NoTitle),$(!REG_VT_SZ),$(PCR1)},+ {SCR1, $(NoTitle),$(!REG_VT_SZ),$(SCR1)},+ {VCType1, $(NoTitle),$(!REG_VT_SZ),$(VCType1)},+ {Name2, $(NoTitle),$(!REG_VT_SZ),$(Name11)},+ {SVCAddress2, $(NoTitle),$(!REG_VT_SZ),$(SVCAddress2)},+ {VPI2, $(NoTitle),$(!REG_VT_SZ),$(VPI2)},+ {VCI2, $(NoTitle),$(!REG_VT_SZ),$(VCI2)},+ {Protocol2, $(NoTitle),$(!REG_VT_SZ),$(Protocol2)},+ {BT2, $(NoTitle),$(!REG_VT_SZ),$(BT2)},+ {QOS2, $(NoTitle),$(!REG_VT_SZ),$(QOS2)},+ {PCR2, $(NoTitle),$(!REG_VT_SZ),$(PCR2)},+ {SCR2, $(NoTitle),$(!REG_VT_SZ),$(SCR2)},+ {VCType2, $(NoTitle),$(!REG_VT_SZ),$(VCType2)},+ {Name3, $(NoTitle),$(!REG_VT_SZ),$(Name3)},+ {SVCAddress3, $(NoTitle),$(!REG_VT_SZ),$(SVCAddress3)},+ {VPI3, $(NoTitle),$(!REG_VT_SZ),$(VPI3)},+ {VCI3, $(NoTitle),$(!REG_VT_SZ),$(VCI3)},+ {Protocol3, $(NoTitle),$(!REG_VT_SZ),$(Protocol3)},+ {BT3, $(NoTitle),$(!REG_VT_SZ),$(BT3)},+ {QOS3, $(NoTitle),$(!REG_VT_SZ),$(QOS3)},+ {PCR3, $(NoTitle),$(!REG_VT_SZ),$(PCR3)},+ {SCR3, $(NoTitle),$(!REG_VT_SZ),$(SCR3)},+ {VCType3, $(NoTitle),$(!REG_VT_SZ),$(VCType3)},+ } Debug-Output "$(InfFile) : Set HardwareParameterKey = $(NewValueList)" Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif 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),$(Option)}} Debug-Output "$(InfFile) : HardwareRuleKey = $(NewValueList)" Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(HardNetCardKey) CloseRegKey $(HardNetRuleKey) CloseRegKey $(HardParameterKey) endif EndForListDo install "Install-HwSys" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyService Ifstr $(KeyService) != "" SetRegValue $(KeyService) {ImagePath,$(NoTitle),$(!REG_VT_SZ),"\SystemRoot\System32\drivers\3CPAWR40.SYS"} else goto fatalregistry endif CloseRegKey $(KeyService) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EventLog\System\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyEventLog Ifstr $(KeyEventLog) != "" SetRegValue $(KeyEventLog) {EventMessageFile,$(NoTitle),$(!REG_VT_SZ),$(NetEventDLL)} else goto fatalregistry endif ; Set VPI in Registry that the user entered. ; Skip TAPI/RAS setup if already installed. ; IfStr(i) $(!NTN_InstallMode) == configure GoTo successful EndIf ; ; Create the HARDWARE\DEVICEMAP\TAPI DEVICES\USRPCIAWR key ; Debug-Output ">>>>>>>>>>>Create the HARDWARE\DEVICEMAP\TAPI DEVICES\USRPCIAWR key" OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) BaseKey Set TapiKeyName = "TAPI DEVICES\USRPCIAWR" ;----------- added by DCC DCC DC ; If we are installing more than one card at a time, there may already be ; address list data in the TAPI DEVICES\USRPCIAWR Address list. Grab the ; current contents. We'll add our new ones to the current ones. ; OpenRegKey $(!REG_H_LOCAL) "" $(CurrentAddressListKeyName) $(MAXIMUM_ALLOWED) CurrentAddressListHandle ifstr(i) $(CurrentAddressListHandle) != $(KeyNull) GetRegValue $(CurrentAddressListHandle),"Address", CurrentAddressListInfo set CurrentAddressList = *($(CurrentAddressListInfo), 4) Debug-Output " CurrentAddressList = "$(CurrentAddressList) else Debug-Output " No current address list " endif CloseRegKey $(CurrentAddressListHandle) set AddressList = {} ifstr(i) $(CurrentAddressList) != "" ForListDo $(CurrentAddressList) Set ValueItem = $($) Debug-Output $(InfName)": "$(ValueItem)"="$(ValueItem) Set AddressList = >($(AddressList),$(ValueItem)) EndForListDo ForListDo $(TapiAddressList) Set ValueItem = $($) Debug-Output $(InfName)": "$(ValueItem)"="$(ValueItem) Set AddressList = >($(AddressList),$(ValueItem)) EndForListDo else ForListDo $(TapiAddressList) Set ValueItem = $($) Debug-Output $(InfName)": "$(ValueItem)"="$(ValueItem) Set AddressList = >($(AddressList),$(ValueItem)) EndForListDo endif Debug-Output $(InfName)": Final AddressList="$(AddressList) ;-------------- shell "" CobraCreateRegKey $(BaseKey) "TAPI DEVICES\USRPCIAWR" IfStr(i) $($R0) != NO_ERROR Debug-Output $(InfName)": Error creating registry key!" GoTo FatalRegistry EndIf Set TapiDeviceKey = $($R1) Debug-Output $(InfName)": TapiDeviceKey="$(TapiDeviceKey) ;------------- DCC DCC Set NewValueList = {+ {Address,$(NoTitle),$(!REG_VT_MULTI_SZ),$(AddressList)},+ {"Media Type",$(NoTitle),$(!REG_VT_SZ),$(TapiMediaType)}} Shell $(UtilityInf), AddValueList, $(TapiDeviceKey), $(NewValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" GoTo FatalRegistry EndIf CloseRegKey $(TapiDeviceKey) CloseRegKey $(BaseKey) ; ; if RAS is not installed, then shell ras setup INF file to install RAS ; else invoke RAS to allow user to configure RAS for ISDN. ; Debug-Output ">>>>>>>>if RAS is not installed, then shell ras setup INF file to install RAS" Read-Syms InvokeRasDlg$(!STF_LANGUAGE) Shell "oemnsvra.inf" CheckRasInstalled IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf" Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), + "STATUS", $(InvokeRasError) IfInt $($ShellCode) != $(!SHELL_CODE_OK) GoTo ShellCodeError EndIf GoTo successful EndIf Set RasInstalled = $($R0) Debug-Output $(InfName)": Is RAS Installed? "$(RasInstalled) ; ; display a message to the user that RAS setup will now be invoked ; Debug-Output ">>>>>>>display a message to the user that RAS setup will now be invoked" IfStr(i) $(RasInstalled) == FALSE Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", + $(InvokeRasSetupMsg) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Goto successful EndIf Else Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", + $(InvokeRasConfigMsg) IfInt $($ShellCode) != $(!SHELL_CODE_OK) goto successful EndIf EndIf ; ; FIXME - RAS INF wil not locate the files if it is spawned here. ; EndWait goto successful ; ; Set the flags based on whether this is an IDW installation ; IfStr(i) $(!STF_IDW) == TRUE Set AddCopy = NO Set DoCopy = NO Set DoConfig = NO Else Set AddCopy = YES Set DoCopy = YES Set DoConfig = YES EndIf ; ; change the global isntall mode flag to configure if RAS is already installed ; IfStr(i) $(RasInstalled) == TRUE Set SaveNTN_InstallMode = $(!NTN_InstallMode) Set !NTN_InstallMode = configure EndIf ; ; now invoke RAS setup to do the right thing ; Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(RasDir) $(AddCopy) $(DoCopy) $(DoConfig) ; ; restore the global install mode flag if it was changed ; IfStr(i) $(RasInstalled) == TRUE Set !NTN_InstallMode = $(SaveNTN_InstallMode) EndIf IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": Error Shelling the RAS INF file oemnsvra.inf" Shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "STATUS", + $(InvokeRasError) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError EndIf goto successful EndIf CloseRegKey $(KeyEventLog) EndWait goto successful ;*********************************************************************** ; ;*********************************************************************** updateparameters =+ Debug-Output "$(InfFile) : Updateparameters" set HardParameterKey = $($R3) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ;DCC DCC DCC Debug-Output "xxxxyyy another Possible location for TAPI oriented stuff." Debug-Output "Right after this the CloseRegKey $(KeyParameters) takes place." ;DCC DCC DCC CloseRegKey $(KeyParameters) goto successful bindingadapter =+ Debug-Output "$(InfFile) : bindingadapter" Return STATUS_SUCCESSFUL set Error = "Binding: Sorry, not yet implemented." goto fatal removeadapter = + Debug-Output "$(InfFile) : removeadapter" Debug-Output "$(InfFile) : ----> $(ProductKeyName), $(!NTN_RegBase)" Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) 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) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) KeyBase ; ; Check the above key instead of this key. This one does not get removed til reboot ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductSoftwareName) $(!REG_KEY_ALL_ACCESS) KeyBase ; Ifstr $(KeyBase) != "" CloseRegKey $(KeyBase) else set RemoveList = {} set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\3CPAWR40.SYS") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\Init141.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\1_4_1.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\1_4_1_2.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\1_4_1_3.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\1_4_1_4.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\1_4_1_5.bin") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\dshelper.exe") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\dshelper.ini") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\dsdialer.exe") set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DRIVERS\vccfg.exe") Debug-Output "RemoveList = "$(RemoveList) ForListDo $(RemoveList) Debug-Output "Removing "$($) LibraryProcedure Status , $(!LIBHANDLE), DelFile $($) Debug-Output "Status is "$(Status) EndForListDo endif goto end UpgradeSoftware = + Debug-Output "$(InfFile) : UpdateSoftware" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(!REG_KEY_ALL_ACCESS) KeyProduct Ifstr $(KeyProduct) != "" Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set !UG_Filename = $($R0) install "Install-INF" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)} SetRegValue $(KeyProduct) {Review,$(NoTitle),$(!REG_VT_DWORD),$(ProductReview)} CloseRegKey $(KeyProduct) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyService Ifstr $(KeyService) != "" SetRegValue $(KeyService) {ImagePath,$(NoTitle),$(!REG_VT_SZ),"\SystemRoot\System32\drivers\3CPAWR40.SYS"} else goto fatalregistry endif CloseRegKey $(KeyService) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EventLog\System\"$(ProductHardwareName) $(!REG_KEY_ALL_ACCESS) KeyEventLog Ifstr $(KeyEventLog) != "" SetRegValue $(KeyEventLog) {EventMessageFile,$(NoTitle),$(!REG_VT_SZ),$(NetEventDLL)} else goto fatalregistry endif CloseRegKey $(KeyEventLog) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(!REG_KEY_ALL_ACCESS) KeyNt set LoopList = {1,2,3,4,5,6,7,8} set WinNTList = {WinNT,$(NoTitle),$(!REG_VT_SZ),YES} Set NewValueList = {{WakeOnMagic,$(NoTitle),$(!REG_VT_SZ),"YES"},+ {WakeOnLink,$(NoTitle),$(!REG_VT_SZ),"NO"},+ {FlowControl,$(NoTitle),$(!REG_VT_SZ),"YES"}} ForListDo $(LoopList) OpenRegKey $(KeyNt) "" $(ProductHardwareName)$($)"\Parameters" $(!REG_KEY_ALL_ACCESS) TestKey ifstr $(TestKey) != $(KeyNull) Shell $(UtilityInf), AddValueList, $(TestKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardsKey)$($)"\NetRules" $(!REG_KEY_ALL_ACCESS) NetCardKey ifstr $(NetCardKey) != $(KeyNull) SetRegValue $(NetCardKey) {"InfName",$(NoTitle),$(!REG_VT_SZ),$(!UG_Filename)} CloseRegKey $(NetCardKey) endif CloseRegKey $(TestKey) endif EndForListDo else goto fatalregistry endif goto end successful = + Debug-Output "$(InfFile) : Successful" RunProgram DsExitCode "" "" $(!STF_WINDOWSSYSPATH)"\drivers\DsHelper.exe" -M goto end abandon = + Debug-Output "$(InfFile) : Abandon" ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) ifint $($ShellCode) != $(!SHELL_CODE_OK) 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) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end warning = + Debug-Output "$(InfFile) : 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 = + Debug-Output "$(InfFile) : nonfatalinfo" Set CommonStatus = STATUS_USERCANCEL Set Severity = STATUS goto nonfatalmsg nonfatal = + Debug-Output "$(InfFile) : nonfatal" Set Severity = NONFATAL goto nonfatalmsg nonfatalmsg = + Debug-Output "$(InfFile) : 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 "RemoveAdapter" endif fatalregistry = + Debug-Output "$(InfFile) : fatalregistry" Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) goto fatal fatal = + Debug-Output "$(InfFile) : 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 = + ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_INF) Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_NO_SUCH_INF" else-ifint $($ShellCode) == $(!SHELL_CODE_NO_SUCH_SECTION) Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_NO_SUCH_SECTION" else Debug-Output "$(InfFile) : ShellCodeError - SHELL_CODE_ERROR" endif 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 = + Debug-Output "$(InfFile) : 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) [CobraCreateRegKey] Debug-Output $(InfName)": Entering [CobraCreateRegKey]" Set ECR_Result = NO_ERROR Set ECR_BaseKeyHandle = $($0) Set ECR_NewPath = $($1) Set KeyNull = "" Set MAXIMUM_ALLOWED = 33554432 Debug-Output $(InfName)": CobraCreateRegKey - ECR_BaseKeyHandle = "$(ECR_BaseKeyHandle) Debug-Output $(InfName)": ECR_NewPath = "$(ECR_NewPath) Debug-Output $(InfName)": MAXIMUM_ALLOWED = "$(MAXIMUM_ALLOWED) Debug-Output $(InfName)": KeyNull = "$(KeyNull) OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_NewPath) $(MAXIMUM_ALLOWED) + ECR_BaseKey Debug-Output $(InfName)": ECR_BaseKey = "$(ECR_BaseKey) Debug-Output $(InfName)": OpenRegKey returned "$($R0) IfStr $(ECR_BaseKey) == $(KeyNull) Debug-Output $(InfName)": ECR_BaseKey == KeyNull" Else Debug-Output $(InfName)": ECR_BaseKey != KeyNull" Set ECR_KeyHandle = $(ECR_BaseKey) GoTo ECR_Return EndIf Set ECR_TmpPath = "" Split-String $(ECR_NewPath) "\" ECR_PList Debug-Output $(InfName)": ECR_PList = "$(ECR_PList) ForListDo $(ECR_PList) IfStr(i) $($) != "\" IfInt $(#) == 1 Set ECR_TmpPath = $($) Else Set ECR_TmpPath = $(ECR_TmpPath)"\"$($) EndIf Debug-Output $(InfName)": Determining if "$(ECR_TmpPath)" exists" OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_TmpPath) $(MAXIMUM_ALLOWED) ECR_BaseKey IfStr $(ECR_BaseKey) == $(KeyNull) Debug-Output $(InfName)": Creating "$(ECR_TmpPath) CreateRegKey $(ECR_BaseKeyHandle) {$(ECR_TmpPath),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" ECR_KeyHandle IfStr(i) $(ECR_KeyHandle) == $(KeyNull) Set ECR_Result = $($R0) GoTo ECR_Return EndIf EndIf EndIf EndForListDo ECR_Return = + Return $(ECR_Result) $(ECR_KeyHandle) [InvokeRasDlgENG] InvokeRasSetupMsg = "3Com ADSL ¸ðµ© ¼Â¾÷ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. "+ "ÀÌÁ¦ ¿ø°Ý¾×¼¼½º¼ºñ½º(RAS)°¡ ¼³Ä¡µÇ¾î¾ß ÇÕ´Ï´Ù. "+ "ÀüÈÁ¢¼Ó ³×Æ®¿öÅ·À¸·Î ADSL ¸ðµ©À» »ç¿ëÇϱâ À§ÇÏ¿© "+ "RAS¿¡¼ 3Com ADSL ¸ðµ© Æ÷Æ®¸¦ ±¸¼ºÇϽʽÿÀ."+ "NT¼¹öÀÎ °æ¿ì¿¡´Â ¸ðµ©Æ÷Æ®°¡ ÀüȰɱâ·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù."+ "µðÆúÆ®°ªÀº Àüȹޱâ·Î µÇ¾îÀÖ½À´Ï´Ù." InvokeRasConfigMsg = "3Com ADSL ¸ðµ© ¼Â¾÷ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."+ "ÀÌÁ¦ ¿ø°Ý¾×¼¼½º¼ºñ½º(RAS) ¼Â¾÷ÀÌ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù."+ "ÀüÈÁ¢¼Ó ³×Æ®¿öÅ·À¸·Î ADSL ¸ðµ©À» »ç¿ëÇϱâ À§ÇÏ¿© "+ "RAS ¼Â¾÷¿¡¼ 3Com ADSL ¸ðµ© Æ÷Æ®¸¦ ±¸¼ºÇϽʽÿÀ."+ "NT¼¹öÀÎ °æ¿ì¿¡´Â ¸ðµ©Æ÷Æ®°¡ ÀüȰɱâ·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù."+ "µðÆúÆ®°ªÀº Àüȹޱâ·Î µÇ¾îÀÖ½À´Ï´Ù." InvokeRasError = "RAS ¼Â¾÷ INF ÆÄÀÏ (OEMNSVRA.INF)À» ½ÇÇàÁß¿¡"+ "3Com ADSL ¸ðµ© ¼Â¾÷ÀÌ ¿¡·¯¸¦ ¹ß°ßÇß½À´Ï´Ù."+ "±× ÆÄÀÏÀÌ system32 µð·ºÅ丮¿¡ ÀÖ°í ¿À·ù°¡ ¾ø´Â "+ "ÆÄÀÏÀÎÁö¸¦ È®ÀÎÇϽʽÿÀ." [Install-INF] set STF_VITAL = "" AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList Exit [Install-HwSys] set STF_VITAL = "" AddSectionFilesToCopyList Files-HwSys $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList Exit [Source Media Descriptions] 1 = "3Com ADSL PCI Modem Dialup/PPP Disk" ;, TAGFILE = DISK1 [ProductType] STF_PRODUCT = Winnt [Files-Inf] 1, oemsetup.inf,SIZE=36000, RENAME=$(!UG_Filename) [Files-HwSys] 1,3CPAWR40.SYS,SIZE=180000 1,1_4_1.bin,SIZE=300000 1,1_4_1_2.bin,SIZE=300000 1,1_4_1_3.bin,SIZE=300000 1,1_4_1_4.bin,SIZE=300000 1,1_4_1_5.bin,SIZE=300000 1,init141.bin,SIZE=800 1,dshelper.exe,SIZE=300000 1,dshelper.ini,SIZE=100 1,dsdialer.exe,SIZE=300000 1,vccfg.exe,SIZE=300000 [LanguagesSupported] ENG [OptionsTextENG] USRPCIAWR = "3Com ADSL PCI Modem Dialup/PPP" [FileConstantsENG] ProCaption = "Windows NT NIC 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:" ConnectionList = ^(ConnectionChoices, 1) ConnectionValues = ^(ConnectionChoices, 2) NoList = ^(NoChoices, 1) NoValues = ^(NoChoices, 2) ShellCodeErrorTitle = "Error: "$(Function$(Option)Title) ShellCodeErrorText = "Shell Code Error." CANNOT_FIND_ANY_CARD = "Network card is not present in the system" [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel"Download 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.