;******************************************************************************* ;* ** ;* I N T E L P R O P R I E T A R Y ** ;* ** ;* COPYRIGHT (c) 2002 BY INTEL CORPORATION. ALL RIGHTS RESERVED. NO ** ;* PART OF THIS PROGRAM OR PUBLICATION MAY BE REPRODUCED, TRANSMITTED, ** ;* TRANSCRIBED, STORED IN A RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY ** ;* LANGUAGE OR COMPUTER LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, ** ;* MECHANICAL, MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT ** ;* THE PRIOR WRITTEN PERMISSION OF : ** ;* ** ;* INTEL CORPORATION ** ;* ** ;* 2200 MISSION COLLEGE BLVD ** ;* ** ;* SANTA CLARA, CALIFORNIA 95052-8119 ** ;* ** ;******************************************************************************* ;******************************************************************************* ; Windows NT OEMSETUP.INF for ; ; Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter ; ;******************************************************************************* ; $Revision: 64 $ ;******************************************************************************* ; Define Options ;******************************************************************************* [Options] W20 W70 [OptionsText] W20 = "Intel(R) PRO/Wireless LAN 2100 Mini PCI Adapter" W70 = "Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter" [Source Media Descriptions] 1 = "Intel(R) PRO/Wireless 7100 Mini PCI Adapter Setup Disk", TAGFILE = W71Disk ;******************************************************************************* ; Define customizable constants. ;******************************************************************************* [FileConstants] Manufacturer = "Intel" DrvrVersion = "1.0.28.2" NDIS = "w70n4.SYS" NDISSrc = "w70n4.SYS" CoinstallerNcpaDll = "W70NCPA.dll" CoinstallerNcpaRes = "W70MLRes.dll" SoftwareName = "w70n4" SoftwareTitle = "Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter" SoftwareDescription = "Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter Driver" HardwareTitle = "Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter" HardwareDescription = "Intel(R) PRO/Wireless LAN 7100 Mini PCI Adapter" AdapterModel = "PRO/Wireless LAN 7100 3B Mini PCI Adapter" NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\w70n4.sys" SoftwareImagePath = "%SystemRoot%\System32\drivers\"$(NDIS) SoftwareKeyName = "SOFTWARE\"$(Manufacturer)"\"$(SoftwareName)+ "\CurrentVersion" 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:" KeyNull = "" BandSelection = "DualBand" ;******************************************************************************* ; Define Vendor/Device IDs for support adapters. Each support adapter is listed ; in the format {<Vendor ID>, <Device ID>}. ;******************************************************************************* [VendorDeviceIDs] {32902, 4163} ; 0x8086, 0x1043 ;******************************************************************************* ; Define miniport instance parameters. This list defines the name of the ; parameter, the registry data type, and the value of the parameter. Each ; parameter is specified in a format ready to be passed into SetRegValue(): ; {<name>, $(NoTitle), <reg value type>, <parameter value>}. ;******************************************************************************* [MiniportParameters] ; HKLM\SYSTEM\CurrentControlSet\Services\[miniport instance]\Parameters {BusNumber, $(NoTitle), $(!REG_VT_DWORD), $(BusNumber)} {AdapterModel, $(NoTitle), $(!REG_VT_SZ), $(AdapterModel)} {BusType, $(NoTitle), $(!REG_VT_DWORD), 5} {BusTypeLocal, $(NoTitle), $(!REG_VT_DWORD), 5} {Adhoc_TxPower, $(NoTitle), $(!REG_VT_SZ), "16"} {BSSMode, $(NoTitle), $(!REG_VT_DWORD), 1} {ChannelB, $(NoTitle), $(!REG_VT_DWORD), 11} {ChannelBDefault, $(NoTitle), $(!REG_VT_DWORD), 11} {ChannelMaskB, $(NoTitle), $(!REG_VT_DWORD), 0} {CardType, $(NoTitle), $(!REG_VT_DWORD), 2} {Diversity, $(NoTitle), $(!REG_VT_DWORD), 0} {DrvrVersion, $(NoTitle), $(!REG_VT_SZ), $(DrvrVersion)} {EncryptionKey1, $(NoTitle), $(!REG_VT_SZ), ""} {EncryptionKey2, $(NoTitle), $(!REG_VT_SZ), ""} {EncryptionKey3, $(NoTitle), $(!REG_VT_SZ), ""} {EncryptionKey4, $(NoTitle), $(!REG_VT_SZ), ""} {EncryptionKeyId, $(NoTitle), $(!REG_VT_DWORD), 1} {ESS_ID, $(NoTitle), $(!REG_VT_SZ), "101"} {Ess_TxPower, $(NoTitle), $(!REG_VT_DWORD), 0} {FragmentationThreshold, $(NoTitle), $(!REG_VT_DWORD), 0} {SlotNumber, $(NoTitle), $(!REG_VT_DWORD), $(SlotNumber)} {IntlRoaming, $(NoTitle), $(!REG_VT_DWORD), 0} {LongPreamble, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_1, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_2, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_5_5, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_11, $(NoTitle), $(!REG_VT_DWORD), 1} {MUAuthenticationMode, $(NoTitle), $(!REG_VT_DWORD), 1} {MUEncryptionAlgorithm, $(NoTitle), $(!REG_VT_DWORD), 1} {PCCardPacketFilter, $(NoTitle), $(!REG_VT_DWORD), 11} {PortType, $(NoTitle), $(!REG_VT_DWORD), 1} {PowerIndex, $(NoTitle), $(!REG_VT_DWORD), 6} {Provider, $(NoTitle), $(!REG_VT_SZ), $(Manufacturer)} {RadioEnable, $(NoTitle), $(!REG_VT_DWORD), 1} {TxPower, $(NoTitle), $(!REG_VT_SZ), "40"} {WEPKeyFormat, $(NoTitle), $(!REG_VT_DWORD), 1} {BandMode, $(NoTitle), $(!REG_VT_DWORD), 1} {ChannelA, $(NoTitle), $(!REG_VT_DWORD), 48} {ChannelADefault, $(NoTitle), $(!REG_VT_DWORD), 48} {ChannelMaskA, $(NoTitle), $(!REG_VT_DWORD), 0} {CLSGUID, $(NoTitle), $(!REG_VT_SZ), "{E2565835-F8E7-4B49-9F60-17DF19894336}"} {IBSSBandMode, $(NoTitle), $(!REG_VT_DWORD), 4} {MBIT_6, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_9, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_12, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_18, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_24, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_36, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_48, $(NoTitle), $(!REG_VT_DWORD), 1} {MBIT_54, $(NoTitle), $(!REG_VT_DWORD), 1} {Version11aFW, $(NoTitle), $(!REG_VT_SZ), "0.0.0.0"} {Version11bFW, $(NoTitle), $(!REG_VT_SZ), "0.0.0.0"} {Version11aUc, $(NoTitle), $(!REG_VT_SZ), "0.0.0.0"} {Version11bUc, $(NoTitle), $(!REG_VT_SZ), "0.0.0.0"} {VPNEnabled, $(NoTitle), $(!REG_VT_DWORD), 0} {VPNClientName, $(NoTitle), $(!REG_VT_SZ), ""} {VPNProfileName, $(NoTitle), $(!REG_VT_SZ), ""} {ConfigurationName, $(NoTitle), $(!REG_VT_SZ), "PR0W1RELE55"} {Description, $(NoTitle), $(!REG_VT_SZ), $(SoftwareDescription)} [SBMiniportParameters] ; HKLM\SYSTEM\CurrentControlSet\Services\[miniport instance]\Parameters {BandMode, $(NoTitle), $(!REG_VT_DWORD), 4} {ChannelA, $(NoTitle), $(!REG_VT_DWORD), 0} {ChannelADefault, $(NoTitle), $(!REG_VT_DWORD), 0} {ChannelMaskA, $(NoTitle), $(!REG_VT_DWORD), 0} {CLSGUID, $(NoTitle), $(!REG_VT_SZ), "{2BC8F0A7-DC4E-4889-8375-C2151F70C331}"} {IBSSBandMode, $(NoTitle), $(!REG_VT_DWORD), 4} {MBIT_6, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_9, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_12, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_18, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_24, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_36, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_48, $(NoTitle), $(!REG_VT_DWORD), 0} {MBIT_54, $(NoTitle), $(!REG_VT_DWORD), 0} ;******************************************************************************* ; Define software and hardware component registry settings that are applied ; after calling AddSoftwareComponent() or AddHardwareComponent(). Each ; parameter is specified in a format ready to be passed into SetRegValue(): ; {<name>, $(NoTitle), <reg value type>, <parameter value>}. ;******************************************************************************* [SoftwareCurrentVersion] ; HKLM\SOFTWARE\[Mfg]\[Product]\CurrentVersion {SoftwareType, $(NoTitle), $(!REG_VT_SZ), "driver"} {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), 3} {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), 0} {Title, $(NoTitle), $(!REG_VT_SZ), $(SoftwareTitle)} {Description, $(NoTitle), $(!REG_VT_SZ), $(SoftwareDescription)} {ServiceName, $(NoTitle), $(!REG_VT_SZ), $(SoftwareName)} {InstallDate, $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)} [SoftwareNetBindRules] ; HKLM\SOFTWARE\[Mfg]\[Product]\CurrentVersion\NetRules {type, $(NoTitle), $(!REG_VT_SZ), + $(SoftwareName)"Sys ndisDriver "$(SoftwareName)"Driver"} {use, $(NoTitle), $(!REG_VT_SZ), + "driver"} {bindform, $(NoTitle), $(!REG_VT_SZ), + """"$(SoftwareName)"Sys"" yes no container"} {class, $(NoTitle), $(!REG_VT_MULTI_SZ), + {$(SoftwareName)"Driver basic"}} {bindable, $(NoTitle), $(!REG_VT_MULTI_SZ), + {$(SoftwareName)"Driver "$(SoftwareName)+ "Adapter non exclusive 100"}} {InfOption, $(NoTitle), $(!REG_VT_SZ), + $(Option)} [NetworkCardValues] ; HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\[x] {Manufacturer, $(NoTitle), $(!REG_VT_SZ), + $(Manufacturer)} {Title, $(NoTitle), $(!REG_VT_SZ), + "["$(AdapterNumber)"] "$(HardwareTitle)} {Description, $(NoTitle), $(!REG_VT_SZ), + $(HardwareDescription)} {ProductName, $(NoTitle), $(!REG_VT_SZ), + $(SoftwareName)} {ServiceName, $(NoTitle), $(!REG_VT_SZ), + $(SoftwareName)$(AdapterNumber)} {InstallDate, $(NoTitle), $(!REG_VT_DWORD), + *($(Now),1)} {OperationsSupport, $(NoTitle), $(!REG_VT_DWORD), + 255} {Band, $(NoTitle), $(!REG_VT_SZ), "Dual"} [SBNetworkCardValues] {Band, $(NoTitle), $(!REG_VT_SZ), "Single"} [HardwareNetBindRules] ; HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\[x]\NetRules {type, $(NoTitle), $(!REG_VT_SZ), + $(SoftwareName)" "$(SoftwareName)"Adapter"} {bindform, $(NoTitle), $(!REG_VT_SZ), + """"$(SoftwareName)$(AdapterNumber)""" yes yes container"} {class, $(NoTitle), $(!REG_VT_MULTI_SZ), + {$(SoftwareName)"Adapter basic"}} {InfOption, $(NoTitle), $(!REG_VT_SZ), + $(Option)} ;******************************************************************************* ; Detect sections. These sections are called using the detect command. ;******************************************************************************* [Date] Now = {} ? $(!LIBHANDLE) GetSystemDate ;******************************************************************************* ; Returns information to Setup about the type of driver or drivers that ; can be installed by this INF file. ;******************************************************************************* [Identify] Return STATUS_SUCCESSFUL NetAdapter "" ;******************************************************************************* ; This section returns information to the Setup program, listing the ; names of any drivers that can be installed by this INF file. It also ; returns the text strings for each driver (in the requested language) ; to be used in the dialog box that asks the user to select the driver ; to install. ;******************************************************************************* [ReturnOptions] Set Status = STATUS_SUCCESSFUL Set OptionList = ^(Options, 1) Set OptionTextList = ^(OptionsText, 1) IfStr(i) $($1) != "" IfContains(i) $($1) not-in "PCI" Set Status = STATUS_NOTSUPPORTED Set OptionList = {} Set OptionTextList = {} EndIf EndIf Return $(Status) $(OptionList) $(OptionTextList) ;******************************************************************************* ; If the [ReturnOptions] section returns successfully, indicating the ; language is supported, Setup displays a dialog box from which the user ; can select a driver to install. If the user proceeds with the ; installation, Setup calls the [InstallOption] section. ;******************************************************************************* [InstallOption] Set Option = $($1) Set SrcDir = $($2) Set AddCopy = $($3) Set DoCopy = $($4) Set DoConfig = $($5) Set !DebugOutputControl = 1 read-syms FileConstants detect Date ;----------------------------------------------------------------------- ; Switch on the install mode option and goto the appropriate sub. ;----------------------------------------------------------------------- IfStr(i) $(!NTN_InstallMode) == deinstall Set StartLabel = RemoveAdapter Else-IfStr(i) $(!NTN_InstallMode) == update Set StartLabel = UpdateAdapter Else-IfStr(i) $(!NTN_InstallMode) == bind return STATUS_USERCANCEL Else-IfStr(i) $(!NTN_InstallMode) == configure Set StartLabel = ConfigureAdapter Else-IfStr(i) $(!NTN_InstallMode) == install Set StartLabel = InstallAdapters EndIf Set from = FatalError Set to = FatalError Goto $(StartLabel) ;******************************************************************************* ; Called when the user clicks the Add button in the NCPA. ;******************************************************************************* InstallAdapters = + ;----------------------------------------------------------------------- ;Prompt the user whether it is Dual or Single band adapter. ;Default to Dual Band ;Depending upon the band, copy the files. ;UI for Switch between single/dual band ;----------------------------------------------------------------------- ; Install unattended answer file overrides if running in ; unattended mode. ;IfStr(i) $(!STF_GUI_UNATTENDED) != "YES" ; read-syms AdapterPropertiesDlg ; ui start "AdapterProperties" ; IfStr(i) $(DLGEVENT) == "CONTINUE" ; Set BandSelection = $(Combo1Out) ; Else ; return STATUS_USERCANCEL ; EndIf ;EndIf ;If single band, copy the w20* files IfStr(i) $($1) == "W20" Set CoinstallerNcpaDll = "W20NCPA.dll" Set CoinstallerNcpaRes = "W20MLRes.dll" Set AdapterModel = "PRO/Wireless LAN 2100 Mini PCI Adapter" Set SoftwareTitle = "Intel(R) PRO/Wireless LAN 2100 Mini PCI Adapter" Set SoftwareDescription = "Intel(R) PRO/Wireless LAN 2100 Mini PCI Adapter Driver" Set HardwareTitle = "Intel(R) PRO/Wireless LAN 2100 Mini PCI Adapter" Set HardwareDescription = "Intel(R) PRO/Wireless LAN 2100 Mini PCI Adapter" EndIf ;----------------------------------------------------------------------- ; Find Adapter(s) by doing a PCI scan (of registry) with Utility.inf. ; The bus/slot/function of each adapter found are returned in a list ; of lists:{{bus0,slot0,func0},{bus1,slot1,func1},...{busN,slotN,funcN}} ;----------------------------------------------------------------------- ; Since multiple Vendor/DeviceIDs are supported, call GetPCIInformation ; for each set, building the bus/slot/function list. Set BusDevFuncList = {} ForListDo ^(VendorDeviceIDs, 1) Shell "Utility.Inf", GetPCIInformation, *($($), 1), *($($), 2) ForListDo $($R0) Set BusDevFuncList = >($(BusDevFuncList), $($)) EndForListDo EndForListDo ; Check for an empty adapter list and abort with error if empty. IfStr $(BusDevFuncList) == {} Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "STATUS" + "No supported adapters were found in the system. "+ "Install the adapter in another PCI slot and try again." return STATUS_USERCANCEL EndIf ;----------------------------------------------------------------------- ; Search through the bus/slot/function list looking for previously ; installed adapters that match. A match is found by searching through ; the installed miniport instances and matching on bus/slot. If a match ; is found, assume that the adapter is already setup and remove the ; adapter from the bus/slot/function list. ;----------------------------------------------------------------------- Set NewBusDevFuncList = {} ForListDo $(BusDevFuncList) Set BusNumber = *($($), 1) Set SlotNumber = *($($), 2) Shell "Utility.Inf", IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), "", "", "YES" IfStr $($R1) != "YES" Set NewBusDevFuncList = >($(NewBusDevFuncList), $($)) EndIf EndForListDo Set BusDevFuncList = $(NewBusDevFuncList) ;----------------------------------------------------------------------- ; Check for an empty adapter list. If the list is empty, it means that ; all detected adapters already have a NetworkCard entry in the ; registry, or some rogue NetworkCard is pretending to be the software ; key for this adapter. In any case, we're done. The user can remove ; the rogue NetworkCard and reinstall with this software if they want. ;----------------------------------------------------------------------- IfStr $(BusDevFuncList) == {} return STATUS_USERCANCEL EndIf ;----------------------------------------------------------------------- ; Create the software component (service) if it doesn't already exist. ;----------------------------------------------------------------------- OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(!REG_KEY_READ) hKey IfStr $(hKey) == "" ; The software component didn't exist...Let's create it. Shell "Utility.Inf", AddSoftwareComponent, $(Manufacturer), + $(SoftwareName), $(SoftwareName), $(SoftwareTitle), + $(STF_CONTEXTINFNAME), $(SoftwareImagePath), "kernel", + "NDIS", {}, "", $(NetEventDLL) Set hKeyCurrentVersion = $($R1) Set hKeyNetRule = $($R2) ; Insert other details to the software component's current ; version key. Shell "Utility.Inf", AddValueList, $(hKeyCurrentVersion), + ^(SoftwareCurrentVersion, 1) ; Insert the net bind rules. Shell "Utility.Inf", AddValueList, $(hKeyNetRule), + ^(SoftwareNetBindRules, 1) EndIf CloseRegKey $(hKey) Install "Install-Dll" ;----------------------------------------------------------------------- ; For each detected adapter, create a hardware component (miniport ; instance). ;----------------------------------------------------------------------- ForListDo $(BusDevFuncList) ; Get Bus and Slot from PCI device information Set BusNumber = *($($), 1) Set SlotNumber = *($($), 2) ; Create a new miniport instance, AKA hardware component. Shell "Utility.Inf", AddHardwareComponent, $(SoftwareName), + $(STF_CONTEXTINFNAME), $(SoftwareKeyName) Set hKeyNetCard = $($R1) Set hKeyNetRule = $($R2) Set hKeyParameter = $($R3) Set AdapterNumber = $($R4) ; Insert other details to the NetworkCard key. Shell "Utility.Inf", AddValueList, $(hKeyNetCard), + ^(NetworkCardValues, 1) ;If SingleBand, Update the registry singleband specific IfStr(i) $($1) == "W20" ;Add the miniport parameters. Shell "Utility.Inf", AddValueList, $(hKeyNetCard), + ^(SBNetworkCardValues, 1) EndIf ; Add the miniport parameters. Shell "Utility.Inf", AddValueList, $(hKeyParameter), + ^(MiniportParameters, 1) ;If SingleBand, Update the registry singleband specific IfStr(i) $($1) == "W20" ;Add the miniport parameters. Shell "Utility.Inf", AddValueList, $(hKeyParameter), + ^(SBMiniportParameters, 1) EndIf ; Insert the net bind rules. Shell "Utility.Inf", AddValueList, $(hKeyNetRule), + ^(HardwareNetBindRules, 1) ; Install unattended answer file overrides if running in ; unattended mode. IfStr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell "Utility.Inf", AddDefaultNetCardParameters, + $(hKeyParameter) Else set szCfgPath = $(!STF_WINDOWSSYSPATH)\$(CoinstallerNcpaDll) LoadLibrary "x" $(szCfgPath) LibHand LibraryProcedure ResultList, $(LibHand), NT4ConfigureManager, 1, $(SoftwareName)$(AdapterNumber) FreeLibrary $(LibHand) EndIf EndForListDo ;----------------------------------------------------------------------- ; Install the driver. ;----------------------------------------------------------------------- Install "Install-Option" return STATUS_SUCCESSFUL ;******************************************************************************* ; Called when user clicks the Remove button on the NCPA to remove an ; adapter. ;******************************************************************************* RemoveAdapter = + ;----------------------------------------------------------------------- ; Delete the hardware component (miniport instance). If this is the ; last instance, the software component will be deleted as well. ;----------------------------------------------------------------------- Shell "Utility.Inf", RemoveHardwareComponent, $(Manufacturer), + $(SoftwareName), $(!NTN_RegBase) ;OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(!REG_KEY_READ) hNetCardKey OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(!REG_KEY_READ) hNetCardKey Set BandValue = "Dual" IfStr(i) $(hNetCardKey) != $(KeyNull) GetRegValue $(hNetCardKey),"Band",BandType Set BandValue = *($(BandType), 4) CloseRegKey $(hNetCardKey) EndIf ; Depending upon the BAND, Switch between single and dual Coninstaller dlls. Ifstr $(BandValue) == "Dual" Set CoinstallerNcpaDll = "W70NCPA.DLL" endif Ifstr $(BandValue) == "Single" Set CoinstallerNcpaDll = "W20NCPA.DLL" endif Install "Files-Dll-Cleanup" return STATUS_SUCCESSFUL ;******************************************************************************* ; Called when user clicks the Update button on the NCPA. ;******************************************************************************* UpdateAdapter = + Install "Install-Dll" Install "Install-Option" return STATUS_SUCCESSFUL ;******************************************************************************* ; Called when user clicks the Properties button on the NCPA to modify adapter's ; settings. ;******************************************************************************* ConfigureAdapter = + ;* Retrieve paramters from the registry OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(!REG_KEY_READ) hNetCardKey Set BandValue = "Dual" Set AdapterDisplayName = "" IfStr(i) $(hNetCardKey) != $(KeyNull) ;* Get ServiceName and AdapterTitle GetRegValue $(hNetCardKey) "ServiceName" ServiceInfo Set ServiceName = *($(ServiceInfo),4) GetRegValue $(hNetCardKey) "Title" AdapterTitle Set AdapterDisplayName = *($(AdapterTitle), 4) GetRegValue $(hNetCardKey),"Band",BandType Set BandValue = *($(BandType), 4) EndIf IfStr(i) AdapterDisplayName == "" Set AdapterDisplayName = $(HardwareTitle) EndIf ; Depending upon the BAND, Switch between single and dual Coninstaller dlls. Ifstr $(BandValue) == "Dual" Set CoinstallerNcpaDll = "W70NCPA.DLL" endif Ifstr $(BandValue) == "Single" Set CoinstallerNcpaDll = "W20NCPA.DLL" endif set szCfgPath = $(!STF_WINDOWSSYSPATH)\$(CoinstallerNcpaDll) LoadLibrary "x" $(szCfgPath) LibHand LibraryProcedure ResultList, $(LibHand), NT4ConfigureManager, 0, $(ServiceName) FreeLibrary $(LibHand) ; *** Save paramters to the registry OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(!REG_KEY_READ) hNetCardKey IfStr(i) $(hNetCardKey) != $(KeyNull) GetRegValue $(hNetCardKey) "ServiceName" ServiceInfo Set ServiceName = *($(ServiceInfo),4) Else return STATUS_USERCANCEL EndIf return STATUS_SUCCESSFUL ;******************************************************************************* ; Something's busted! The "To" and "From" variables were set to this entry ; point, so any fatal errors would be trapped here. ;******************************************************************************* FatalError = + return STATUS_FAILED ;******************************************************************************* ; Install the Option files. ;******************************************************************************* [Install-Option] Set STF_VITAL = 1 Set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList "Files-Option-Drivers" $(SrcDir) + $(!STF_WINDOWSSYSPATH)\drivers Set !STF_NCPA_FLUSH_COPYLIST = 1 CopyFilesInCopyList Exit [Install-Dll] Set STF_VITAL = 1 Set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList "Files-Dll" $(SrcDir) + $(!STF_WINDOWSSYSPATH) Set !STF_NCPA_FLUSH_COPYLIST = 1 CopyFilesInCopyList Exit [Files-Option-Drivers] 1, $(NDISSrc), SIZE=50000, RENAME=$(NDIS) [Files-Dll] 1, $(CoinstallerNcpaDll), SIZE=394000 1, $(CoinstallerNcpaRes), SIZE=74000 [Files-Dll-Cleanup] AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(CoinstallerNcpaDll) AddFileToDeleteList $(!STF_WINDOWSSYSPATH)\$(CoinstallerNcpaRes) Exit ;******************************************************************************* ; Adapter Settings Dialog ;******************************************************************************* [AdapterPropertiesDlg] DlgType = "RadioCombination" DlgTemplate = "SINGLE_COMBO" Caption = $(AdapterDisplayName)" Settings" CBOptionsGreyed = {} NotifyFields = {NO} Label1 = "BandSelection" HelpContext = "" BandSelectionList = ^(BandSelectionChoices, 1) BandSelectionValues = ^(BandSelectionChoices, 2) Combo1List = $(BandSelectionList) Combo1Out = $(BandSelectionValues) ComboListItemsIn = {Combo1List} ComboListItemsOut = {Combo1Out} EditTextIn = {" "} EditTextLim = {" "} Continue = "&OK" Cancel = "&Cancel" Help = "&Help" [BandSelectionChoices] BandSelection_1 = "DualBand", DualBand BandSelection_2 = "SingleBand", SingleBandDownload 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.