;***********************************************************************
;
;
;
; SMC 8020 Adapter card and driver SETUP INF file.
;
;
; Copyright (c) 1993 DWB Associates Inc. 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.
; 22 February 1996 Patrick Pinzhong Liu
; Elisa Research Inc.
; Updates for both Multi-Function and single
; function Card
; 15 August 1996 John Rhodes
; Updates for the 8020BTM
; 17 October 1996 Vasantha Jagannath
; Updates for 8020BTM and BT
; 11 November 1996 Vasantha Jagannath
; Fixed PTRs for NT40
;
;***********************************************************************
[Identification]
OptionType = NetAdapter
[PlatformsSupported]
PCMCIA
[LanguagesSupported]
ENG
[Options]
SMC8020
SMC8020M
[OptionsTextENG]
SMC8020 = "SMC EtherEZ PC Card (SMC8020BT)"
SMC8020M = "SMC EtherEZ PC Card+Modem (SMC8020BTM)"
[Source Media Descriptions]
1 = "SMC Driver Install Diskette"
[Files-SMC9000]
1,SMC8020s.sys, SIZE=40000
[Files-Dll]
1,SMC8020m.dll, SIZE=40000
1,SMC8020m.hlp, SIZE=40000
;;[Files-SMCncdet]
;; 1, SMCncdet.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"
[RegistryConstantsSMC8020M]
SoftwareType = "driver"
Manufacturer = "SMC"
ProductMajorVersion = "3"
ProductMinorVersion = "5"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductSoftwareName = "SMC8020M"
ProductSoftwareTitle = "SMC8020 LAN/Modem Adapter Driver"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\SMC8020s.sys"
NetRuleSoftwareType = "SMC9000Sys ndisDriver SMC9000Driver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """SMC9000Sys"" yes no container"
NetRuleSoftwareClass = {"SMC9000Driver basic"}
NetRuleSoftwareBindable = {"SMC9000Driver SMC8020MAdapter non exclusive 100"}
ProductHardwareName = "SMC8020M"
ProductHardwareTitle = "SMC 8020 LAN/Modem Adapter"
NetRuleHardwareType = "SMC8020M SMC8020MAdapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"SMC8020MAdapter basic"}
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
ProductSoftwareDescription = "SMC EtherEZ PC Card+Modem (SMC8020BTM) Adapter Driver"
ProductHardwareDescription = "SMC EtherEZ PC Card+Modem (SMC8020BTM) Adapter"
;Combo++
;
;Modem Registry paths
;
SerialCommPath = "\\HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM"
PortsPath = "\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports"
EtherEZModemPath = "\\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Parameters\EtherEZModem"
PCMCIAPCCARDsPath = "\\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\PCMCIA PCCARDs"
;Combo--
[RegistryConstantsSMC8020]
SoftwareType = "driver"
Manufacturer = "SMC"
ProductMajorVersion = "3"
ProductMinorVersion = "5"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductSoftwareName = "SMC8020"
ProductSoftwareTitle = "SMC8020 PCMCIA Adapter Driver"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\SMC8020s.sys"
NetRuleSoftwareType = "SMC9000Sys ndisDriver SMC9000Driver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """SMC9000Sys"" yes no container"
NetRuleSoftwareClass = {"SMC9000Driver basic"}
NetRuleSoftwareBindable = {"SMC9000Driver SMC8020Adapter non exclusive 100"}
ProductHardwareName = "SMC8020"
ProductHardwareTitle = "SMC 8020 PC Card Adapter"
NetRuleHardwareType = "SMC8020 SMC8020Adapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"SMC8020Adapter basic"}
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
ProductSoftwareDescription = "SMC EtherEZ PC Card (SMC8020BT) Adapter Driver"
ProductHardwareDescription = "SMC EtherEZ PC Card (SMC8020BT) Adapter"
[GeneralConstants]
KeyNull = ""
MAXIMUM_ALLOWED = 33554432
KeyProduct = ""
KeyParameters = ""
;; nishi
AdapterName = ""
;; nishi
PcmciaKey = ""
SMCPcmciaKey = ""
SMC8020mKey = ""
NoTitle = 0
OldVersionExisted = FALSE
DriverPath = $(!STF_NTPATH)\drivers
MyList = {.}
;; MyList = {hex(9)}
[PcmciaKeysSMC8020M]
CardManufacturer = "SMC"
CardKeyName = "EtherEZ Ethernet/Modem 8020"
PcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase"
SMCPcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)
SMC8020Path = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)"\"$(CardKeyName)
[PcmciaKeys]
CardManufacturer = "SMC"
CardKeyName = "EtherEZ Ethernet 8020"
PcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase"
SMCPcmciaPath = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)
SMC8020Path = $(!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"
[SMCIrqs]
;; nishi
IRQ12 = "Auto",0
;; nishi
IRQ0 = "5",5
IRQ1 = "3",3
IRQ2 = "4",4
IRQ3 = "6",6
IRQ4 = "7",7
IRQ5 = "9",9
IRQ6 = "10",10
IRQ7 = "11",11
IRQ8 = "12",12
IRQ9 = "13",13
IRQ10 = "14",14
IRQ11 = "15",15
[SMCIoBase]
;; nishi
Base16 = "Auto",0x0000
;; nishi
Base0 = "0x300",0x0300
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 = "0x320",0x0320
Base10 = "0x340",0x0340
Base11 = "0x360",0x0360
Base12 = "0x380",0x0380
Base13 = "0x3A0",0x03A0
Base14 = "0x3C0",0x03C0
Base15 = "0x3E0",0x03E0
[SMCMedia]
Media0 = "AutoDetect"
Media1 = "10BaseT"
Media2 = "BNC"
[SMCSpeed]
Speed0 = 100
Speed1 = 10
[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
;;Combo++
[ModemPortChoices]
Port_1 = "COM3", 3
Port_2 = "COM2", 2
Port_3 = "COM1", 1
Port_4 = "COM4", 4
[AttributeMemChoices]
;; nishi
Add_9 = "Auto",000000
Add_1 = "0xD0000",851968
Add_2 = "0xC0000",786432
Add_3 = "0xC4000",802816
Add_4 = "0xC8000",819200
Add_5 = "0xCC000",835586
Add_6 = "0xD4000",868352
Add_7 = "0xD8000",884736
Add_8 = "0xDC000",901120
[ModemIOBaseChoices]
MBase0 = "0x3E8",0x03E8
MBase1 = "0x2E8",0x02E8
MBase2 = "0x2F8",0x02F8
MBase3 = "0x3F8",0x03F8
[ModemIrqChoices]
IRQ0 = "5",5
IRQ1 = "3",3
IRQ2 = "4",4
;;Combo--
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
ContextSMC8020M = 30100
ContextLanMod = 30100
HelpContext = $(Context$(Option))
Continue = "Continue"
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)
;;Combo++
Function = "Function &Select"
LAN = "&LAN Only"
MODEM = "&Modem Only"
LANMODEM = "&LAN/Modem"
LANCaption = "SMC EtherEZ PC LAN Card (SMC8020BTM) Setup"
ModemCaption = "SMC EtherEZ PC Modem (SMC8020BTM) Setup"
MultiCaption = "SMC EtherEZ PC Card+Modem (SMC8020BTM) Setup"
CaptionSMC8020 = "SMC EtherEZ PC Card (SMC8020BT) Setup"
CaptionSMC8020M = "SMC EtherEZ PC Card+Modem (SMC8020BTM) Setup"
;;Combo--
Caption = $(Caption$(Option))
Combo1Label = "&IRQ Level:"
Combo2Label = "I/O &Base:"
Combo3Label = "&Media Type:"
;;Combo++
Combo4Label = "Modem &Port:"
Combo5Label = "Modem IR&Q:"
Combo6Label = "Modem I/&O:"
Combo7Label = "&Attribute Mem:"
;;Combo--
Label3 = "&Network Address:"
AdapterSpeed = "&Adapter Speed"
HighSpeed = "High Speed [100mb]"
LowSpeed = "Low Speed [10mb]"
IrqList = ^(SMCIrqs, 1)
IoBaseList = ^(SMCIoBase, 1)
MediaList = ^(SMCMedia, 1)
SpeedValue = ^(SMCSpeed, 1)
MediaTypeValue = 0
Combo1List = $(IrqList)
Combo1Out = $(IRQLevel)
Combo2List = $(IoBaseList)
Combo2Out = $(IOBaseAddress)
Combo3List = $(MediaList)
Combo3Out = $(Media)
;;Combo++
AttributeMemList = ^(AttributeMemChoices, 1)
ModemIOBaseList = ^(ModemIoBaseChoices, 1)
ModemPortList = ^(ModemPortChoices, 1)
ModemIrqList = ^(ModemIrqChoices, 1)
Combo7List = $(AttributeMemList)
Combo7Out = *($(AttributeMemList), 5)
; Modem
ModemPortValues = ^(ModemPortChoices,2)
Combo4List = $(ModemPortList)
Combo4Out = *($(ModemPortList), 3)
Combo5List = $(ModemIrqList)
Combo5Out = *($(ModemIrqList), 2)
Combo6List = $(ModemIOBaseList) 2
Combo6Out = *($(ModemIOBaseList), 3)
ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List, Combo6List, Combo7List}
ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out, Combo6Out, Combo7Out}
;;Combo--
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 " VAS "$(Option)
Debug-Output "nishi: IrqList = $(Combo1List)"
Debug-Output "nishi: IoBaseAddressList = $(Combo2List)"
Debug-Output "nishi: AttributeMemList = $(Combo7List)"
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
;;
;; IfStr(i) $(DetectedCard) == FALSE
;; Shell "" PrepareDetectionDll "SMCncdet.dll"
;; Endif
;; IfStr(i) $(Option) == "SMC8020m"
Set PCMCIA = 1
;; Else
;; Set PCMCIA = 0
;; EndIf
;; ifstr(i) $(Option) == "SMC9000"
;; Set TypeList = {{IRQ,IRQ_List,IRQLevel},+
;; {IOADDR, IOBaseAddressDecList, IOBaseValue},+
;; {TRANSCEIVER, MediaList, MediaTypeValue}}
;; else-ifstr(i) $(Option) == "SMC8020m"
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 {}
;;
set OldVersionExisted = FALSE
Debug-Output " VAS "$(ProductKeyName)
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
CloseRegKey $(KeyProduct)
Debug-Output " VAS1 "
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
Debug-Output "1 VASANTHA Install Adapter "$(SrcDir)
Debug-Output "2 VASANTHA Install Adapter STF_CDIRW "$(!STF_CWDDIR)
set DLLPATH = ""
; ifstr(i) $(DoCopy) == "YES"
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
CloseRegKey $(KeyProduct)
set DLLPATH = $(!STF_CWDDIR)
Debug-Output "3 VASANTHA DoCopy "$(!STF_CWDDIR)
else
set BuiltIn = "YES"
ifstr(i) $(!NTN_Origination) == "NCPA"
Set BuiltIn = "NO"
endif
Shell $(UtilityInf) DoAskSource $(!STF_CWDDIR) $(SrcDir) $(BuiltIn)
Debug-Output "4 VASANTHA Install Adapter SrcDir"$(SrcDir)
Debug-Output "5 VASANTHA Install Adapter DLLPATH "$($R1)
Debug-Output "6 VASANTHA Install Adapter SrcDir"$($R1)
set DLLPATH = $($R1)
set SrcDir = $($R1)
endif
; endif
dowind =+
;;Combo++
set AttributeMem = 0
set ModemIOBase = 0
set ModemIrq = 0
set ModemPort = 0
set Function = 3
;;Combo--
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
endif
;; Shell $(ParamInf) Param_SaveValues
;; Set NewParamSettings = $($R0)
;; Shell $(ParamInf) Param_VerifyResources $(NewParamSettings)
;; Ifstr(i) $($R0) != STATUS_SUCCESSFUL
;; Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
;; Shell "" VerifyError $($R0)
;; ifstr(i) $($R0) != "OK"
;; goto dowind
;; endif
;; 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
Debug-Output "ProductHardwareName "$(ProductHardwareName)
Debug-Output "CONTEXTINF NAME "$(STF_CONTEXTINFNAME)
Debug-Output "ProductKeyName "$(ProductKeyName)
Debug-Output " VAS "$(Option)
Debug-Output " vas "$(!p:Option)
Shell "" SetHardware $(CurrentTime)
IfStr(i) $($R0) == TRUE
Shell "" WriteParameters
Debug-Output " VAS "WriteParameters
endif
endif
ifstr(i) $(Option) == "SMC8020M"
Shell "" SetUpMulti
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)
Debug-Output "7 VASANTHA Configure Adapter "$(!STF_CWDIR)
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)
else-ifstr(i) $(ValueName) == "NetworkAddress"
set NetworkAddress = $(ValueData)
else-ifstr(i) $(ValueName) == "PCMCIA"
set PCMCIA = $(ValueData)
else-ifstr(i) $(ValueName) == "SoftexPcmcia"
set PCMCIA = $(ValueData)
; nishi
else-ifstr(i) $(ValueName) == "AdapterName"
set !AdapterName = $(ValueData)
; nishi
;;Combo++
else-ifstr(i) $(ValueName) == "Function"
set Function = $(ValueData)
else-ifstr(i) $(ValueName) == "COMIRQNumber"
set ModemIrq = $(ValueData)
else-ifstr(i) $(ValueName) == "COMIOBase"
set ModemIOBase = $(ValueData)
else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
set AttributeMem = $(ValueData)
else-ifstr(i) $(ValueName) == "COMPort"
set ModemPort = $(ValueData)
;;Combo--
endif
EndForListDo
ifstr(i) $(MediaValue) == "10BaseT"
set MediaTypeValue = 0
else-ifstr(i) $(MediaValue) == "BNC"
set MediaTypeValue = 1
endif
winagn =+
Shell "" AdapterSetup
IfStr(i) $($R0) != TRUE
Return STATUS_USERCANCEL
endif
ifstr(i) $(MediaValue) == "10BaseT"
set MediaTypeValue = 0
else-ifstr(i) $(MediaValue) == "BNC"
set MediaTypeValue = 1
endif
Shell "" WriteParameters
IfStr(i) $($R0) == TRUE
Return STATUS_SUCCESSFUL
else
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)
;Combo++
ifstr(i) $(Option) == "SMC8020M"
read-syms CustomMessageDlg
ui start "CustomMessageBox"
ui pop 1
endif
;;Combo--
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
;;Combo++
; Remove Software Component
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifstr(i) $($R0) != NO_ERROR
Shell $(UtilityInf) RegistryErrorString $($R0)
Shell "" ShellError $($R0)
Return STATUS_FAILURE
endif
;
; Remove Modem from the Registry
;
ifstr(i) $(Option) == "SMC8020M"
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) MyNewSerialHandle
DeleteRegTree $(MyNewSerialHandle) "EtherEZEthernetModem"
CloseRegKey $(MyNewSerialHandle)
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) MyNewSerialHandle
DeleteRegValue $(MyNewSerialHandle) "EtherEZEthernetModem"
CloseRegKey $(MyNewSerialHandle)
endif
;;Combo--
Return STATUS_SUCCESSFUL
[UpgradeSoftware]
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)
Debug-Output "<DBG: FORCE> ******************************** "
Debug-Output "<DBG: FORCE> *********** Starting AdapterSetup"
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)
; -------------------------- BEGIN FORCE FIX - SHRADHA
; Update the modem info by reading from the ZZZx
; entries under the Serial\Parameters in registry
Debug-Output "<DBG: FORCE> Starting ModemIOBaseList = "$(ModemIOBaseList)
Debug-Output "<DBG: FORCE> Starting ModemIrqList = "$(ModemIrqList)
set SerParams = "SYSTEM\CurrentControlSet\Services\Serial\Parameters"
set ZZZComPort = $(SerParams)"\ZZZa"
install "install-update-modem-info"
set ZZZComPort = $(SerParams)"\ZZZb"
install "install-update-modem-info"
set ZZZComPort = $(SerParams)"\ZZZc"
install "install-update-modem-info"
set ZZZComPort = $(SerParams)"\ZZZd"
install "install-update-modem-info"
Debug-Output "<DBG: FORCE> Final ModemIOBaseList = "$(ModemIOBaseList)
Debug-Output "<DBG: FORCE> Final ModemIrqList = "$(ModemIrqList)
set Combo5List = $(ModemIrqList)
set Combo5Out = *($(ModemIrqList), 2)
set Combo6List = $(ModemIOBaseList)
set Combo6Out = *($(ModemIOBaseList), 3)
set ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List, Combo5List, Combo6List, Combo7List}
set ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out, Combo5Out, Combo6Out, Combo7Out}
;-------------------------- END FORCE FIX - SHRADHA
set Combo1Out = $(!p:IRQLevel)
set-dectohex Combo2Out = $(!p:IOBaseValue)
set MediaValue = $(!p:MediaValue)
set NetworkAddress = $(!p:NetworkAddress)
set DLLPATH = $(!p:DLLPATH)
;
;Combo++
set-dectohex Combo7Out = $(!p:AttributeMem)
set-dectohex Combo6Out = $(!p:ModemIOBase)
set Combo5Out = $(!p:ModemIrq)
set Combo4Out = $(!p:ModemPort)
;;Combo--
Debug-Output "8 VASANTHA configure Adapter "$(DLLPATH)
; ifstr(i) $(DLLPATH) != ""
Debug-Output "9 VASANTHA Configure Adapter "$(DLLPATH)
Split-String $(DLLPATH) "\" TempList
QueryListSize ListSize $(TempList)
Debug-Output "10 VASANTHA Configure Adapter "$(DLLPATH)
ifstr(i) *($(TempList), $(ListSize)) != "\"
set DLLPATH = $(DLLPATH)"\"
Debug-Output "11 VASANTHA Configure Adapter "$(DLLPATH)
endif
; endif
SetHelpFile $(DLLPATH)SMC8020m.hlp 30100 30105
set AdapterStatus = FALSE
set Combo3Out = $(MediaValue)
set EditTextIn = {$(NetworkAddress)}
set NotifyFields = {NO, NO, NO}
set EditTextLim = {12}
set EditFocusOn = ""
ifint $(!p:Function) == 1
Set RadioIn = {2}
else-ifint $(!p:Function) == 2
Set RadioIn = {1}
else-ifint $(!p:Function) == 3
Set RadioIn = {3}
endif
Debug-Output "12 VASANTHA Adapter "$(DLLPATH)
loadlibrary "SMC 8020 Install Diskette" $(DLLPATH)SMC8020m.dll DllHandle
RetryDialog =+
EndWait
ifstr(i) $(Option) == "SMC8020"
set DlgTemplate = SMC8020
else
set DlgTemplate = LANMODEM
endif
set HelpContext = $(ContextLanMod)
set Combo1Out = $(!p:IRQLevel)
set-dectohex Combo2Out = $(!p:IOBaseValue)
set Combo3Out = $(!p:MediaValue)
set NetworkAddress = $(!p:NetworkAddress)
set-dectohex Combo7Out = $(!p:AttributeMem)
set-dectohex Combo6Out = $(!p:ModemIOBase)
set Combo5Out = $(!p:ModemIrq)
set Combo4Out = $(!p:ModemPort)
EndWait
ui start "InputDlg" $(DllHandle)
StartWait
ui pop 1
ifstr(i) $(DLGEVENT) == "CONTINUE"
set NewNetworkAddress = *($(EditTextOut), 1)
Debug-Output "Nishi 1"
ifstr(i) $(NewNetworkAddress) != ""
Debug-Output "Nishi 2"
Split-String $(NewNetworkAddress), "0123456789ABCDEFabcdef-", TempList
set HexList = ^(HexDigits, 1)
QueryListSize ListSize $(TempList)
ifint $(ListSize) == 11
Debug-Output "Nishi 3"
set Index1 = 1
set Loop = 1
else
Debug-Output "Nishi 4"$(ListSize)
Shell "" WarnError $(BadAddr1)
goto RetryDialog
endif
NetAddrLoop =+
set Temp1 = *($(TempList), $(Index1))
ifcontains(i) $(Temp1) not-in $(HexList)
Debug-Output "Nishi 5"
Shell "" WarnError $(BadAddr2)$(Temp1)
goto RetryDialog
endif
ifint $(Index1) == 2
Debug-Output "Nishi 6"
ifcontains(i) $(Temp1) in { 1,3,5,7,9,b,d,f }
Debug-Output "Nishi 7"
Shell "" WarnError $(BadAddr3)
goto Retry2ndDialog
endif
endif
set-add Index1 = $(Index1), 1
set-add Loop = $(Loop), 1
ifint $(Loop) < 13
Debug-Output "Nishi 8"
goto NetAddrLoop
endif
endif
set AdapterStatus = TRUE
; nishi
ifstr(i) $(Combo2Out) == "Auto"
set !p:IOBaseValue = 0
else
set-hextodec !p:IOBaseValue = $(Combo2Out)
endif
ifstr(i) $(Combo1Out) == "Auto"
set !p:IRQLevel = 0
else
set !p:IRQLevel = $(Combo1Out)
endif
ifstr(i) $(Combo7Out) == "Auto"
set !p:AttributeMem = 0
else
set-hextodec !p:AttributeMem = $(Combo7Out)
endif
; nishi
set !p:NetworkAddress = $(NewNetworkAddress)
Debug-Output "Nishi setup: Combo2Out $(Combo2Out) IoBaseValue $(!p:IOBaseValue)"
Debug-Output "Nishi setup: Combo1Out $(Combo1Out) IRQLevel $(!p:IRQLevel)"
Debug-Output "Nishi setup: Combo7Out $(Combo7Out) Attributemem $(!p:AttributeMem)"
set-hextodec !p:ModemIOBase = $(Combo6Out)
set !p:ModemIrq = $(Combo5Out)
set !p:ModemPort = $(Combo4Out)
set !p:MediaValue = $(Combo3Out)
set !p:Function = 3
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
freelibrary $(DllHandle)
return $(AdapterStatus)
[SetCopy]
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]
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]
read-syms GeneralConstants
read-syms FileConstants
read-syms date
set Option = $(!p:Option)
Debug-Output "in SetHardware "$(ProductKeyName)
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)""""
;; nishi
set !AdapterName = $(ProductHardwareName)$(AdapterNumber)
;; nishi
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
Debug-Output "VASANTHA "$ProductHardwareName
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]
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 PCMCIA = $(!p:PCMCIA)
;;Combo++
set AttributeMemValue = $(!p:AttributeMem)
set ModemIOBaseValue = $(!p:ModemIOBase)
set ModemIrqValue = $(!p:ModemIrq)
set ModemPortValue = $(!p:ModemPort)
set FunctionValue = $(!p:Function)
;;Combo--
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_DWORD),$(SpeedValue)},+
{PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(!p:AttributeMem)},+
{PCCARDAttributeMemorySize,$(NoTitle),$(!REG_VT_DWORD),4096}}
; nishi 11/18/97 {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}}
Shell $(UtilityInf), AddValueList, $(!KeyParameters), $(NewValueList)
Set Status = $($R0)
IfInt $(PCMCIA) == 1
;; nishi
;; Set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+
;; {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(Irq)},+
;; {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(Base)}}
;; nishi
Set NewValueList = {{SoftexPcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+
{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(Irq)},+
{AdapterName,$(NoTitle),$(!REG_VT_SZ),$(!AdapterName)},+
{IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(Base)}}
;;Combo++
ifstr(i) $(Option) == "SMC8020M"
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\EtherEZEthernetModem" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"EtherEZEthernetModem",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
;; nishi
;; set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(!p:ModemPort)},+ ; "COMx"
;; {ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 1},+ ; Always true for EtherEZ
;; {Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(!p:ModemIrq)},+ ; Interrupt for EtherEZ modem
;; {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(!p:ModemIOBase)}} ; I/O Base address for EtherEZ
;; nishi
set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(!p:ModemPort)},+ ; "COMx"
{ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 1},+ ; Always true for EtherEZ
{Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(Irq)},+ ; Interrupt for EtherEZ modem
{ExternallyConfiguredModem , $(NoTitle), $(!REG_VT_DWORD), 1},+
{PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(!p:ModemIOBase)}} ; I/O Base address for EtherEZ
Shell $(UtilityInf), AddValueList, $(MyNewSerialHandle), $(NewValueList)
CloseRegKey $(MyNewSerialHandle)
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
SetRegValue $(MyNewSerialHandle) {"EtherEZEthernetModem",$(NoTitle),$(!REG_VT_SZ),$(!p:ModemPort)}
CloseRegKey $(MyNewSerialHandle)
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
SetRegValue $(MyNewSerialHandle) {$(!p:ModemPort)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"}
CloseRegKey $(MyNewSerialHandle)
;; nishi
;; Set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+
;; nishi
Set NewValueList = {{SoftexPcmcia,$(NoTitle),$(!REG_VT_DWORD),1},+
{AdapterName,$(NoTitle),$(!REG_VT_SZ),$(!AdapterName)},+
{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(Irq)},+
{IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(Base)},+
{COMIRQNumber,$(NoTitle),$(!REG_VT_DWORD),$(ModemIrqValue)},+
{COMPort,$(NoTitle),$(!REG_VT_SZ),$(!p:ModemPort)},+
{IoBaseAddress_1,$(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseValue)},+
{COMIOBase,$(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseValue)},+
{Function,$(NoTitle),$(!REG_VT_DWORD),$(FunctionValue)},+
{MULTIFUNCTION,$(NoTitle),$(!REG_VT_DWORD),1}}
endif
;;Combo--
Shell $(UtilityInf), AddValueList, $(!KeyParameters), $(NewValueList)
Set Status = $($R0)
ifstr(i) $(Option) == "SMC8020M"
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DESCRIPTION\system\PCMCIA PCCARDs" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DESCRIPTION\system" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"PCMCIA PCCARDs",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
set NewValueList = {{SMC8020M,$(NoTitle),$(!REG_VT_MULTI_SZ),$(MyList)}}
Shell $(UtilityInf), AddValueList, $(MyNewSerialHandle), $(NewValueList)
CloseRegKey $(MyNewSerialHandle)
endif
endif
ifstr(i) $(Option) == "SMC8020"
Shell "" SetUpPcmcia
endif
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]
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]
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]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-SMC9000 $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
;; AddSectionFilesToCopyList Files-SMCncdet $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit
[Install-Detection-Dll]
LibraryProcedure STATUS,$(!LIBHANDLE), CopySingleFile $(SrcDir)"\SMCncdet.dll" $(!STF_WINDOWSSYSPATH)"\SMCncdet.dll"
exit
[PrepareDetectionDll]
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)
ForListDo $(DllNames)
Ifstr(i) $($) == $(NewDllName)
Set DllFound = 1
Endif
EndForListDo
Ifint $(DllFound) == 0
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
Else
set Status = STATUS_SUCCESSFUL
Endif
CloseRegKey $(KeySetup)
PDD_Return = +
Debug-Output "Status from PrepareDetectionDll = "$(Status)
Return $(Status)
[FatalError]
read-syms FileConstants
ifstr(i) $($0) == ""
set Message = "Unknown Error"
else
set Message = $($0)
endif
Shell $(SubroutnInf) SetupMessage $(!STF_LANGUAGE) FATAL $(Message)
Return
[VerifyError]
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]
read-syms FileConstants
ifstr(i) $($0) == ""
set Message = "Unknown Error"
else
set Message = $($0)
endif
Shell $(SubroutnInf) SetupMessage $(!STF_LANGUAGE) NONFATAL $(Message)
Return
[DebugControl]
set !DebugOutputControl = 1
return
[SetUpPcmcia]
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 SMC Key"
Debug-Output "SMCPcmciaPath "$(SMCPcmciaPath)
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 SMC key"
Shell "" FatalError "Cannot Create SMC Key in Registry DataBase PCMCIA!"
CloseRegKey $(PcmciaKey)
Return FALSE
EndIf
EndIf
Debug-Output "Opening SMC 8020 key = "$(SMC8020Path)
OpenRegKey $(!REG_H_LOCAL) "" $(SMC8020Path) $(MAXIMUM_ALLOWED) SMC8020Key
IfStr(i) $(SMC8020Key) == $(KeyNull)
Debug-Output "Open failed - creating key"
CreateRegKey $(SMCPcmciaKey) {$(CardKeyName), 0, 0 } "" $(MAXIMUM_ALLOWED) "" SMC8020Key
IfStr(i) $(SMC8020Key) == $(KeyNull)
Shell "" FatalError "Cannot Create SMC 8020 Key in Registry DataBase PCMCIA!"
CloseRegKey $(SMCPcmciaKey)
CloseRegKey $(PcmciaKey)
Return FALSE
EndIf
EndIf
Debug-Output "Writing Driver Keyword"
SetRegValue $(SMC8020Key) {Driver, 0, $(!REG_VT_SZ), "SMC8020"}
CloseRegKey $(SMC8020Key)
CloseRegKey $(SMCPcmciaKey)
CloseRegKey $(PcmciaKey)
Debug-Output "All done with SetUpPcmcia"
return TRUE
;;Combo++
[CustomMessageDlg]
DlgType = "MessageBox"
STF_MB_TITLE = "SMC EtherEZ PC Card+Modem (SMC8020BTM) Adapter Setup"
STF_MB_TEXT = "Ethernet and Modem will be removed together"
STF_MB_TYPE = 1
STF_MB_ICON = 1
STF_MB_DEF = 1
;;Combo--
[SetUpMulti]
Read-Syms GeneralConstants
Read-Syms PcmciaKeysSMC8020M
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 SMC Key"
Debug-Output "SMCPcmciaPath "$(SMCPcmciaPath)
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 SMC key"
Shell "" FatalError "Cannot Create SMC Key in Registry DataBase PCMCIA!"
CloseRegKey $(PcmciaKey)
Return FALSE
EndIf
EndIf
Debug-Output "Opening SMC 8020 key = "$(SMC8020Path)
OpenRegKey $(!REG_H_LOCAL) "" $(SMC8020Path) $(MAXIMUM_ALLOWED) SMC8020Key
IfStr(i) $(SMC8020Key) == $(KeyNull)
Debug-Output "Open failed - creating key"
CreateRegKey $(SMCPcmciaKey) {$(CardKeyName), 0, 0 } "" $(MAXIMUM_ALLOWED) "" SMC8020Key
IfStr(i) $(SMC8020Key) == $(KeyNull)
Shell "" FatalError "Cannot Create SMC 8020 Key in Registry DataBase PCMCIA!"
CloseRegKey $(SMCPcmciaKey)
CloseRegKey $(PcmciaKey)
Return FALSE
EndIf
EndIf
Debug-Output "Writing Driver Keyword"
SetRegValue $(SMC8020Key) {Driver, 0, $(!REG_VT_SZ), "SMC8020M"}
CloseRegKey $(SMC8020Key)
CloseRegKey $(SMCPcmciaKey)
CloseRegKey $(PcmciaKey)
Debug-Output "All done with SetUpPcmcia"
return TRUE
; -------------------------- BEGIN FORCE FIX - SHRADHA
[install-update-modem-info]
OpenRegKey $(!REG_H_LOCAL) "" $(ZZZComPort) $(MAXIMUM_ALLOWED) +
ZZZHandle
ifstr $(ZZZHandle) == $(KeyNull)
Debug-Output "<DBG: FORCE> OpenRegKey "$(ZZZComPort)" failed"
goto done_update_modem_info
endif
Debug-Output "<DBG: FORCE> GetRegValue DosDevices"
GetRegValue $(ZZZHandle) "DosDevices" DosDevicesValue
set DosDevicesValueType = *($(DosDevicesValue), 3)
set DosDevicesValueData = *($(DosDevicesValue), 4)
ifint $(DosDevicesValueType) != $(!REG_VT_SZ)
Debug-Output +
"<DBG: FORCE> Bad DosDevices "$(ZZZComPort)" "$(DosDevicesValue)
goto done_update_modem_info
endif
GetRegValue $(ZZZHandle) "PortAddress" PortAddressValue
set PortAddressValueType = *($(PortAddressValue), 3)
set PortAddressValueData = *($(PortAddressValue), 4)
ifint $(PortAddressValueType) != $(!REG_VT_DWORD)
Debug-Output +
"<DBG: FORCE> Bad PortAddress "$(ZZZComPort)" "$(PortAddressValue)
goto done_update_modem_info
endif
GetRegValue $(ZZZHandle) "Interrupt" InterruptValue
set InterruptValueType = *($(InterruptValue), 3)
set InterruptValueData = *($(InterruptValue), 4)
ifint $(InterruptValueType) != $(!REG_VT_DWORD)
Debug-Output +
"<DBG: FORCE> Bad Interrupt "$(ZZZComPort)" "$(InterruptValue)
goto done_update_modem_info
endif
; now update the correct modem info
Debug-Output +
"<DBG: FORCE> "$(DosDevicesValueData)": iobase = "$(PortAddressValueData)", irq = "$(InterruptValueData)
ifstr(i) $(DosDevicesValueData) == "COM1"
set comNumber = 1
else-ifstr(i) $(DosDevicesValueData) == "COM2"
set comNumber = 2
else-ifstr(i) $(DosDevicesValueData) == "COM3"
set comNumber = 3
else-ifstr(i) $(DosDevicesValueData) == "COM4"
set comNumber = 4
else
goto done_update_modem_info
endif
set-dectohex PortAddressValueDataHex = $(PortAddressValueData)
set-dectohex InterruptValueDataHex = $(InterruptValueData)
Debug-Output +
"<DBG: FORCE> PortAddressValueDataHex = "$(PortAddressValueDataHex)
Debug-Output +
"<DBG: FORCE> InterruptValueDataHex = "$(InterruptValueDataHex)
; Since the ModemIOBaseList and ModemIrqList in
; this inf file are not starting from COM1 and going
; to COM4 in order, we need to determine the correct
; index for this COM number
;Debug-Output "<DBG: FORCE> comNumber = "$(comNumber)
ForListDo $(ModemPortValues)
;Debug-Output "<DBG: FORCE> item number "$(#)" is "$($)
ifint $($) == $(comNumber)
set itemNumberToReplace = $(#)
endif
EndForListDo
Debug-Output "<DBG: FORCE> itemNumberToReplace = "$(itemNumberToReplace)
;
; Change ModemIOBaseList
;
set oldList = $(ModemIOBaseList)
set newData = $(PortAddressValueDataHex)
set return_addr = replace_modem_io_base
goto replace_list_item
replace_modem_io_base = +
set ModemIOBaseList = $(newList)
;
; Update ModemIrqList by adding irq mentioned in ZZZ entry
; (provided it is not already there)
;
ifcontains(i) $(InterruptValueData) not-in $(ModemIrqList)
set ModemIrqList = >($(ModemIrqList), $(InterruptValueData))
endif
done_update_modem_info = +
ifstr $(ZZZHandle) != $(KeyNull)
CloseRegKey $(ZZZHandle)
endif
exit
replace_list_item = +
;
; INPUT: needs the following variables to be initialized
; - oldList
; - itemNumberToReplace
; - newData
; - return_addr (i.e. label to jump back to)
; OUTPUT: returns with the newList initialized
;
;Debug-Output "<DBG: FORCE> Replacing item number "$(itemNumberToReplace)" in the list "$(oldList)" with the data "$(newData)
set newList = {}
ForListDo $(oldList)
ifint $(#) == $(itemNumberToReplace)
set newList = >($(newList), $(newData))
else
set newList = >($(newList), $($))
endif
EndForListDo
goto $(return_addr)
;-------------------------- END FORCE FIX - SHRADHA
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.