oemsetup.inf Driver File Contents (WireLan_2K_XP.zip)

;*******************************************************************************
;*																			  **
;*					   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", SingleBand
Download Driver Pack

How To Update Drivers Manually

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.

server: ftp, load: 2.57