;
; 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.