;*******************************************************************************
;* **
;* 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: 72 $
;*******************************************************************************
; 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.1.6.0"
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}
{ExtendBSSChanEnableB, $(NoTitle), $(!REG_VT_DWORD), 0}
{ExtendBSSChanMaskB, $(NoTitle), $(!REG_VT_DWORD), 14336}
{FeatureSet, $(NoTitle), $(!REG_VT_DWORD), 1048577}
{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}
{ExtendBSSChanEnableA, $(NoTitle), $(!REG_VT_DWORD), 0}
{ExtendBSSChanMaskA, $(NoTitle), $(!REG_VT_DWORD), 0}
{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}"}
{ExtendBSSChanEnableA, $(NoTitle), $(!REG_VT_DWORD), 0}
{ExtendBSSChanMaskA, $(NoTitle), $(!REG_VT_DWORD), 0}
{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", SingleBand
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.