; OEMSETUP FILE FOR Intel 2104x/2114x 10/100 mbps Ethernet Controller , v5.05 ; NDIS 4.0 - Windows NT 4.0 - ; ; Supported adapters: ; Intel 21040 based Ethernet Controller ; Intel 21041 based Ethernet Controller ; Intel 21140 based 10/100 mpbs Ethernet Controller ; Intel 21142 based 10/100 mbps Ethernet Controller ; Intel 21143 based 10/100 mbps Ethernet Controller ; Intel EB40 21040 based Evaluation board ; Intel EB41 21041 based Evaluation board ; Intel EB140 21140 based 10/100 mpbs Evaluation board ; Intel EB142 21142 based 10/100 mpbs Evaluation board ; Intel EB143 21143 based 10/100 mpbs Evaluation board ; DEC multia's Ethernet Controller ; DEC DE434 PCI Ethernet Adapter ; DEC DE435 PCI Ethernet Adapter ; DEC DE450 PCI Ethernet Adapter ; DEC DE500 PCI Fast Ethernet Adapter ; DEC DE425 EISA Ethernet Adapter ; ; Intel Corporation 1998 ; ; Usage: ; ; This file is the installation/configuration/deinstallation ; procedure of the Intel DC21x4 driver for Windows NT. It can be called ; from Windows Setup directly, or via the Windows NT Networks ; Control Program Applet (NCPA) from inside the Windows ; Control Panel. ; ;---------------------------------------------------------------------------------------- [Identification] OptionType = NetAdapter [PlatformsSupported] ISA EISA "Jazz-Internal Bus" PCI [Options] DC21040 DC21041 DC21140 DC21142 DC21143 EB40 EB41 EB140 EB142 EB143 E143DQS MULTIA DE434 DE435 DE450 DE500 DE425 [ConnectionChoicesDC21040] Connect_0 = "AutoDetect", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesDC21041] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesDC21140] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "100BaseTx (TP 100)", 8 Connect_4 = "100BaseTx (TP 100) Full Duplex", 9 Connect_5 = "100BaseT4", 10 Connect_6 = "100BaseFx", 11 Connect_7 = "100BaseFx Full_Duplex", 12 [ConnectionChoicesDC21142] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 Connect_5 = "100BaseTx (TP 100)", 8 Connect_6 = "100BaseTx (TP 100) Full Duplex", 9 Connect_7 = "100BaseT4", 10 Connect_8 = "100BaseFx", 11 Connect_9 = "100BaseFx Full_Duplex", 12 [ConnectionChoicesDC21143] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 Connect_5 = "100BaseTx (TP 100)", 8 Connect_6 = "100BaseTx (TP 100) Full Duplex", 9 Connect_7 = "100BaseT4", 10 Connect_8 = "100BaseFx", 11 Connect_9 = "100BaseFx Full_Duplex", 12 [ConnectionChoicesEB40] Connect_0 = "10BaseT (TP) ", 2 Connect_1 = "10BaseT (TP) Full Duplex ", 3 [ConnectionChoicesEB41] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full_Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesEB140] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "100BaseTx (TP 100)", 8 Connect_4 = "100BaseTx (TP 100) Full Duplex", 9 [ConnectionChoicesEB142] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "100BaseTx (TP 100)", 8 Connect_5 = "100BaseTx (TP 100) Full Duplex", 9 Connect_6 = "100BaseT4", 10 Connect_7 = "100BaseFx", 11 Connect_8 = "100BaseFx Full_Duplex", 12 [ConnectionChoicesEB143] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "100BaseTx (TP 100)", 8 Connect_5 = "100BaseTx (TP 100) Full Duplex", 9 Connect_6 = "100BaseT4", 10 Connect_7 = "100BaseFx", 11 Connect_8 = "100BaseFx Full_Duplex", 12 [ConnectionChoicesE143DQS] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (TP) ", 2 Connect_2 = "10BaseT (TP) Full Duplex ", 3 Connect_6 = "100BaseTx (TP 100)", 8 Connect_7 = "100BaseTx (TP 100) Full Duplex", 9 [ConnectionChoicesMULTIA] Connect_0 = "AutoDetect", 0 Connect_1 = "10BaseT (Twisted_Pair) ", 2 Connect_2 = "10BaseT Full_Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesDE434] Connect_0 = "10BaseT (Twisted_Pair) ", 2 Connect_1 = "10BaseT Full_Duplex ", 3 [ConnectionChoicesDE435] Connect_0 = "AutoDetect", 0 Connect_1 = "10BaseT (Twisted_Pair) ", 2 Connect_2 = "10BaseT Full_Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesDE450] Connect_0 = "AutoSense", 0 Connect_1 = "10BaseT (Twisted_Pair) ", 2 Connect_2 = "10BaseT Full_Duplex ", 3 Connect_3 = "10Base2 (BNC)", 1 Connect_4 = "10Base5 (AUI)", 5 [ConnectionChoicesDE500] Connect_0 = "AutoSense", 0 Connect_1 = "100BaseTx", 8 Connect_2 = "100BaseTx Full_Duplex", 9 Connect_3 = "10BaseT", 2 Connect_4 = "10BaseT Full_Duplex", 3 [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 NetEventDLL = "%SystemRoot%\System32\netevent.dll" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "Intel" ProductMajorVersion = "5" ProductMinorVersion = "05" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) VendorID = 4113 ;; 1011 (DEC) ;;for systemsoft cardwizard PCMCIADBKeyName = $(!NTN_ServiceBase)"\Pcmcia\DataBase" PCMCIARMKeyName = $(!NTN_ServiceBase)"\resman\MacDataBase" PCMCIARMPKeyName = $(!NTN_ServiceBase)"\resman" DC21X4Manufacture = "Intel" DC21X4Model = "EB143CS - CardBus evaluation board" ProductSoftwareName = "DC21X4" ProductSoftwareTitle = "Intel DC21X4 Adapter Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\DC21X4.sys" NetRuleSoftwareType = "DC21X4Sys ndisDriver DC21X4Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """DC21X4Sys"" yes no container" NetRuleSoftwareClass = {"DC21X4Driver basic"} NetRuleSoftwareSWBindable = {"DC21X4Driver DC21040Adapter non exclusive 100",+ "DC21X4Driver DC21041Adapter non exclusive 100",+ "DC21X4Driver DC21140Adapter non exclusive 100",+ "DC21X4Driver DC21142Adapter non exclusive 100",+ "DC21X4Driver DC21143Adapter non exclusive 100",+ "DC21X4Driver EB40Adapter non exclusive 100",+ "DC21X4Driver EB41Adapter non exclusive 100",+ "DC21X4Driver EB140Adapter non exclusive 100",+ "DC21X4Driver EB142Adapter non exclusive 100",+ "DC21X4Driver EB143Adapter non exclusive 100",+ "DC21X4Driver E143DQSAdapter non exclusive 100",+ "DC21X4Driver MULTIAAdapter non exclusive 100",+ "DC21X4Driver DE434Adapter non exclusive 100",+ "DC21X4Driver DE435Adapter non exclusive 100",+ "DC21X4Driver DE500Adapter non exclusive 100",+ "DC21X4Driver DE450Adapter non exclusive 100",+ "DC21X4Driver DE425Adapter non exclusive 100"} OptionHelpFile = "DC21X4.hlp" ProductHardwareName = "DC21X4" ProductHardwareDC21040Title = "Intel 21040 based Ethernet Controller" NetRuleHardwareDC21040Type = "DC21040 DC21040Adapter" NetRuleHardwareDC21040Class = {"DC21040Adapter basic"} AdapterDC21040Type = 5 ;; PCI board HelpDC21040Id = 10 DC21040CFID = 135185 ;; 0x00021011 ProductHardwareDC21041Title = "Intel 21041 based Ethernet Controller" NetRuleHardwareDC21041Type = "DC21041 DC21041Adapter" NetRuleHardwareDC21041Class = {"DC21041Adapter basic"} AdapterDC21041Type = 5 ;; PCI board HelpDC21041Id = 20 DC21041CFID = 1314833 ;; 0x00141011 ProductHardwareDC21140Title = "Intel 21140 based 10/100 mpbs Ethernet Controller" NetRuleHardwareDC21140Type = "DC21140 DC21140Adapter" NetRuleHardwareDC21140Class = {"DC21140Adapter basic"} AdapterDC21140Type = 5 ;; PCI board HelpDC21140Id = 30 DC21140CFID = 593937 ;; 0x00091011 StoreAndForward = 0 ;; Store_and_forward mode disabled TxmThreshold100 = 512 ;; 100Mbps default threshold ProductHardwareDC21142Title = "Intel 21142 based 10/100 mpbs Ethernet Controller" NetRuleHardwareDC21142Type = "DC21142 DC21142Adapter" NetRuleHardwareDC21142Class = {"DC21142Adapter basic"} AdapterDC21142Type = 5 ;; PCI board HelpDC21142Id = 40 DC21142CFID = 1642513 ;; 0x00191011 ProductHardwareDC21143Title = "Intel 21143 based 10/100 mpbs Ethernet Controller" NetRuleHardwareDC21143Type = "DC21143 DC21143Adapter" NetRuleHardwareDC21143Class = {"DC21143Adapter basic"} AdapterDC21143Type = 5 ;; PCI board HelpDC21143Id = 50 DC21143CFID = 1642513 ;; 0x00191011 ProductHardwareEB40Title = "Intel EB40 21040 based Evaluation board" NetRuleHardwareEB40Type = "EB40 EB40Adapter" NetRuleHardwareEB40Class = {"EB40Adapter basic"} AdapterEB40Type = 5 ;; PCI board HelpEB40Id = 100 EB40CFID = 135185 ;; 0x00021011 ProductHardwareEB41Title = "Intel EB41 21041 based Evaluation board" NetRuleHardwareEB41Type = "EB41 EB41Adapter" NetRuleHardwareEB41Class = {"EB41Adapter basic"} AdapterEB41Type = 5 ;; PCI board HelpEB41Id = 110 EB41CFID = 1314833 ;; 0x00141011 ProductHardwareEB140Title = "Intel EB140 21140 based 10/100 mpbs Evaluation board" NetRuleHardwareEB140Type = "EB140 EB140Adapter" NetRuleHardwareEB140Class = {"EB140Adapter basic"} AdapterEB140Type = 5 ;; PCI board HelpEB140Id = 120 EB140CFID = 593937 ;; 0x00091011 ProductHardwareEB142Title = "Intel EB142 21142 based 10/100 mpbs Evaluation board" NetRuleHardwareEB142Type = "EB142 EB142Adapter" NetRuleHardwareEB142Class = {"EB142Adapter basic"} AdapterEB142Type = 5 ;; PCI board HelpEB142Id = 130 EB142CFID = 1642513 ;; 0x00191011 ProductHardwareEB143Title = "Intel EB143 21143 based 10/100 mpbs Evaluation board" NetRuleHardwareEB143Type = "EB143 EB143Adapter" NetRuleHardwareEB143Class = {"EB143Adapter basic"} AdapterEB143Type = 5 ;; PCI board HelpEB143Id = 140 EB143CFID = 1642513 ;; 0x00191011 ProductHardwareE143DQSTitle = "Intel EB143DQS-20 21143 based 10/100 mpbs only Evaluation board" NetRuleHardwareE143DQSType = "EB143 EB143Adapter" NetRuleHardwareE143DQSClass = {"EB143Adapter basic"} AdapterE143DQSType = 5 ;; PCI board HelpE143DQSId = 260 E143DQSCFID = 1642513 ;; 0x00191011 ProductHardwareMULTIATitle = "DEC multia's Ethernet Controller" NetRuleHardwareMULTIAType = "MULTIA MULTIAAdapter" NetRuleHardwareMULTIAClass = {"MULTIAAdapter basic"} AdapterMULTIAType = 5 ;; PCI board HelpMULTIAId = 200 MULTIACFID = 135185 ;; 0x00021011 SiaRegister0 = 12353 ;; CSR13 = 0x3041 SiaRegister1 = 0 ;; CSR14 = 0x0000 SiaRegister2 = 6 ;; CSR15 = 0x0006 ProductHardwareDE434Title = "DEC DE434 EtherWORKS Turbo PCI TP Adapter" NetRuleHardwareDE434Type = "DE434 DE434Adapter" NetRuleHardwareDE434Class = {"DE434Adapter basic"} AdapterDE434Type = 5 ;; PCI board HelpDE434Id = 210 DE434CFID = 135185 ;; 0x00021011 ProductHardwareDE435Title = "DEC DE435 EtherWORKS Turbo PCI Combo Adapter" NetRuleHardwareDE435Type = "DE435 DE435Adapter" NetRuleHardwareDE435Class = {"DE435Adapter basic"} AdapterDE435Type = 5 ;; PCI board HelpDE435Id = 220 DE435CFID = 135185 ;; 0x00021011 ProductHardwareDE450Title = "DEC DE450 EtherWORKS Turbo PCI Combo Adapter" NetRuleHardwareDE450Type = "DE450 DE450Adapter" NetRuleHardwareDE450Class = {"DE450Adapter basic"} AdapterDE$50Type = 5 ;; PCI board HelpDE450Id = 240 DE450CFID = 1314833 ;; 0x00141011 ProductHardwareDE500Title = "DEC DE500 FastEtherWORKS 10/100 PCI Adapter" NetRuleHardwareDE500Type = "DE500 DE500Adapter" NetRuleHardwareDE500Class = {"DE500Adapter basic"} AdapterDE500Type = 5 ;; PCI board HelpDE500Id = 250 DE500CFID = 593937 ;; 0x00091011 ProductHardwareDE425Title = "DEC DE425 EISA Ethernet Adapter" NetRuleHardwareDE425Type = "DE425 DE425Adapter" NetRuleHardwareDE425Class = {"DE425Adapter basic"} AdapterDE425Type = 2 ;; EISA board DE425CFID = 135185 ;; 0x00021011 DE425_1BYTE = 1346544400 ;;Compressed EISA ID "DEC4250" EISA_MASK = 4043309055 NetRuleHardwareBindForm = " yes yes container" ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 KeyNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyParameters = "" TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers SystemsoftPresent = $(FALSE) [date] Now = {} ? $(!LIBHANDLE) GetSystemDate ;--------------------------------------------------------------------------- ; 1. Identify ; ; DESCRIPTION: To verify that this INF deals with the same type of options ; as we are choosing currently. ; ; INPUT: None ; ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL ; $($R1): Option Type (COMPUTER ...) ; $($R2): Diskette description ;--------------------------------------------------------------------------- [Identify] read-syms Identification set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) ;------------------------------------------------------------------------ ; 2. ReturnOptions: ; ; DESCRIPTION: To return the option list supported by this INF and the ; localised text list representing the options. ; ; ; INPUT: $($0): Language used. ( ENG | FRN | ... ) ; ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL | ; STATUS_NOLANGUAGE ; STATUS_FAILED ; STATUS_NOTSUPPORTED ; ; $($R1): Option List ; $($R2): Option Text List ;------------------------------------------------------------------------ [ReturnOptions] set Status = STATUS_FAILED set OptionList = {} set OptionTextList = {} ; check if language requested is supported set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($1) == "" goto returnoptions endif ; check if platform requested is supported set PlatformList = ^(PlatformsSupported, 1) Ifcontains(i) $($1) in $(PlatformList) goto returnoptions else set Status = STATUS_NOTSUPPORTED goto finish_ReturnOptions endif else set Status = STATUS_NOLANGUAGE goto finish_ReturnOptions endif ;form a list of all options and another of all the represnting text returnoptions = + set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL finish_ReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) ;------------------------------------------------------------------------ ; ; InstallOption: ; ; This section is shelled to by main installation processing ; or by NCPASHEL.INF during reconfig, removal, update, etc. ; ; ; FUNCTION: To copy files representing Options ; To configure the installed option ; To update the registry for the installed option ; ; INPUT: $($0): Language to use ; $($1): OptionID to install ; $($2): SourceDirectory ; $($3): AddCopy (YES | NO) ; $($4): DoCopy (YES | NO) ; $($5): DoConfig (YES | NO) ; ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL | ; STATUS_NOLANGUAGE | ; STATUS_USERCANCEL | ; STATUS_FAILED ; ;------------------------------------------------------------------------ [InstallOption] 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 set NetRuleSoftwareBindable = $($R1) read-syms DialogConstants$(!STF_LANGUAGE) ifstr(i) $(!NTN_Origination) == "NCPA" set Continue = "OK" endif read-syms FileConstants$(!STF_LANGUAGE) detect date set-title $(Function$(Option)Title) set to = Begin set from = Begin set CommonStatus = STATUS_SUCCESSFUL EndWait Begin = + Ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = removeadapter else-Ifstr(i) $(!NTN_InstallMode) == Update set StartLabel = UpgradeSoftware else-Ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bindingadapter else-Ifstr(i) $(!NTN_InstallMode) == configure Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo else-ifstr(i) $(Option) == "DE425" Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo else set StartLabel = configureadapter endif else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif set from = $(fatal) set to = $(fatal) goto $(StartLabel) installadapter = + ;--DEBUG ------------------------------------- set !G:DebugOutputControl = $(ON) ;--------------------------------------------- ;;for systemsoft cardwizard OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADBKeyName) $(MAXIMUM_ALLOWED) PCMCIADBKey ifstr $(PCMCIADBKey) == $(NULL) CloseRegKey $(PCMCIADBKey) Debug-Output "PCMCIA service not present" else OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADBKeyName)"\"$(DC21X4Manufacture) $(MAXIMUM_ALLOWED) PCMCIA$(DC21X4Manufacture)Key ifstr $(PCMCIA$(DC21X4Manufacture)Key) == $(NULL) debug-output "Adding "$(PCMCIADBKeyName)"\"$(DC21X4Manufacture) CreateRegKey $(PCMCIADBKey) {$(DC21X4Manufacture), 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIA$(DC21X4Manufacture)Key else debug-output "Manufacture sub key already exist" endif OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADBKeyName)"\"$(DC21X4Manufacture)"\"$(DC21X4Model) $(MAXIMUM_ALLOWED) PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key ifstr $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) == $(NULL) debug-output "Adding "$(PCMCIADBKeyName)"\"$(DC21X4Manufacture)"\"$(DC21X4Model) CreateRegKey $(PCMCIA$(DC21X4Manufacture)Key) {$(DC21X4Model), 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {Driver, 0, $(!REG_VT_SZ),$(ProductSoftwareName)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {DeviceType,0,$(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {InfFileName,0,$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)} else debug-output "Device sub key already exist" GetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key),+"Driver",GetData ifstr *($(GetData),7) != $(ProductSoftwareName) SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {Driver, 0, $(!REG_VT_SZ),$(ProductSoftwareName)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {DeviceType,0,$(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {InfFileName,0,$(!REG_VT_SZ),$(STF_CONTEXTINFNAME)} endif endif CloseRegKey $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) CloseRegKey $(PCMCIA$(DC21X4Manufacture)Key) CloseRegKey $(PCMCIADBKey) endif OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIARMPKeyName) $(MAXIMUM_ALLOWED) PCMCIARMKey ifstr $(PCMCIARMKey) == $(NULL) CloseRegKey $(PCMCIARMKey) Debug-Output "Systemsoft CardWizard service not present" else set SystemsoftPresent = $(TRUE) OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIARMKeyName) $(MAXIMUM_ALLOWED) PCMCIA$(DC21X4MacDB)Key ifstr $(PCMCIA$(DC21X4MacDB)Key) == $(NULL) debug-output "Adding "$(PCMCIARMKeyName) CreateRegKey $(PCMCIARMKey) {"MacDataBase" , 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIA$(DC21X4MacDB)Key CloseRegKey PCMCIA$(DC21X4MacDB)Key endif CloseRegKey $(PCMCIARMKey) endif ;;this addition is for hot swap capability OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIARMKeyName) $(MAXIMUM_ALLOWED) PCMCIARMKey ifstr $(PCMCIARMKey) == $(NULL) CloseRegKey $(PCMCIARMKey) Debug-Output "Systemsoft CardWizard service not present" else OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIARMKeyName)"\"$(DC21X4Manufacture) $(MAXIMUM_ALLOWED) PCMCIA$(DC21X4Manufacture)Key ifstr $(PCMCIA$(DC21X4Manufacture)Key) == $(NULL) debug-output "Adding "$(PCMCIARMKeyName)"\"$(DC21X4Manufacture) CreateRegKey $(PCMCIARMKey) {$(DC21X4Manufacture), 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIA$(DC21X4Manufacture)Key else debug-output "Manufacture sub key already exist" endif OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIARMKeyName)"\"$(DC21X4Manufacture)"\"$(DC21X4Model) $(MAXIMUM_ALLOWED) PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key ifstr $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) == $(NULL) debug-output "Adding "$(PCMCIARMKeyName)"\"$(DC21X4Manufacture)"\"$(DC21X4Model) CreateRegKey $(PCMCIA$(DC21X4Manufacture)Key) {$(DC21X4Model), 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverHandle, 0, $(!REG_VT_DWORD),0} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverName,0,$(!REG_VT_SZ),$(ProductSoftwareName)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverState,0,$(!REG_VT_DWORD),1} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)$(ProductMinorVersion)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacSwapCapability,0,$(!REG_VT_DWORD),2} else debug-output "Device sub key already exist" GetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key),+"MacDriverName",GetData ifstr *($(GetData),7) != $(ProductSoftwareName) SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverHandle, 0, $(!REG_VT_DWORD),0} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverName,0,$(!REG_VT_SZ),$(ProductSoftwareName)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverState,0,$(!REG_VT_DWORD),1} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacDriverVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)$(ProductMinorVersion)} SetRegValue $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) {MacSwapCapability,0,$(!REG_VT_DWORD),2} endif endif CloseRegKey $(PCMCIA$(DC21X4Manufacture)$(DC21X4Model)Key) CloseRegKey $(PCMCIA$(DC21X4Manufacture)Key) CloseRegKey $(PCMCIARMKey) endif ;;; ; ; First, check whether the same version of the software exists ;-------------------------------------------- ; FOR DEBUGGING ; to debug the inf file change the OFF to ON set !G:DebugOutputControl = $(OFF) ; you will then be able to see debug prints of this kind: Debug-Output "oemsetup.inf: @#!$%" ;-------------------------------------------- OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) ; Same version already existed in the local machine ; Popup the dialog and ask the user whether he wants to continue CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) ;Cannot install the same software again Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif goto end else ; Add new adapter card? Shell $(UtilityInf), CardExistedDlg ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R1) != "OK" set CommonStatus = STATUS_USERCANCEL goto end endif set OldVersionExisted = $(TRUE) endif Endif 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 set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) install "Install-Hlp" endif Goto installproduct configureadapter = + Ifstr(i) $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Goto fatalregistry Endif Endif Shell $(UtilityInf) FindService, $(KeyProduct) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Goto ShellCodeError Endif Ifstr(i) $($R0) != NO_ERROR Goto fatalregistry endif set KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(KeyParameters) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE goto fatalregistry endif set OldVersionExisted = $(TRUE) set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} ; Get the old values from the Registry [Get Values] EnumRegValue $(KeyParameters) ValueList ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) Ifstr(i) $(ValueName) == "ConnectionType" set ConnectionIndex = $(ValueData) endif EndForListDo set ConnectionValue = *($(ConnectionList), ~($(ConnectionValues),$(ConnectionIndex))) ifstr(i) $(ConnectionValue) == "" set ConnectionValue = *($(ConnectionList), 2) endif adapteroptions = + ifstr(i) $(Option) != "DE425" set from = adapteroptions read-syms FileDependentDlg$(!STF_LANGUAGE) SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id) ui start "InputDlg" ifstr(i) $(DLGEVENT) == "CONTINUE" set ConnectionIndex = $(Combo1Out) ui pop 1 else-ifstr(i) $(DLGEVENT) == "BACK" set CommonStatus = STATUS_USERCANCEL ui pop 1 goto end else ui pop 1 goto end endif set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex))) ifstr(i) $(!NTN_InstallMode) == configure goto updateparameters endif endif installproduct =+ StartWait ifstr(i) $(Option) == "DE425" Shell $(UtilityInf), EISAFindBus, $($(Option)_1BYTE),$(EISA_MASK) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) == {} set Error = $(CANNOT_FIND_ANY_CARD) set CommonStatus = USER_CANCEL set from = end goto nonfatal endif set AdapterList = $($R1) else set-div DeviceID = $($(Option)CFID) 65536 Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R0) == {} set Error = $(CANNOT_FIND_ANY_CARD) set CommonStatus = USER_CANCEL set from = end goto nonfatal endif set AdapterList = $($R0) endif 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 set Error = $($R0) Goto fatal Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Goto successful Endif Set SrcDir = $($R1) Endif 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 Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL) Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ; At this point: ; $R1 contains the product version key handle; ; $R2 contains the NetRules subkey handle; ; $R3 contains the new Services key handle; ; $R4 contains the Parameters key ; $R5 contains the Linkage Key set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" 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) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait 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)}, + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareSWBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait goto fatalregistry endif endif ForListDo $(AdapterList) set BusNum = *($($),1) set DeviceNum = *($($),2) set FunctionNum = *($($),3) ifstr(i) $(Option) == "DE425" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), + $(DeviceNum), $(ProductHardware$(Option)Description), $(ProductHardwareName) "YES" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) != "YES" Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) ifint $($R4) != -1 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), + $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)) endif ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif Set HardNetCardKey = $($R1) Set HardNetRuleKey = $($R2) Set HardParameterKey = $($R3) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set BusTypeNum = 2 set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+ {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$($(Option)CFID)}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)"""" set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm) set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+ {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(HardNetCardKey) CloseRegKey $(HardNetRuleKey) CloseRegKey $(HardParameterKey) endif else Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), + $(DeviceNum), $(ProductHardware$(Option)Description), $(ProductHardwareName) "YES" ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) != "YES" ifstr(i) $(!STF_GUI_UNATTENDED) != "YES" read-syms FileDependentDlg$(!STF_LANGUAGE) SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id) ui start "InputDlg" ifstr(i) $(DLGEVENT) == "CONTINUE" set ConnectionIndex = $(Combo1Out) ui pop 1 else-ifstr(i) $(DLGEVENT) == "BACK" set CommonStatus = STATUS_USERCANCEL ui pop 1 goto end else ui pop 1 goto end endif endif Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) ifint $($R4) != -1 Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)) endif ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR" EndWait CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex))) ; At this point: ; $R1 Registry key variable for HARDWARE\Netcard\(n) ; $R2 Registry key variable for HARDWARE\Netcard\(n)\\NetRules ; $R3 Registry key handle for <service>\Parameters key ; $R4 Adapter number assigned to adapter ; $R5 Service name generated by combining svc name with adapter number Set HardNetCardKey = $($R1) Set HardNetRuleKey = $($R2) Set HardParameterKey = $($R3) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set BusTypeNum = 5 ifint $(SystemsoftPresent) == $(TRUE) set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+ {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$($(Option)CFID)},+ {PCMCIA,$(NoTitle),$(!REG_VT_DWORD),1}} else set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+ {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$($(Option)CFID)}} endif Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifint $($(Option)CFID) == $(DC21041CFID) set NewValueList = {{SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set NewValueList = {{NwayProtocol,$(NoTitle),$(!REG_VT_DWORD),1}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ifint $($(Option)CFID) == $(DC21142CFID) set NewValueList = {{StoreAndForward,$(NoTitle),$(!REG_VT_DWORD),$(StoreAndForward)},+ {SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set NewValueList = {{NwayProtocol,$(NoTitle),$(!REG_VT_DWORD),1}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ifint $($(Option)CFID) == $(DC21143CFID) set NewValueList = {{StoreAndForward,$(NoTitle),$(!REG_VT_DWORD),$(StoreAndForward)},+ {SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ifint $($(Option)CFID) == $(DE450CFID) set NewValueList = {{SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ifint $($(Option)CFID) == $(DC21140CFID) set NewValueList = {{StoreAndForward,$(NoTitle),$(!REG_VT_DWORD),$(StoreAndForward)},+ {TransmitThreshold100,$(NoTitle),$(!REG_VT_DWORD),$(TxmThreshold100)},+ {SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif ifstr(i) $(Option) == "MULTIA" set NewValueList = {{ExternalSia,$(NoTitle),$(!REG_VT_DWORD),1},+ {SiaRegister0,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister0)},+ {SiaRegister1,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister1)},+ {SiaRegister2,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister2)}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif endif set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)"""" set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm) set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+ {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(HardNetCardKey) CloseRegKey $(HardNetRuleKey) set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+ {FunctionNumber,$(NoTitle),$(!REG_VT_DWORD),$(FunctionNum)}} Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList) CloseRegKey $(HardParameterKey) endif endif EndForListDo ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) endif EndWait goto successful updateparameters =+ set HardParameterKey = $($R3) set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}} Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif CloseRegKey $(KeyParameters) goto successful bindingadapter =+ set Error = "Binding: Sorry, not yet implemented." goto fatal removeadapter = + Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif else Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end UpgradeSoftware = + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error" goto ShellCodeError endif set !UG_Filename = $($R0) install "Install-Update" ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS goto fatal endif SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} CloseRegKey $(KeyProduct) else goto fatalregistry endif goto end successful = + goto end abandon = + ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif EndForListDo Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), FALSE ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif 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) == "" Set Severity = NONFATAL 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 abandon endif goto end end = + goto term term = + Return $(CommonStatus) [Install-Option] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif Exit [Install-Hlp] set STF_VITAL = "" AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList Exit [Install-Update] set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Source Media Descriptions] 1 = "Intel DC21x4 NDIS 4.0 Driver" [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 STF_PLATFORM = PPC STF_PLATFORM = Alpha [Files-Inf] 2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename) [Files-DC21040] 1,DC21X4.SYS , SIZE=999 [Files-DC21041] 1,DC21X4.SYS , SIZE=999 [Files-DC21140] 1,DC21X4.SYS , SIZE=999 [Files-DC21142] 1,DC21X4.SYS , SIZE=999 [Files-DC21143] 1,DC21X4.SYS , SIZE=999 [Files-EB40] 1,DC21X4.SYS , SIZE=999 [Files-EB41] 1,DC21X4.SYS , SIZE=999 [Files-EB140] 1,DC21X4.SYS , SIZE=999 [Files-EB142] 1,DC21X4.SYS , SIZE=999 [Files-EB143] 1,DC21X4.SYS , SIZE=999 [Files-E143DQS] 1,DC21X4.SYS , SIZE=999 [Files-MULTIA] 1,DC21X4.SYS , SIZE=999 [Files-DE434] 1,DC21X4.SYS , SIZE=999 [Files-DE435] 1,DC21X4.SYS , SIZE=999 [Files-DE450] 1,DC21X4.SYS , SIZE=999 [Files-DE500] 1,DC21X4.SYS , SIZE=999 [Files-DE425] 1,DC21X4.SYS , SIZE=999 [Files-Hlp] 1,DC21X4.HLP , SIZE=999 [LanguagesSupported] ENG [OptionsTextENG] DC21040 = "Intel 21040 based Ethernet Controller" DC21041 = "Intel 21041 based Ethernet Controller" DC21140 = "Intel 21140 based 10/100 mpbs Ethernet Controller" DC21142 = "Intel 21142 based 10/100 mpbs Ethernet Controller" DC21143 = "Intel 21143 based 10/100 mpbs Ethernet Controller" EB40 = "Intel EB40 21040 based Evaluation board" EB41 = "Intel EB41 21041 based Evaluation board" EB140 = "Intel EB140 21140 based 10/100 mpbs Evaluation board" EB142 = "Intel EB142 21142 based 10/100 mpbs Evaluation board" EB143 = "Intel EB143 21143 based 10/100 mpbs Evaluation board" E143DQS = "Intel EB143DQS 21143 based 10/100 mpbs only Evaluation board" MULTIA = "DEC multia's Ethernet Controller" DE434 = "DEC DE434 EtherWORKS Turbo PCI TP Adapter" DE435 = "DEC DE435 EtherWORKS Turbo PCI Combo Adapter" DE450 = "DEC DE450 EtherWORKS Turbo PCI Combo Adapter" DE500 = "DEC DE500 FastEtherWORKS 10/100 PCI Adapter" DE425 = "DEC DE425 EtherWORKS Turbo EISA Adapter" [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:" ProductSoftwareDescription = "Intel DC21x4 Driver" FunctionDC21040Title = "Intel 21040 based Ethernet Controller Setup" ProductHardwareDC21040Description = "Intel 21040 based Ethernet Controller" FunctionDC21041Title = "Intel 21041 based Ethernet Controller Setup" ProductHardwareDC21041Description = "Intel 21041 based Ethernet Controller" FunctionDC21140Title = "DIntel 21140 based 10/100 mpbs Ethernet Controller Setup" ProductHardwareDC21140Description = "Intel 21140 based 10/100 mpbs Ethernet Controller" FunctionDC21142Title = "Intel 21142 based 10/100 mpbs Ethernet Controller Setup" ProductHardwareDC21142Description = "Intel 21142 based 10/100 mpbs Ethernet Controller" FunctionDC21143Title = "Intel 21143 based 10/100 mpbs Ethernet Controller Setup" ProductHardwareDC21143Description = "Intel 21143 based 10/100 mpbs Ethernet Controller" FunctionEB40Title = "Intel EB40 21040 based Evaluation Board Setup" ProductHardwareEB40Description = "Intel EB40 21040 based Board" FunctionEB41Title = "Intel EB41 21041 based Evaluation Board Setup" ProductHardwareEB41Description = "Intel EB41 21041 based Evaluation Board" FunctionEB140Title = "Intel EB140 21140 based 10/100 mpbs Evaluation Board Setup" ProductHardwareEB140Description = "Intel EB140 21140 based Evaluation Board" FunctionEB142Title = "Intel EB142 21142 based 10/100 mpbs Evaluation Board Setup" ProductHardwareEB142Description = "Intel EB142 21142 based Evaluation Board" FunctionEB143Title = "Intel EB143 21143 based 10/100 mpbs Evaluation Board Setup" ProductHardwareEB143Description = "Intel EB143 21143 based Evaluation Board" FunctionE143DQSTitle = "Intel EB143DQS_20 21143 based 10/100 mpbs only Evaluation Board Setup" ProductHardwareE143DQSDescription = "Intel E143DQS 21143 based Evaluation Board" FunctionMULTIATitle = "DEC multia's Ethernet Controller Setup" ProductHardwareMULTIADescription = "DEC multia's Ethernet Controller" FunctionDE434Title = "DEC DE434 PCI Adapter Card Setup" ProductHardwareDE434Description = "DEC DE434 EtherWORKS Turbo PCI TP Adapter" FunctionDE435Title = "DEC DE435 PCI Adapter Card Setup" ProductHardwareDE435Description = "DEC DE435 EtherWORKS Turbo PCI Combo Adapter" FunctionDE450Title = "DEC DE450 PCI Adapter Card Setup" ProductHardwareDE450Description = "DEC DE450 EtherWORKS Turbo PCI Combo Adapter" FunctionDE500Title = "DEC DE500 PCI Adapter Card Setup" ProductHardwareDE500Description = "DEC DE500 FastEtherWORKS 10/100 PCI Adapter" FunctionDE425Title = "DEC DE425 EISA Adapter Card Setup" ProductHardwareDE425Description = "DEC DE425 EtherWORKS Turbo EISA Adapter" ConnectionList = ^(ConnectionChoices$(Option), 1) ConnectionValues = ^(ConnectionChoices$(Option), 2) NoList = ^(NoChoices, 1) NoValues = ^(NoChoices, 2) ShellCodeErrorTitle = "Error: "$(Function$(Option)Title) ShellCodeErrorText = "Shell Code Error." CANNOT_FIND_ANY_CARD = "Network card is not present in the system" [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" [FileDependentDlgENG] DlgText = "Choose the proper cable type for the "+ "network adapter. Select [Help] for a detailled "+ "description of the available options of the list." DlgTemplate = "ADAP_PROTO_COMBO" DlgType = "Combination" Caption = $(Function$(Option)Title) Combo1Label = "&Connection Type:" Combo1List = $(ConnectionList) Combo1Out = $(ConnectionValue) ComboListItemsIn = {Combo1List} ComboListItemsOut = {Combo1Out} EditTextLim = "" CBOptionsGreyed = {} MinHelpId = 10 MaxHelpId = 1140 HelpContext = $(Help$(Option)Id)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.