;*********************************************************************** ; ; OEMSETUP.INF ; ; SMSC LAN91CXXX network card and driver SETUP INF file. ; ; ; Copyright (c) 2000 Standard Microsystems Corp. All Rights Reserved ; ; ; 22 November 1994 D. Ebert BaseBand Technologies. ; Updates for NT 3.5. ; 13 January 1995 D. Ebert BaseBand Technologies. ; Updates for FEAST. ; 10 August 1995 D. Ebert BaseBand Technologies. ; Updates for PCMCIA. ; ; 13 Sep 1996 John (Yong Jiang), Yi ; Updates for NT 4.0 ; ; Apr. 22, 1997 Shawn X.D. Meng Elisa Research Inc. ; Added new feature about Early Transmit, Flow Control ; and Duplex. Modified for MII Management about speed ; choice. ; ; May 8, 1998 J. Cao ERI. ; Change installation file name and ; some display strings ; ;*********************************************************************** ;*********************************************************************** ; ; ifdef AltName ; ; ELISA_CardManufacturer AND ELISA_CardKeyName NEED TO BE MODIFIED ACCORDING TO ; ELISA CARD TUPLE ; Example. ; ; 1.In PcmciaKeysSMCM section ; CardManufacturer = "ELISA_CardManufacturer" ; CardKeyName = "ELISA_CardKeyName" ; ; 2.In Options section ; If SMCM is to be changed ELISA, Use ELISA replace SMCM in all of Sections. ; ; 3.In SetUpPcmcia section. ; Changed CreateRegKey to be ELISA_CardManufacturer and SetRegValue to be ; ELISA of Options section. ; ; endif ; ;*********************************************************************** [Identification] OptionType = NetAdapter [PlatformsSupported] ISA PCMCIA [LanguagesSupported] ENG [Options] SMC9000 SMC91C100 SMC91C94 [OptionsTextENG] SMC9000 = "LAN9000 ISA Ethernet Adapter" SMC91C100 = "LAN91C1XX Fast Ethernet Adapter(ISA)" SMC91C94 = "LAN9000 PCMCIA Ethernet Adapter" [Source Media Descriptions] 1 = "SMSC LAN9000 Driver Install Diskette" [Files-SMC9000] 1,lan9000.sys, SIZE=40000 [Files-Dll] 1,lan9000.dll, SIZE=40000 1,lan9000.hlp, SIZE=40000 ;[Files-smcncdet] ; 1, lanncdet.dll, SIZE=40000 [Files-Inf] 1, oemsetup.inf, SIZE=40000, RENAME=$(!UG_Filename) [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [FileConstants] UtilityInf = "UTILITY.INF" ParamInf = "NCPARAM.INF" SubroutnInf = "SUBROUTN.INF" NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\Lan9000.Sys" [RegistryConstantsSMC9000] SoftwareType = "driver" Manufacturer = "SMC" ProductMajorVersion = "3" ProductMinorVersion = "5" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Smc9000" ProductSoftwareTitle = "Smsc9000 Adapter Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\lan9000.sys" NetRuleSoftwareType = "smc9000Sys ndisDriver smc9000Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Smc9000Sys"" yes no container" NetRuleSoftwareClass = {"smc9000Driver basic"} NetRuleSoftwareBindable = {"smc9000Driver smc9000Adapter non exclusive 100"} ProductHardwareName = "Smc9000" ProductHardwareTitle = "SMSC 9000 Adapter" NetRuleHardwareType = "smc9000 smc9000Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"smc9000Adapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" ProductSoftwareDescription = "LAN9000 Ethernet Adapter Driver" ProductHardwareDescription = "LAN9000 Ethernet Adapter" [RegistryConstantsSMC91C94] SoftwareType = "driver" Manufacturer = "SMC" ProductMajorVersion = "3" ProductMinorVersion = "5" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Smc91C94" ProductSoftwareTitle = "Smsc9000 PCMCIA Adapter Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\lan9000.sys" NetRuleSoftwareType = "smc9000Sys ndisDriver smc9000Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Smc9000Sys"" yes no container" NetRuleSoftwareClass = {"smc9000Driver basic"} NetRuleSoftwareBindable = {"smc9000Driver smc91C94Adapter non exclusive 100"} ProductHardwareName = "Smc91C94" ProductHardwareTitle = "LAN9000 PCMCIA Adapter" NetRuleHardwareType = "smc91C94 smc91C94Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"smc91C94Adapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" ProductSoftwareDescription = "LAN9000 PCMCIA Ethernet Adapter Driver" ProductHardwareDescription = "LAN9000 PCMCIA Ethernet Adapter" [RegistryConstantsSMC91C100] SoftwareType = "driver" Manufacturer = "SMC" ProductMajorVersion = "3" ProductMinorVersion = "5" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Smc91C100" ProductSoftwareTitle = "Smsc91C100 Adapter Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\lan9000.sys" NetRuleSoftwareType = "smc9000Sys ndisDriver smc91C100Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Smc9000Sys"" yes no container" NetRuleSoftwareClass = {"smc91C100Driver basic"} NetRuleSoftwareBindable = {"smc91C100Driver smc91C100Adapter non exclusive 100"} ProductHardwareName = "Smc91C100" ProductHardwareTitle = "SMSC 91C100 Adapter" NetRuleHardwareType = "smc91C100 smc91C100Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"smc91C100Adapter basic"} ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters" ProductSoftwareDescription = "SMSC 91C100 Fast Ethernet Adapter Driver" ProductHardwareDescription = "SMSC 91C100 Fast Ethernet Adapter" [GeneralConstants] KeyNull = "" MAXIMUM_ALLOWED = 33554432 KeyProduct = "" KeyParameters = "" PcmciaKey = "" SmcPcmciaKey = "" Smc91c94Key = "" NoTitle = 0 OldVersionExisted = FALSE DriverPath = $(!STF_NTPATH)\drivers [PcmciaKeys] CardManufacturer = "SMC" CardKeyName = "SMC9000 Ethernet PCCard" PcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase" SmcPcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer) Smc91c94Path = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)"\"$(CardKeyName) [FileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "The "$(Option)" Adapter is not correctly installed. "+ "Are you sure you want to cancel copying files?" ProCancelCap = "Network Setup Message" ProText1 = "Copying:" ProText2 = "To:" FunctionTitle = $(Option)" Ethernet Adapter Card Setup" [SmcIrqsSMC9000] IRQ0 = "2",2 IRQ1 = "3",3 IRQ2 = "9",9 IRQ3 = "10",10 IRQ4 = "11",11 [SmcIrqsSMC91C100] IRQ1 = "3",3 IRQ2 = "9",9 IRQ3 = "10",10 IRQ4 = "11",11 [SmcIrqsSMC91C94] IRQ1 = "3",3 IRQ2 = "4",4 IRQ3 = "5",5 IRQ4 = "6",6 IRQ5 = "7",7 IRQ6 = "9",9 IRQ7 = "10",10 IRQ8 = "11",11 IRQ9 = "12",12 IRQ10 = "13",13 IRQ11 = "14",14 IRQ12 = "15",15 [SmcIoBase] Base1 = "0x200",0x0200 Base2 = "0x220",0x0220 Base3 = "0x240",0x0240 Base4 = "0x260",0x0260 Base5 = "0x280",0x0280 Base6 = "0x2A0",0x02A0 Base7 = "0x2C0",0x02C0 Base8 = "0x2E0",0x02E0 Base9 = "0x300",0x0300 Base10 = "0x320",0x0320 Base11 = "0x340",0x0340 Base12 = "0x360",0x0360 Base13 = "0x380",0x0380 Base14 = "0x3A0",0x03A0 Base15 = "0x3C0",0x03C0 Base16 = "0x3E0",0x03E0 [SmcMedia] Media1 = "AutoDetect" Media2 = "10BaseT" Media3 = "BNC" Media4 = "AUI" [SmcSpeed] Speed0 = "100", 100 Speed1 = "10", 0 Speed2 = "Default", 254 Speed3 = "Auto-Negotiation", 255 [SmcDuplex] Duplex0 = "HALF" Duplex1 = "FULL" Duplex2 = "Default" Duplex3 = "Auto-Negotiation" [HexDigits] Hex0 = 0 Hex1 = 1 Hex2 = 2 Hex3 = 3 Hex4 = 4 Hex5 = 5 Hex6 = 6 Hex7 = 7 Hex8 = 8 Hex9 = 9 HexA = A HexB = B HexC = C HexD = D HexE = E HexF = F ;;John++ [AttributeMemChoices] Add_1 = "0xD8000",884736 Add_2 = "0xC0000",786432 Add_3 = "0xC4000",802816 Add_4 = "0xC8000",819200 Add_5 = "0xCC000",835584 Add_6 = "0xD0000",851968 Add_7 = "0xD4000",868352 Add_8 = "0xDC000",901120 ;;John-- [DialogConstantsENG] Help = "&Help" Exit = "&Cancel" OK = "&OK" Advance = "Ad&vance" ContextSMC9000 = 30100 ContextSMC91C100 = 30101 ContextMedia = 30102 ContextSMC91C94 = 30103 ContextAdvance = 30104 ;;J.C. HelpContext = $(Context$(Option)) Continue = "Con&tinue" Cancel = "&Cancel" BadAddr1 = "Network Address must be 12 hexadecimal digits" BadAddr2 = "Network Address contains invalid hexadecimal digit: " BadAddr3 = "Network Address invalid, group bit must be 0" [FileDependentDlgENG] DlgType = "RadioCombination" DlgTemplate = $(Option) CaptionSMC9000 = "LAN9000 Ethernet Adapter Card Setup" CaptionSMC91C94 = "LAN9000 PCMCIA Ethernet Adapter Card Setup" CaptionSMC91C100 = "SMSC 91C100 Fast Ethernet Adapter Card Setup" CaptionAdvance = "Ethernet Adapter Card Advance Setup" Caption = $(Caption$(Option)) Combo1Label = "&IRQ Level:" Combo2Label = "I/O &Base:" Combo3Label = "&Media Type:" Label3 = "&Network Address:" ; AdapterSpeed = "&Adapter Speed" ;;John++ Check1Label = "&WatchDog Timer Enable:" Combo7Label = "&Attribute Mem:" ;;John-- ; ; Add content about the new features. ; Combo5Label = "&Duplex Mode:" Combo4Label = "&Adapter Speed:" Check2Label = "&Early Transmit Enable:" Check3Label = "&Flow Control Enable:" SpeedList = ^(SmcSpeed, 1) DuplexList = ^(SmcDuplex, 1) Combo5List = $(DuplexList) Combo5Out = $(Duplex) Combo4List = $(SpeedList) Combo4Out = $(SpeedValue) ; ; End of adding. ; IrqList = ^(SmcIrqs$(Option), 1) IoBaseList = ^(SmcIoBase, 1) MediaList = ^(SmcMedia, 1) MediaTypeValue = 0 Combo1List = $(IrqList) Combo1Out = $(IRQLevel) Combo2List = $(IoBaseList) Combo2Out = $(IOBaseAddress) Combo3List = $(MediaList) Combo3Out = $(Media) ;;John++ AttributeMemList = ^(AttributeMemChoices, 1) Combo7List = $(AttributeMemList) Combo7Out = *($(AttributeMemList), 7) ;;John-- ComboListInSMC9000 = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List, Combo7List} ComboListOutSMC9000 = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out, Combo7Out} ComboListInSMC91C94 = {Combo1List, Combo2List, Combo3List, Combo7List, Combo5List} ComboListOutSMC91C94 = {Combo1Out, Combo2Out, Combo3Out, Combo7Out, Combo5Out} ComboListInSMC91C100 = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List, Combo7List} ComboListOutSMC91C100= {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out, Combo7Out} ComboListItemsIn = $(ComboListIn$(Option)) ComboListItemsOut = $(ComboListOut$(Option)) CBOptionsGreyed = {} RCCtlFocusOn = 403 [Identify] read-syms Identification shell "" DebugControl set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) [ReturnOptions] shell "" DebugControl set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsText$($0), 1) set Status = STATUS_SUCCESSFUL set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($0) == "" set Status = STATUS_NOLANGUAGE goto ExitReturnOptions endif else set Status = STATUS_NOLANGUAGE goto ExitReturnOptions endif set PlatformList = ^(PlatformsSupported, 1) Ifcontains(i) $($1) NOT-IN $(PlatformList) ifstr(i) $($1) != "" set Status = STATUS_NOTSUPPORTED endif endif ExitReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) [InstallOption] set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) read-syms GeneralConstants read-syms FileConstants read-syms FileDependentDlg$(!STF_LANGUAGE) read-syms DialogConstants$(!STF_LANGUAGE) read-syms FileConstants$(!STF_LANGUAGE) shell "" DebugControl StartWait read-syms RegistryConstants$(Option) set LanguageList = ^(LanguagesSupported, 1) Ifstr(i) $(!NTN_InstallMode) == deinstall set SubFunction = RemoveAdapter else-Ifstr(i) $(!NTN_InstallMode) == install set SubFunction = InstallAdapter else-Ifstr(i) $(!NTN_InstallMode) == update set SubFunction = UpgradeSoftware else-Ifstr(i) $(!NTN_InstallMode) == configure set SubFunction = ConfigureAdapter else set SubFunction = NoWay endif Shell "" $(SubFunction) EndWait return $($R0) [InstallAdapter] read-syms GeneralConstants read-syms FileConstants detect date set CurrentTime = *($(Now),1) set SrcDir = $(!p:SrcDir) set Option = $(!p:Option) set DoCopy = $(!p:DoCopy) set AddCopy = $(!p:AddCopy) set KeyProduct = $(KeyNull) set DoSetup = TRUE read-syms RegistryConstants$(Option) Debug-Output "STC_NCDETECT = "$(!STF_NCDETECT) Debug-Output "STF_NCDETCARD = "$(!STF_NCDETCARD) Debug-Output "STF_NCOPTION = "$(!STF_NCOPTION) Set DetectedCard = FALSE Ifstr(i) $(!STF_NCDETECT) == YES Ifstr(i) $(!STF_NCOPTION) == $(Option) Set DetectedCard = TRUE Endif Endif Debug-Output "SpeedValue = "$(SpeedValue) IfStr(i) $(DetectedCard) == FALSE Shell "" PrepareDetectionDll "lanncdet.dll" Set Status = $($R0) Endif IfStr(i) $(Option) == "smc91c94" Set PCMCIA = 1 Else Set PCMCIA = 0 EndIf Set MediaTypeValue = 0 ifstr(i) $(Option) == "smc9000" Set TypeList = {{IRQ,IRQ_List,IRQLevel},+ {IOADDR, IOBaseAddressDecList, IOBaseValue},+ {TRANSCEIVER, MediaList, MediaTypeValue}} else-ifstr(i) $(Option) == "smc91c94" Set TypeList = {{IRQ,IRQ_List,IRQLevel},+ {IOADDR, IOBaseAddressDecList, IOBaseValue},+ {TRANSCEIVER, MediaList, MediaTypeValue}} else Set TypeList = {{IRQ,IRQ_List,IRQLevel},+ {IOADDR, IOBaseAddressDecList, IOBaseValue},+ {TRANSCEIVER, MediaList, MediaTypeValue}} ; {SPEED, SpeedList, SpeedValue}} endif Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList) Set Status = $($R0) ifstr(i) $(Status) != STATUS_SUCCESSFUL Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT Shell "" FatalError $($R0) Return STATUS_FAILED Endif Shell $(ParamInf) Param_SetDefaults {} Debug-Output "SpeedValue2 = "$(SpeedValue) set OldVersionExisted = FALSE OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) $(!NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle), + $(ProductVersion) ifstr(i) $($R1) != "OK" Return STATUS_FAILED endif else Shell $(UtilityInf), CardExistedDlg ifstr(i) $($R1) != "OK" Return STATUS_FAILED endif set OldVersionExisted = TRUE endif endif IfStr(i) $(DetectedCard) == TRUE shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD) ifstr(i) $($R0) == STATUS_SUCCESSFUL set DetectedParams = $($R1) shell $(ParamInf) Param_SetDefaults $(DetectedParams) else Debug-Output "Param_QueryCard Failed, status = "$($R0) endif endif IfStr(i) $(DoSetup) == TRUE set NetworkAddress = "" ifint $(MediaTypeValue) == 0 set MediaValue = "AutoDetect" else set MediaValue = "10BaseT" endif set ReceiveTimer = 0 set Duplex = "Auto-Negotiation" set SpeedValue = "Auto-Negotiation" set FlowControl = 0 set EarlyTransmit = 0 ; set DLLPATH = "" set DLLPATH = $(SrcDir) ifstr(i) $(DoCopy) == "YES" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) set DLLPATH = $(!STF_CWDDIR) else set BuiltIn = "YES" ifstr(i) $(!NTN_Origination) == "NCPA" Set BuiltIn = "NO" endif Shell $(UtilityInf) DoAskSource $(!STF_CWDDIR) $(SrcDir) $(BuiltIn) set DLLPATH = $($R1) set SrcDir = $($R1) endif endif dowind =+ set AttributeMem = 0 install "Install-Dll" Shell "" AdapterSetup IfStr(i) $($R0) != TRUE Return STATUS_USERCANCEL endif ifstr(i) $(MediaValue) == "AutoDetect" set MediaTypeValue = 0 else-ifstr(i) $(MediaValue) == "10BaseT" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "BNC" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "AUI" set MediaTypeValue = 1 endif Shell $(ParamInf) Param_SaveValues Set NewParamSettings = $($R0) Debug-Output "Calling Verify NewParamSettings" Shell $(ParamInf) Param_VerifyResources $(NewParamSettings) Ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "Parameter Verify Failed" endif IfStr(i) $(OldVersionExisted) == FALSE Shell "" SetCopy $(DoCopy) $(AddCopy) $(SrcDir) "Install-Option" IfStr(i) $($R0) == TRUE Shell "" SetSoftware $(CurrentTime) IfStr(i) $($R0) != TRUE Return STATUS_FAILED endif endif endif Shell "" SetHardware $(CurrentTime) IfStr(i) $($R0) == TRUE Shell "" WriteParameters endif endif IfStr(i) $($R0) == TRUE Return STATUS_SUCCESSFUL else Return STATUS_FAILED endif [ConfigureAdapter] set Option = $(!p:Option) read-syms GeneralConstants read-syms FileConstants read-syms FileDependentDlg$(!STF_LANGUAGE) set DLLPATH = $(!STF_CWDDIR) read-syms RegistryConstants$(Option) ifstr(i) $(!NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf) RegistryErrorString CANNOT_CONFIGURE_SOFTWARE Shell "" ShellError $($R0) Return STATUS_FAILED endif Set DetectedCard = FALSE Set TypeList = {{IRQ,IRQ_List,IRQLevel},+ {IOADDR, IOBaseAddressDecList, IOBaseValue},+ {TRANSCEIVER, MediaList, MediaTypeValue}} Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList) ifstr(i) $($R0) != STATUS_SUCCESSFUL Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT Shell "" FatalError $($R0) Return STATUS_FAILED Endif Ifstr(i) $(!STF_NCDETECT) == YES Ifstr(i) $(!STF_NCOPTION) == $(Option) Set DetectedCard = TRUE Endif Endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) Shell $(UtilityInf) RegistryErrorString CANNOT_FIND_COMPONENT_SERVICE Shell "" ShellError $($R0) Return STATUS_FAILED endif Shell $(UtilityInf) FindService, $(KeyProduct) Ifstr(i) $($R0) != NO_ERROR Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return STATUS_FAILED endif Set !KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(!KeyParameters) == $(KeyNull) Shell $(UtilityInf) RegistryErrorString CANNOT_FIND_COMPONENT_SERVICE Shell "" FatalError $($R0) Return STATUS_FAILED endif set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} EnumRegValue $(!KeyParameters) ValueList set NetworkAddress = "" set PCMCIA = 0 ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) Ifstr(i) $(ValueName) == "Transceiver" set MediaValue = $(ValueData) else-ifstr(i) $(ValueName) == "Interrupt" set IRQLevel = $(ValueData) else-ifstr(i) $(ValueName) == "IoBase" set IOBaseValue = $(ValueData) else-ifstr(i) $(ValueName) == "Speed" set SpeedValue = $(ValueData) Debug-Output "SpeedValue3 = "$(SpeedValue) else-ifstr(i) $(ValueName) == "NetworkAddress" set NetworkAddress = $(ValueData) else-ifstr(i) $(ValueName) == "PCMCIA" set PCMCIA = $(ValueData) else-ifstr(i) $(ValueName) == "ReceiveTimer" set ReceiveTimer = $(ValueData) else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress" set AttributeMem = $(ValueData) else-ifstr(i) $(ValueName) == "EarlyTransmit" set EarlyTransmit = $(ValueData) else-ifstr(i) $(ValueName) == "Duplex" set Duplex = $(ValueData) else-ifstr(i) $(ValueName) == "FlowControl" set FlowControl = $(ValueData) endif EndForListDo ifstr(i) $(MediaValue) == "AutoDetect" set MediaTypeValue = 0 else-ifstr(i) $(MediaValue) == "10BaseT" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "BNC" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "AUI" set MediaTypeValue = 1 endif Shell $(ParamInf) Param_SaveValues set CurrParamSettings = $($R0) winagn =+ Shell "" AdapterSetup IfStr(i) $($R0) != TRUE Return STATUS_USERCANCEL endif ifstr(i) $(MediaValue) == "AutoDetect" set MediaTypeValue = 0 else-ifstr(i) $(MediaValue) == "10BaseT" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "BNC" set MediaTypeValue = 1 else-ifstr(i) $(MediaValue) == "AUI" set MediaTypeValue = 1 endif Shell $(ParamInf) Param_SaveValues Set NewParamSettings = $($R0) Ifstr(i) $(CurrParamSettings) == {} Set DiffParamSettings = $(NewParamSettings) Else Shell $(ParamInf) Param_DiffValues $(CurrParamSettings) Set DiffParamSettings = $($R0) Endif Debug-Output "Calling Verify DiffParamSettings" Shell $(ParamInf) Param_VerifyResources $(DiffParamSettings) Ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "Parameter Verify Failed" Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING Shell "" VerifyError $($R0) ifstr(i) $($R0) != "OK" goto winagn endif endif Shell "" WriteParameters IfStr(i) $($R0) == TRUE Return STATUS_SUCCESSFUL else Debug-Output "Configure Adapter Failed" Return STATUS_FAILED endif [NoWay] read-syms GeneralConstants Shell "" ShellError "NoWay" Return STATUS_FAILED [RemoveAdapter] read-syms GeneralConstants read-syms FileConstants set Option = $(!p:Option) read-syms RegistryConstants$(Option) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifstr(i) $($R0) != NO_ERROR Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return STATUS_FAILURE endif Return STATUS_SUCCESSFUL [UpgradeSoftware] Debug-Output "Trace Message 004" read-syms GeneralConstants set SrcDir = $(!p:SrcDir) set Option = $(!p:Option) read-syms RegistryConstants$(Option) ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) Return STATUS_FAILED endif set DoCopy = YES set AddCopy = YES Shell "" SetCopy $(DoCopy) $(AddCopy) $(SrcDir) "Install-Update" SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} CloseRegKey $(KeyProduct) else OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) NetworkCardKey Ifstr(i) $(NetworkCardKey) == $(KeyNull) Return STATUS_FAILED endif GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo set ServiceName = *($(ServiceNameInfo), 4) OpenRegKey $(NetworkCardKey) "" "NetRules" $(MAXIMUM_ALLOWED) NetRuleKey Ifstr(i) $(NetRuleKey) == $(KeyNull) Return STATUS_FAILED endif CloseRegKey $(NetRules) CloseRegKey $(NetworkCardKey) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ServiceName) $(MAXIMUM_ALLOWED) ServiceKey Ifstr(i) $(ServiceKey) == $(KeyNull) Return STATUS_FAILED endif CloseRegKey $(ServiceKey) endif Return STATUS_SUCCESSFUL [AdapterSetup] set Option = $(!p:Option) read-syms FileDependentDlg$(!STF_LANGUAGE) read-syms DialogConstants$(!STF_LANGUAGE) read-syms FileConstants$(!STF_LANGUAGE) read-syms GeneralConstants read-syms FileConstants read-syms RegistryConstants$(Option) set Combo1Out = $(!p:IRQLevel) set-dectohex Combo2Out = $(!p:IOBaseValue) set MediaValue = $(!p:MediaValue) set NetworkAddress = $(!p:NetworkAddress) set DLLPATH = $(!p:DLLPATH) set-dectohex Combo7Out = $(!p:AttributeMem) set Combo4Out = $(!p:SpeedValue) set Combo5Out = $(!p:Duplex) Debug-Output "SpeedValue4 = "$(Combo4Out) ifstr(i) $(DLLPATH) != "" Split-String $(DLLPATH) "\" TempList QueryListSize ListSize $(TempList) ifstr(i) *($(TempList), $(ListSize)) != "\" set DLLPATH = $(DLLPATH)"\" endif endif SetHelpFile $(DLLPATH)lan9000.hlp 30100 30105 set AdapterStatus = FALSE set Combo3Out = $(MediaValue) set EditTextIn = {$(NetworkAddress)} set NotifyFields = {NO, NO, NO} set EditTextLim = {12} set EditFocusOn = "" ifstr(i) $(Option) == "smc91c100" Debug-Output "SpeedValue5 = "$(!p:SpeedValue) set SpeedValue = $(!p:SpeedValue) else ifint $(!p:ReceiveTimer) == 1 set CheckItemsIn = { "ON" } else set CheckItemsIn = { "OFF" } endif endif Debug-Output "DLLPATH = "$(DLLPATH)"lan9000.dll" loadlibrary "LAN9000 Install Diskette" $(DLLPATH)lan9000.dll DllHandle RetryDialog =+ Debug-Output "ComboListItemsIn = "$(ComboListItemsIn) EndWait Debug-Output "DllHandle = "$(DllHandle) ui start "InputDlg" $(DllHandle) Debug-Output "Wait2" StartWait Debug-Output "Wait3" set NewNetworkAddress = *($(EditTextOut), 1) ifstr(i) $(DLGEVENT) == "FREEBUTTON1" set OldTemplate = $(DlgTemplate) set DlgTemplate = ADVANCE set OldCaption = $(Caption) set Caption = $(CaptionAdvance) ;;J.C.++ set OldContext = $(HelpContext) set HelpContext = $(ContextAdvance) ;;J.C.-- set OldCheckItemsIn = $(CheckItemsIn) set OldComboList = $(ComboListItemsIn) set OldComboListIn = $(ComboListItemsIn) ifint $(!p:EarlyTransmit) == 1 set Check2In = "ON" else set Check2In = "OFF" endif ifint $(!p:FlowControl) == 1 set Check3In = "ON" else set Check3In = "OFF" endif set Combo5Out = $(!p:Duplex) set CheckItemsIn = { $(Check2In), $(Check3In) } EndWait ui start "Inputdlg" $(DllHandle) startWait ui pop 1 set DlgTemplate = $(OldTemplate) set Caption = $(OldCaption) set CheckItemsIn = $(OldCheckItemsIn) set ComboListItemsIn = $(OldComboListIn) set HelpContext = $(OldContext) ;;J.C. ifstr(i) $(DLGEVENT) == "CONTINUE" set Check2Out = *($(CheckItemsOut), 1) set Check3Out = *($(CheckItemsOut), 2) ifstr(i) $(Check2Out) == "ON" set !p:EarlyTransmit = 1 else set !p:EarlyTransmit = 0 endif ifstr(i) $(Check3Out) == "ON" set !p:FlowControl = 1 else set !p:FlowControl = 0 endif set !p:Duplex = $(Combo5Out) endif goto RetryDialog endif ifstr(i) $(DLGEVENT) == "CONTINUE" ifstr(i) $(Option) != "SMC91C100" set AdapterStatus = TRUE endif ifstr(i) $(NewNetworkAddress) != "" Split-String $(NewNetworkAddress), "0123456789ABCDEFabcdef", TempList set HexList = ^(HexDigits, 1) QueryListSize ListSize $(TempList) ifint $(ListSize) == 12 set Index1 = 1 set Loop = 1 else Shell "" WarnError $(BadAddr1) goto RetryDialog endif NetAddrLoop =+ set Temp1 = *($(TempList), $(Index1)) ifcontains(i) $(Temp1) not-in $(HexList) Shell "" WarnError $(BadAddr2)$(Temp1) goto RetryDialog endif ifint $(Index1) == 2 ifcontains(i) $(Temp1) in { 1,3,5,7,9,b,d,f } Shell "" WarnError $(BadAddr3) goto RetryDialog endif endif set-add Index1 = $(Index1), 1 set-add Loop = $(Loop), 1 ifint $(Loop) < 13 goto NetAddrLoop endif endif endif set-hextodec !p:IOBaseValue = $(Combo2Out) set !p:IRQLevel = $(Combo1Out) set !p:NetworkAddress = $(NewNetworkAddress) set !p:SpeedValue = $(Combo4Out) set-hextodec !p:AttributeMem = $(Combo7Out) ui pop 1 ifstr(i) $(DLGEVENT) == "CONTINUE" ifstr(i) $(Option) == "SMC91C100" Debug-Output "Media Type Start" set OldTemplate = $(DlgTemplate) set DlgTemplate = MEDIA set OldContext = $(HelpContext) set HelpContext = $(ContextMedia) set Combo3Out = $(MediaValue) EndWait ui start "InputDlg" $(DllHandle) StartWait ui pop 1 set DlgTemplate = $(OldTemplate) set HelpContext = $(OldContext) ifstr(i) $(DLGEVENT) == "CONTINUE" set AdapterStatus = TRUE set Combo4Out = $(!p:SpeedValue) set MediaValue = $(Combo3Out) else set-dectohex Combo2Out = $(!p:IOBaseValue) set Combo1Out = $(!p:IRQLevel) set Combo4Out = $(!p:SpeedValue) Debug-Output "Media Type Cancel" goto RetryDialog endif endif endif ifstr(i) $(DLGEVENT) == "CONTINUE" IfStr(i) $(!STF_NCDETINFO) == {} Set !p:BusType = 1 Set !p:BusNumber = 0 Else Set !p:BusType = *($(!STF_NCDETINFO),5) Set !p:BusNumber = *($(!STF_NCDETINFO),6) EndIf Endif ifstr(i) $(Option) == "smc9000" set !p:MediaValue = $(Combo3Out) else-ifstr(i) $(Option) == "smc91c94" set !p:MediaValue = $(Combo3Out) set-hextodec !p:AttributeMem = $(Combo7Out) else set !p:MediaValue = $(MediaValue) Debug-Output "SpeedValue6 = "$(Combo4Out) set !p:SpeedValue = $(Combo4Out) ; ifint $(Radio1) == 1 ; set !p:SpeedValue = 100 ; else ; set !p:SpeedValue = 10 ; endif endif endif Debug-Output "CheckItemsOut Status = "$(CheckItemsOut) set Check = *($(CheckItemsOut), 1) ifstr(i) $(Check) == "ON" set !p:ReceiveTimer = 1 Debug-Output "**Check Status = ON" else set !p:ReceiveTimer = 0 Debug-Output "**Check Status = OFF" endif freelibrary $(DllHandle) Debug-Output "AdapterStatus = "$(AdapterStatus) return $(AdapterStatus) [SetCopy] Debug-Output "Trace Message 001" read-syms GeneralConstants read-syms FileConstants read-syms FileConstants$(!STF_LANGUAGE) set DoCopy = $($0) set AddCopy = $($1) set SrcDir = $($2) set InstallSection = $($3) set Needcopy = FALSE Ifstr(i) $(DoCopy) == "YES" set NeedCopy = TRUE else-ifstr(i) $(AddCopy) == "YES" set NeedCopy = TRUE else Return TRUE endif set BuiltIn = "YES" ifstr(i) $(!NTN_Origination) == "NCPA" set BuiltIn = "NO" endif Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) $(BuiltIn) Ifstr(i) $($R0) == STATUS_FAILED Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" Shell "" FatalError $($R0) Return FALSE Else-Ifstr(i) $($R0) == STATUS_USERCANCEL Return FALSE Endif Set SrcDir = $($R1) install $(InstallSection) ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" Shell "" FatalError $($R0) Return FALSE endif Return TRUE [SetSoftware] Debug-Output "Trace Message 002" read-syms GeneralConstants read-syms FileConstants read-syms date set Option = $(!p:Option) read-syms RegistryConstants$(Option) Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL) Ifstr(i) $($R0) != NO_ERROR Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif ; ; At this point: ; $R1 contains the product version key handle; ; $R2 contains the NetRules subkey handle; ; $R3 contains the new Services key handle; and ; $R4 contains the Parameters key ; $R5 contains the Linkage Key ; set KeyProduct = $($R1) Set SoftNetRulesKey = $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) Ifstr(i) $($R0) != NO_ERROR CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif 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),$($0)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) Ifstr(i) $($R0) != NO_ERROR CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE 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),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList) CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) Ifstr(i) $($R0) != NO_ERROR Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif return TRUE [SetHardware] Debug-Output "Trace Message 003" read-syms GeneralConstants read-syms FileConstants read-syms date set Option = $(!p:Option) read-syms RegistryConstants$(Option) Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) Ifstr(i) $($R0) != NO_ERROR CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif ; ; 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 !KeyParameters = $($R3) set KeyAdapterRules = $($R2) set AdapterNumber = $($R4) set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+ {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),$($0)}} Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList) Ifstr(i) $($R0) != NO_ERROR CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif CloseRegKey $($R1) set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)"""" set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm) set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+ {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList) Ifstr(i) $($R0) != NO_ERROR CloseRegKey $(!KeyParameters) CloseRegKey $(KeyAdapterRules) Shell $(UtilityInf) RegistryErrorString $($R0) Shell "" ShellError $($R0) Return FALSE endif CloseRegKey $(KeyAdapterRules) return TRUE [WriteParameters] Debug-Output "Trace Message 005" read-syms FileConstants read-syms GeneralConstants set Option = $(!p:Option) read-syms RegistryConstants$(Option) set Base = $(!p:IOBaseValue) set Irq = $(!p:IRQLevel) set Media = $(!p:MediaValue) set NetworkAddress = $(!p:NetworkAddress) set BusType = $(!p:BusType) set BusNumber = $(!p:BusNumber) set SpeedValue = $(!p:SpeedValue) set ReceiveTimer = $(!p:ReceiveTimer) set PCMCIA = $(!p:PCMCIA) set AttributeMemValue = $(!p:AttributeMem) set EarlyTransmit = $(!p:EarlyTransmit) set FlowControl = $(!p:FlowControl) set Duplex = $(!p:Duplex) Debug-Output "SpeedValue7 = "$(SpeedValue) ifint $(BusType) == 8 set PCMCIA = 1 set BusType = 1 endif Set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusType)},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),0},+ {Transceiver,$(NoTitle),$(!REG_VT_SZ),$(Media)},+ {Interrupt,$(NoTitle),$(!REG_VT_DWORD),$(Irq)},+ {IoBase,$(NoTitle),$(!REG_VT_DWORD),$(Base)},+ {Speed,$(NoTitle),$(!REG_VT_SZ),$(SpeedValue)},+ {ReceiveTimer,$(NoTitle),$(!REG_VT_DWORD),$(ReceiveTimer)},+ {EarlyTransmit,$(NoTitle),$(!REG_VT_DWORD),$(EarlyTransmit)},+ {FlowControl,$(NoTitle),$(!REG_VT_DWORD),$(FlowControl)},+ {Duplex,$(NoTitle),$(!REG_VT_SZ),$(Duplex)},+ {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}} Shell $(UtilityInf), AddValueList, $(!KeyParameters), $(NewValueList) Set Status = $($R0) IfInt $(PCMCIA) == 1 Set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+ {PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(!p:AttributeMem)},+ {PCCARDAttributeMemorySize,$(NoTitle),$(!REG_VT_DWORD),4096},+ {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(Irq)},+ {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(Base)}} Shell $(UtilityInf), AddValueList, $(!KeyParameters), $(NewValueList) Set Status = $($R0) Shell "" SetUpPcmcia else DeleteRegValue $(!KeyParameters) "Pcmcia" DeleteRegValue $(!KeyParameters) "IoBaseAddress" DeleteRegValue $(!KeyParameters) "InterruptNumber" endif CloseRegKey $(!KeyParameters) Ifstr(i) $(Status) != NO_ERROR Shell $(UtilityInf) RegistryErrorString $(Status) Shell "" ShellError $($R0) Return FALSE endif Return TRUE [ShellError] Debug-Output "Trace Message 006" read-syms DialogConstants$(!STF_LANGUAGE) read-syms FileConstants$(!STF_LANGUAGE) set DlgType = "MessageBox" set STF_MB_TITLE = $(FunctionTitle) set STF_MB_TEXT = $($0) set STF_MB_TYPE = 1 set STF_MB_ICON = 3 set STF_MB_DEF = 1 ifstr(i) $(STF_MB_TEXT) == "" set STF_MB_TEXT = "Unknown Error" endif ui start "Error Message" Return [Install-Option] Debug-Output "Trace Message 007" set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-SMC9000 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif Exit [Install-Update] Debug-Output "Trace Message 008" set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-SMC9000 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) ; AddSectionFilesToCopyList Files-lanncdet $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit ;[Install-Dll] ; set STF_VITAL = "" ; AddSectionFilesToCopyList Files-SMC9000 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers ; AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) ; AddSectionFilesToCopyList Files-lanncdet $(SrcDir) $(!STF_WINDOWSSYSPATH) ; set !STF_NCPA_FLUSH_COPYLIST = TRUE ; CopyFilesInCopyList ; Exit [Install-Detection-Dll] Debug-Output "Trace Message 009" LibraryProcedure STATUS,$(!LIBHANDLE), CopySingleFile $(SrcDir)"\lanncdet.dll" $(!STF_WINDOWSSYSPATH)"\lanncdet.dll" exit [PrepareDetectionDll] Debug-Output "Trace Message 010" read-syms GeneralConstants read-syms FileConstants read-syms FileConstants$(!STF_LANGUAGE) Set NewDllName = $($0) set SrcDir = $(!p:SrcDir) Set Status = STATUS_FAILED Set DllValueName = "NetcardDlls" ifstr(i) $(SrcDir) != "" Split-String $(SrcDir) "\" TempList QueryListSize ListSize $(TempList) ifstr(i) *($(TempList), $(ListSize)) != "\" set SrcDir = $(SrcDir)"\" endif endif OpenRegKey $(!REG_H_LOCAL) "" "System\Setup" $(MAXIMUM_ALLOWED) KeySetup Ifstr(i) $(KeySetup) == $(KeyNull) Debug-Output "System\Setup key is NULL" Goto PDD_Return Endif Set DllFound = 0 GetRegValue $(KeySetup) $(DllValueName) DllNamesValue Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) Debug-Output "LastError != Success" Shell $(UtilityInf),RegistryErrorString,$(RegLastError) Shell "" FatalError $($R0) Goto PDD_Return Endif Set DllNames = *($(DllNamesValue),4) Debug-Output "DllNames = "$(DllNames) ForListDo $(DllNames) Ifstr(i) $($) == $(NewDllName) Set DllFound = 1 Endif EndForListDo ;;xxxx++ Ifint $(DllFound) == 0 ;;xxxx-- Set DllNames = >($(DllNames),$(NewDllName)) Set ValueInfo = {$(DllValueName), $(NoTitle), $(!REG_VT_MULTI_SZ), $(DllNames)} SetRegValue $(KeySetup) $(ValueInfo) Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS) Shell "" SetCopy "YES" $(AddCopy) $(SrcDir) "Install-Detection-Dll" Shell $(ParamInf) Param_ControlDetection DTEND Shell $(ParamInf) Param_ControlDetection DTSTART Set Status = STATUS_SUCCESSFUL Else Shell $(UtilityInf),RegistryErrorString,$(RegLastError) Shell "" FatalError $($R0) Endif ;;xxxx++ Else set Status = STATUS_SUCCESSFUL Endif ;;xxxx-- CloseRegKey $(KeySetup) PDD_Return = + Debug-Output "Status from PrepareDetectionDll = "$(Status) Return $(Status) [FatalError] Debug-Output "Trace Message 011" read-syms FileConstants ifstr(i) $($0) == "" set Message = "Unknown Error" else set Message = $($0) endif Shell $(SubroutnInf) SetupMessage $(!STF_LANGUAGE) FATAL $(Message) Return [VerifyError] Debug-Output "Trace Message 012" read-syms FileConstants ifstr(i) $($0) == "" set Message = "Unknown Error" else set Message = $($0) endif Shell $(SubroutnInf) SetupMessage $(!STF_LANGUAGE) WARNING $(Message) Return $($R1) [WarnError] Debug-Output "Trace Message 013" read-syms FileConstants ifstr(i) $($0) == "" set Message = "Unknown Error" else set Message = $($0) endif Shell $(SubroutnInf) SetupMessage $(!STF_LANGUAGE) NONFATAL $(Message) Return [DebugControl] Debug-Output "Trace Message 014" set !DebugOutputControl = 1 return [SetUpPcmcia] Debug-Output "Trace Message 015" Read-Syms GeneralConstants Read-Syms PcmciaKeys Debug-Output "Opening PCMCIA DataBase" OpenRegKey $(!REG_H_LOCAL) "" $(PcmciaPath) $(MAXIMUM_ALLOWED) PcmciaKey IfStr(i) $(PcmciaKey) == $(KeyNull) Debug-Output "Failed to open "$(PcmciaPath) Shell "" FatalError "Cannot Open PCMCIA Registry DataBase!" Return FALSE EndIf Debug-Output "Opening SMSC Key" OpenRegKey $(!REG_H_LOCAL) "" $(SmcPcmciaPath) $(MAXIMUM_ALLOWED) SmcPcmciaKey IfStr(i) $(SmcPcmciaKey) == $(KeyNull) Debug-Output "Open failed - creating key" CreateRegKey $(PcmciaKey) {"SMC", 0, 0 } "" $(MAXIMUM_ALLOWED) "" SmcPcmciaKey IfStr(i) $(SmcPcmciaKey) == $(KeyNull) Debug-Output "Failed to create SMSC key" Shell "" FatalError "Cannot Create SMC Key in Registry DataBase PCMCIA!" CloseRegKey $(PcmciaKey) Return FALSE EndIf EndIf Debug-Output "Opening SMSC 91c94 key = "$(Smc91c94Path) OpenRegKey $(!REG_H_LOCAL) "" $(Smc91c94Path) $(MAXIMUM_ALLOWED) Smc91c94Key IfStr(i) $(Smc91c94Key) == $(KeyNull) Debug-Output "Open failed - creating key" CreateRegKey $(SmcPcmciaKey) {$(CardKeyName), 0, 0 } "" $(MAXIMUM_ALLOWED) "" Smc91c94Key IfStr(i) $(Smc91c94Key) == $(KeyNull) Shell "" FatalError "Cannot Create SMC 91C94 Key in Registry DataBase PCMCIA!" CloseRegKey $(SmcPcmciaKey) CloseRegKey $(PcmciaKey) Return FALSE EndIf EndIf Debug-Output "Writing Driver Keyword" SetRegValue $(Smc91c94Key) {Driver, 0, $(!REG_VT_SZ), "smc91c94"} CloseRegKey $(Smc91c94Key) CloseRegKey $(SmcPcmciaKey) CloseRegKey $(PcmciaKey) Debug-Output "All done with SetUpPcmcia" return TRUEDownload 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.