; ; oemsetup.inf: HPNA 2.0 driver NT 4.0 install file ; ; Copyright 2001, Linksys Group Inc. ; ; [Identification] OptionType = NetAdapter [LanguagesSupported] ENG [Options] bcm42xx [OptionsTextENG] bcm42xx = "Linksys Phoneline 10M Network Card Driver" [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 NetEventDLL = "%SystemRoot%\System32\netevent.dll" Manufacturer = "Linksys" ProductMajorVersion = "1" ProductMinorVersion = "0" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "bcm42xx" ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\BCM42XX4.SYS" NetRuleSoftwareType = "bcm42xxSys ndisDriver bcm42xxDriver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """bcm42xxSys"" yes no container" NetRuleSoftwareClass = {"bcm42xxDriver basic"} NetRuleSoftwareBindable = {"bcm42xxDriver bcm42xxAdapter non exclusive 100"} ProductHardwareName = "bcm42xx" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareType = "bcm42xx bcm42xxAdapter" NetRuleHardwareClass = {"bcm42xxAdapter basic"} ProductDriverDescription = "Linksys Phoneline 10M Network Card" ProductHardwareDescription = $(ProductDriverDescription) ProductDriverCopyright = "1998-2001, All Rights Reserved" ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ServiceKeyName = $(!NTN_ServiceBase)"\"$(ProductSoftwareName) ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductSoftwareName)"\Parameters" LinkageKeyName = $(!NTN_ServiceBase)"\"$(ProductSoftwareName)"\Linkage" DiagnosticsKeyName = "BCM42DIA" DiagLogoText = "Linksys" DiagIconName = "HPN200" DiagCompanyURL = "http://www.linksys.com/" DiagTitle = "HPN200 Information and Diagnostics" DiagLegalCopyright = "1998-2001, All Rights Reserved." VendorList = { 0xfeda, 0x14e4 } DeviceList = { 0xa0fa, 0x4211 } DescList = {"Linksys Phoneline 10M Network Card", "Linksys Phoneline 10M Network Card" } [FileConstantsENG] 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:" FunctionTitle = "Linksys Phoneline 10M Home Networking" ShellCodeErrorTitle = "Error: "$(FunctionTitle) ShellCodeErrorText = "Shell Code Error." NoAdapterFound = "Unable to detect a "$(ProductHardwareDescription)+ ". Install the adapter and try again." [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 KeyNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyDiagStrings = "" MyKeySoftware = "" KeyParameters = "" TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [platform] STF_PLATFORM = "" ? $(!LIBHANDLE) GetPlatform [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) goto returnoptions 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 !DebugOutputControl = 1 set Lang = $($0) set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif 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 detect platform set-title $(FunctionTitle) set to = Begin set from = Begin set CommonStatus = STATUS_SUCCESSFUL EndWait Begin = + Debug-Output "bcm42xx: Lang= $(Lang)" Debug-Output "bcm42xx: Option= $(Option)" Debug-Output "bcm42xx: SrcDir= $(SrcDir)" Debug-Output "bcm42xx: AddCopy= $(AddCopy)" Debug-Output "bcm42xx: DoCopy= $(DoCopy)" Debug-Output "bcm42xx: DoConfig= $(DoConfig)" Debug-Output "bcm42xx: LanguageList= $(LanguageList)" Debug-Output "bcm42xx: DriverPath= $(DriverPath)" Debug-Output "bcm42xx: Manufacturer= $(Manufacturer)" Debug-Output "bcm42xx: ProductMajorVersion= $(ProductMajorVersion)" Debug-Output "bcm42xx: ProductMinorVersion= $(ProductMinorVersion)" Debug-Output "bcm42xx: ProductVersion= $(ProductVersion)" Debug-Output "bcm42xx: ProductSoftwareName= $(ProductSoftwareName)" Debug-Output "bcm42xx: ProductSoftwareImagePath= $(ProductSoftwareImagePath)" Debug-Output "bcm42xx: NetRuleSoftwareType= $(NetRuleSoftwareType)" Debug-Output "bcm42xx: NetRuleSoftwareUse= $(NetRuleSoftwareUse)" Debug-Output "bcm42xx: NetRuleSoftwareBindForm= $(NetRuleSoftwareBindForm)" Debug-Output "bcm42xx: NetRuleSoftwareClass= $(NetRuleSoftwareClass)" Debug-Output "bcm42xx: NetRuleSoftwareBindable= $(NetRuleSoftwareBindable)" Debug-Output "bcm42xx: ProductHardwareName= $(ProductHardwareName)" Debug-Output "bcm42xx: NetRuleHardwareBindForm= $(NetRuleHardwareBindForm)" Debug-Output "bcm42xx: NetRuleHardwareType= $(NetRuleHardwareType)" Debug-Output "bcm42xx: NetRuleHardwareClass= $(NetRuleHardwareClass)" Debug-Output "bcm42xx: ProductKeyName= $(ProductKeyName)" Debug-Output "bcm42xx: ServiceKeyName= $(ServiceKeyName)" Debug-Output "bcm42xx: ParamKeyName= $(ParamKeyName)" Debug-Output "bcm42xx: LinkageKeyName= $(LinkageKeyName)" Debug-Output "bcm42xx: FunctionTitle= $(FunctionTitle)" Debug-Output "bcm42xx: ProductSoftwareDescription= $(ProductSoftwareDescription)" Debug-Output "bcm42xx: ProductSoftwareDisplayName= $(ProductSoftwareDisplayName)" Debug-Output "bcm42xx: ProductSoftwareTitle= $(ProductSoftwareTitle)" Debug-Output "bcm42xx: ProductHardwareDescription= $(ProductHardwareDescription)" Debug-Output "bcm42xx: ProductHardwareDisplayName= $(ProductHardwareDisplayName)" Debug-Output "bcm42xx: ProductHardwareTitle= $(ProductHardwareTitle)" Debug-Output "bcm42xx: Now= $(Now)" Debug-Output "bcm42xx: NTN_InfOption= $(!NTN_InfOption)" Debug-Output "bcm42xx: NTN_Infname= $(!NTN_Infname)" Debug-Output "bcm42xx: NTN_InstallMode= $(!NTN_InstallMode)" Debug-Output "bcm42xx: NTN_InstallPhase= $(!NTN_InstallPhase)" Debug-Output "bcm42xx: NTN_Origination= $(!NTN_Origination)" Debug-Output "bcm42xx: NTN_RegBase= $(!NTN_RegBase)" Debug-Output "bcm42xx: NTN_ScUseRegistry= $(!NTN_ScUseRegistry)" Debug-Output "bcm42xx: NTN_ServiceBase= $(!NTN_ServiceBase)" Debug-Output "bcm42xx: NTN_SoftwareBase= $(!NTN_SoftwareBase)" Debug-Output "bcm42xx: STF_BUSTYPE= $(!STF_BUSTYPE)" Debug-Output "bcm42xx: STF_BUSTYPELIST= $(!STF_BUSTYPELIST)" Debug-Output "bcm42xx: STF_COMPUTERNAME= $(!STF_COMPUTERNAME)" Debug-Output "bcm42xx: STF_CONTEXTINFNAME= $(!STF_CONTEXTINFNAME)" Debug-Output "bcm42xx: STF_CWDDIR= $(!STF_CWDDIR)" Debug-Output "bcm42xx: STF_CWDIR= $(!STF_CWDIR)" Debug-Output "bcm42xx: STF_DISPLAYDEBUGOUTPUT= $(!STF_DISPLAYDEBUGOUTPUT)" Debug-Output "bcm42xx: STF_ERROR= $(!STF_ERROR)" Debug-Output "bcm42xx: STF_FLOPPYLIST= $(!STF_FLOPPYLIST)" Debug-Output "bcm42xx: STF_GUI= $(!STF_GUI)" Debug-Output "bcm42xx: STF_GUI_UNATTENDED= $(!STF_GUI_UNATTENDED)" Debug-Output "bcm42xx: STF_HWND= $(!STF_HWND)" Debug-Output "bcm42xx: STF_IDW= $(!STF_IDW)" Debug-Output "bcm42xx: STF_INSTALL= $(!STF_INSTALL)" Debug-Output "bcm42xx: STF_LANGUAGE= $(!STF_LANGUAGE)" Debug-Output "bcm42xx: STF_MB= $(!STF_MB)" Debug-Output "bcm42xx: STF_NCDETCARD= $(!STF_NCDETCARD)" Debug-Output "bcm42xx: STF_NCDETECT= $(!STF_NCDETECT)" Debug-Output "bcm42xx: STF_NCDETINFO= $(!STF_NCDETINFO)" Debug-Output "bcm42xx: STF_NCOPTION= $(!STF_NCOPTION)" Debug-Output "bcm42xx: STF_NCPA= $(!STF_NCPA)" Debug-Output "bcm42xx: STF_NTDRIVE= $(!STF_NTDRIVE)" Debug-Output "bcm42xx: STF_NTPATH= $(!STF_NTPATH)" Debug-Output "bcm42xx: STF_NTUPGRADE= $(!STF_NTUPGRADE)" Debug-Output "bcm42xx: STF_NTWINDOWSSYSPATH= $(!STF_NTWINDOWSSYSPATH)" Debug-Output "bcm42xx: STF_OVERWRITE= $(!STF_OVERWRITE)" Debug-Output "bcm42xx: STF_PLATFORM= $(!STF_PLATFORM)" Debug-Output "bcm42xx: STF_PROCESSOR= $(!STF_PROCESSOR)" Debug-Output "bcm42xx: STF_PRODUCT= $(!STF_PRODUCT)" Debug-Output "bcm42xx: STF_RANFROM= $(!STF_RANFROM)" Debug-Output "bcm42xx: STF_RENAME= $(!STF_RENAME)" Debug-Output "bcm42xx: STF_SRCDIR= $(!STF_SRCDIR)" Debug-Output "bcm42xx: STF_STANDARDSERVERUPGRADE= $(!STF_STANDARDSERVERUPGRADE)" Debug-Output "bcm42xx: STF_SUCCESS= $(!STF_SUCCESS)" Debug-Output "bcm42xx: STF_UNATTENDED= $(!STF_UNATTENDED)" Debug-Output "bcm42xx: STF_UNUSEDDRIVES= $(!STF_UNUSEDDRIVES)" Debug-Output "bcm42xx: STF_USERNAME= $(!STF_USERNAME)" Debug-Output "bcm42xx: STF_VITAL= $(!STF_VITAL)" Debug-Output "bcm42xx: STF_WINDOWSPATH= $(!STF_WINDOWSPATH)" Debug-Output "bcm42xx: STF_WINDOWSSYSPATH= $(!STF_WINDOWSSYSPATH)" Ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = deinstall else-Ifstr(i) $(!NTN_InstallMode) == update set StartLabel = update else-Ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bind else-Ifstr(i) $(!NTN_InstallMode) == configure set StartLabel = configure else set StartLabel = installadapter endif set RadioDefault = 2 set RadioIn = {$(RadioDefault)} set from = $(fatal) set to = $(fatal) goto $(StartLabel) installadapter = + Debug-Output "bcm42xx: 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) goto ShellCodeError endif goto end else Shell $(UtilityInf), CardExistedDlg ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) != "OK" goto end endif set OldVersionExisted = $(TRUE) endif endif CloseRegKey $(KeyProduct) goto installproduct installproduct = + Debug-Output "bcm42xx: installproduct" StartWait set AdapterList = {} set AdapterDesc = "" ForListDo $(DeviceList) set-hextodec DeviceId = $($) Debug-Output "bcm42xx: DeviceId = $(DeviceId)" set-hextodec VendorId = *($(VendorList),$(#)) Debug-Output "bcm42xx: VendorId = $(VendorId)" set AdapterDesc = *($(DescList),$(#)) Debug-Output "bcm42xx: AdapterDesc = $(AdapterDesc)" Debug-Output "bcm42xx: Calling GetPCIInformation $(VendorId) $(DeviceId) $(AdapterCFID)" Shell $(UtilityInf), GetPCIInformation $(VendorId) $(DeviceId) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: GetPCIInformation failed." goto ShellCodeError endif ForListDo $($R0) set AdapterList = >($(AdapterList), {*($($),1), *($($),2), $(AdapterCFID)}) EndForListDo EndForListDo Debug-Output "bcm42xx: AdapterList = $(AdapterList)" ifstr(i) $(AdapterList) == {} set Error = $(NoAdapterFound) set CommonStatus = USER_CANCEL set from = end goto nonfatal endif set DriverStr = " Driver" set ProductSoftwareDescription = $(AdapterDesc)$(DriverStr) set ProductSoftwareDisplayName = $(AdapterDesc)$(DriverStr) set ProductSoftwareTitle = $(AdapterDesc)$(DriverStr) set ProductHardwareDescription = $(AdapterDesc) set ProductHardwareDisplayName = $(AdapterDesc) set ProductHardwareTitle = $(AdapterDesc) Debug-Output "bcm42xx: ProductSoftwareDescription= $(ProductSoftwareDescription)" Debug-Output "bcm42xx: ProductSoftwareDisplayName= $(ProductSoftwareDisplayName)" Debug-Output "bcm42xx: ProductSoftwareTitle= $(ProductSoftwareTitle)" Debug-Output "bcm42xx: ProductHardwareDescription= $(ProductHardwareDescription)" Debug-Output "bcm42xx: ProductHardwareDisplayName= $(ProductHardwareDisplayName)" Debug-Output "bcm42xx: ProductHardwareTitle= $(ProductHardwareTitle)" ifint $(OldVersionExisted) == $(FALSE) 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 Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Endif Shell "" StripTrailSlash $(SrcDir) set PlatformDir = $($R0) set InfDir = $($R0)"\" Debug-Output "bcm42xx: SrcDir= $(SrcDir)" Debug-Output "bcm42xx: PlatformDir= $(PlatformDir)" Debug-Output "bcm42xx: InfDir= $(InfDir)" Debug-Output "bcm42xx: UG_Filename= $(!UG_Filename)" 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 set OEM_ABANDON_ON = TRUE Debug-Output "bcm42xx: Adding Software Component to Registry" Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareDisplayName), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "", + $(NetEventDLL) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "bcm42xx: Failed to Add Software Component." 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)}, + {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)}, + {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)} + } Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList) set RegistryErrorIndex = $($R0) Ifstr $(RegistryErrorIndex) != NO_ERROR 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)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)} + } Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) set RegistryErrorIndex = $($R0) Ifstr $(RegistryErrorIndex) != NO_ERROR CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) goto fatalRegistry endif set NewValueList = { + {DebugLevel,$(NoTitle),$(!REG_VT_DWORD),0}, + {DebugMask,$(NoTitle),$(!REG_VT_DWORD), 0} + } Shell $(UtilityInf), AddValueList, $(SoftParameterKey), $(NewValueList) set RegistryErrorIndex = $($R0) Ifstr $(RegistryErrorIndex) != NO_ERROR CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) goto fatalRegistry endif CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) endif ForListDo $(AdapterList) set BusNumber = *($($),1) set SlotNumber = *($($),2) set AdapterCFID = *($($),3) Debug-Output "bcm42xx: found card at PCI_$(BusNumber)_$(SlotNumber)" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), $(SlotNumber), + $(ProductHardwareDescription), $(ProductHardwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) != "YES" ; Add Adapter Hardware Component Debug-Output "bcm42xx: Adding Adapter Hardware Component to Registry" Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName), + $(STF_CONTEXTINFNAME), $(ProductKeyName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "bcm42xx: Failed to Add Hardware Component" EndWait CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalRegistry endif set KeyAdapter = $($R1) set KeyAdapterRules = $($R2) set KeyParameters = $($R3) set AdapterNumber = $($R4) set NewValueList = { + {Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)}, + {Title, $(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)}, + {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)}, + {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)}, + {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)}, + {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)} + } Debug-Output "bcm42xx: Populating Hardware Component Value List" Shell $(UtilityInf), AddValueList, $(KeyAdapter), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyAdapter) 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 "bcm42xx: Populating Adapter NetRules Value List" Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "bcm42xx: Registry error: add value list." CloseRegKey $(KeyParameters) CloseRegKey $(KeyAdapterRules) goto fatalRegistry endif CloseRegKey $(KeyAdapterRules) set MediaType = 1 ; Ethernet set BusType = 5 ; PCI Set NewValueList = { + {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(MediaType)}, + {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusType)}, + {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$(AdapterCFID)}, + {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)}, + {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)}, + {InstanceNumber,$(NoTitle),$(!REG_VT_DWORD),$(AdapterNumber)}, + {DriverDesc,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)} + } Debug-Output "bcm42xx: Populating Adapter Parameters Value List" Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyParameters) OpenRegKey $(!REG_H_LOCAL) "" $(ServiceKeyName) $(MAXIMUM_ALLOWED) KeyDiagStrings Ifstr $(KeyDiagStrings) != $(KeyNull) Set NewValueList = { + {DiagDescription,$(NoTitle),$(!REG_VT_SZ),$(ProductDriverDescription)} + {DiagCopyright,$(NoTitle),$(!REG_VT_SZ),$(ProductDriverCopyright)} + } Debug-Output "bcm42xx: Populating Services Custom Diagnostics User-visible Strings" Shell $(UtilityInf), AddValueList, $(KeyDiagStrings), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyDiagStrings) endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) MyKeySoftware Ifstr $(MyKeySoftware) == $(KeyNull) set RegistryErrorIndex = UNABLE_ACCESS_SOFTWARE_REG goto ShellCodeError endif CreateRegKey $(MyKeySoftware) {$(DiagnosticsKeyName),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" KeyDiagStrings Ifstr $(KeyDiagStrings) != $(KeyNull) Set NewValueList = { + {"Logo Text",$(NoTitle),$(!REG_VT_SZ),$(DiagLogoText)} + {"Icon Name",$(NoTitle),$(!REG_VT_SZ),$(DiagIconName)} + {"Company URL",$(NoTitle),$(!REG_VT_SZ),$(DiagCompanyURL)} + {"Title",$(NoTitle),$(!REG_VT_SZ),$(DiagTitle)} + {"LegalCopyright",$(NoTitle),$(!REG_VT_SZ),$(DiagLegalCopyright)} + } Debug-Output "bcm42xx: Populating Software Custom Diagnostics User-visible Strings" Shell $(UtilityInf), AddValueList, $(KeyDiagStrings), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error" CloseRegKey $(MyKeySoftware) goto ShellCodeError endif CloseRegKey $(KeyDiagStrings) endif CloseRegKey $(MyKeySoftware) endif EndForListDo EndWait goto successful bind = + Debug-Output "bcm42xx: bind" set Error = "Binding: Sorry, not yet implemented." goto fatal deinstall = + Debug-Output "bcm42xx: deinstall" Debug-Output "bcm42xx: ProductKeyName= $(ProductKeyName)" Debug-Output "bcm42xx: NTN_RegBase= $(!NTN_RegBase)" ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "bcm42xx: RemoveSoftwareComponent" Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error." gotoShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalRegistry endif else Debug-Output "bcm42xx: RemoveHardwareComponent" Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "bcm42xx: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalRegistry endif endif goto end configure = + Debug-Output "bcm42xx: configure" set Error = "Configuration Not Implemented" set from = end goto nonfatalinfo update = + Debug-Output "bcm42xx: update" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Debug-Output "bcm42xx: Found ProductKeyName= $(ProductKeyName)" Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set !UG_Filename = $($R0) Shell "" StripTrailSlash $(SrcDir) set PlatformDir = $($R0) set InfDir = $($R0)"\" Debug-Output "bcm42xx: SrcDir= $(SrcDir)" Debug-Output "bcm42xx: PlatformDir= $(PlatformDir)" Debug-Output "bcm42xx: InfDir= $(InfDir)" Debug-Output "bcm42xx: UG_Filename= $(!UG_Filename)" install "Install-Update" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif ; Get the Major and Minor version numbers GetRegValue $(KeyProduct),MajorVersion,VersionInfo Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) set CurrentMajorVersion = 0 else set CurrentMajorVersion = *($(VersionInfo), 4) endif GetRegValue $(KeyProduct),MinorVersion,VersionInfo Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) set CurrentMinorVersion = 0 else set CurrentMinorVersion = *($(VersionInfo), 4) endif Debug-Output "bcm42xx: CurrentMajorVersion= $(CurrentMajorVersion)" Debug-Output "bcm42xx: CurrentMinorVersion= $(CurrentMinorVersion)" SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)} Debug-Output "bcm42xx: Setting Major/MinorVersion= $(ProductMajorVersion)/$(ProductMinorVersion)" CloseRegKey $(KeyProduct) else goto fatalRegistry endif goto end successful = + 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 CommonStatus = STATUS_USERCANCEL Set Severity = STATUS goto nonfatalmsg nonfatal = + Set Severity = NONFATAL goto nonfatalmsg nonfatalmsg = + 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), $(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 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 deinstall endif goto end end = + goto term term = + Return $(CommonStatus) [StripTrailSlash] Split-String $($0) "\" InList QueryListSize InListSize, $(InList) Ifint $(InListSize) <= 1 Return $($0) Endif Set NewString = "" ForListDo $(InList) ifint $(#) < $(InListSize) Set NewString = $(NewString)$($) else-ifstr $($) != "\" Set NewString = $(NewString)$($) endif EndForListDo Return $(NewString) [Install-Option] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Platform-Drivers $(PlatformDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Platform-Sys32 $(PlatformDir) $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif ifstr(i) $(DoConfig) == "YES" endif Exit [Install-Update] set STF_VITAL = "" set STF_OVERWRITE = "ALWAYS" AddSectionFilesToCopyList Files-Platform-Drivers $(PlatformDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Platform-Sys32 $(PlatformDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Inf $(InfDir) $(!STF_WINDOWSSYSPATH) Debug-Output "bcm42xx: Copying updated files" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Source Media Descriptions] 1 = "Linksys Phoneline 10M Network Card Driver Installation Disk" [ProductType] STF_PRODUCT = Winnt [Files-Inf] 1, OEMSETUP.INF, SIZE=999, RENAME=$(!UG_Filename) [Files-Platform-Drivers] 1, BCM42XX4.SYS, SIZE=999 1, BCM42XHW.sys, SIZE=999 [Files-Platform-Sys32] 1, BCM42DIA.cpl, SIZE=999 1, BCM42IOA.DLL, SIZE=999 1, BCM42DB0.dll, SIZE=999 1, BCM42CTL.dll, SIZE=999 1, BCM42RLY.sys, SIZE=999 1, MFC42.DLL, SIZE=999, OVERWRITE=VERIFYSOURCEOLDER 1, MSVCRT.DLL, SIZE=999, OVERWRITE=VERIFYSOURCEOLDER [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.