;*********************************************************************** ; ; OEMSETUP.INF ; ; Version 1.26 NDIS 3.0 ; ; Olicom network card and driver SETUP INF file. ; ;*********************************************************************** ;----------------------------------------------------------------------- ; OPTION TYPE ; ----------- ; This identifies the Option type we are dealing with. The different ; possible types are: ; ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ... ; ; Types specific to networking: ; ; NetAdapter, a netcard / adapter combination or just a netcard ; NetDriver, just a netcard driver ; NetTransport, a complete NDIS-compliant TDI transport stack ; NetService, an NT networking service ; NetWork, a complete network ensemble. ; NetProvider a complete network which supports NT MPR protocol ;----------------------------------------------------------------------- [Identification] OptionType = NetAdapter ;----------------------------------------------------------------------- ; PlatformsSupported ; ------------------ ; This identifies the platforms supported by the adapter card. ; Possible types are: ; ; ISA, EISA, MCA, "Jazz-Internal Bus", PC Card and PCI ;----------------------------------------------------------------------- [PlatformsSupported] ISA EISA MCA "Jazz-Internal Bus" PCMCIA PCI [LanguagesSupported] ENG ;----------------------------------------------------------------------- ; OPTION LIST ; ----------- ; This section lists the OEM Option key names. These keys are locale ; independent and used to represent the option in a locale independent ; manner. ; ;----------------------------------------------------------------------- [Options] OCTX3117 OCTX3118 OCTX3129 OCTX3133 OCTX3136 OCTX3137 OCTX3139 OCTX3140 OCTX3141 OCTX3540 OCTX3220 OCTX3221 OCTX3230 OCTX3232 OCTX3250 [OptionsTextENG] OCTX3117 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" OCTX3118 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" OCTX3129 = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" OCTX3133 = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" OCTX3136 = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" OCTX3137 = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" OCTX3139 = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" OCTX3140 = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" OCTX3141 = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" OCTX3540 = "Olicom RapidFire 3540 HSTR 100/16/4 PCI Adapter" OCTX3220 = "Olicom GoCard Token-Ring PC Card (OC-3220)" OCTX3221 = "Olicom GoCard Token-Ring PC Card (OC-3221)" OCTX3230 = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" OCTX3232 = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" OCTX3250 = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" [IOBaseAddrChoices] IOBase_0 = "Auto detect", 0 IOBase_1 = "0A00-0A1F", 2560 IOBase_2 = "0A20-0A3F", 2592 IOBase_3 = "0A40-0A5F", 2624 IOBase_4 = "0A60-0A7F", 2656 IOBase_5 = "0A80-0A9F", 2688 IOBase_6 = "0AA0-0ABF", 2720 IOBase_7 = "0AC0-0ADF", 2752 IOBase_8 = "0AE0-0AFF", 2874 IOBase_9 = "0B00-0B1F", 2816 IOBase_10 = "0B20-0B3F", 2848 IOBase_11 = "0B40-0B5F", 2880 IOBase_12 = "0B60-0B7F", 2912 IOBase_13 = "0B80-0B9F", 2944 IOBase_14 = "0BA0-0BBF", 2976 IOBase_15 = "0BC0-0BDF", 3008 IOBase_16 = "0BE0-0BFF", 3040 IOBase_20 = "0A20-0A23,0A30-0A3F", 2592 IOBase_21 = "0A24-0A27,0A40-0A4F", 2596 IOBase_22 = "0A50-0A53,0A60-0A6F", 2640 IOBase_23 = "0A54-0A57,0A70-0A7F", 2644 [RxBufferCountChoices] RBC_1 = "32",32 RBC_2 = "31",31 RBC_3 = "30",30 RBC_4 = "29",29 RBC_5 = "28",28 RBC_6 = "27",27 RBC_7 = "26",26 RBC_8 = "25",25 RBC_9 = "24",24 RBC_10 = "23",23 RBC_11 = "22",22 RBC_12 = "21",21 RBC_13 = "20",20 RBC_14 = "19",19 RBC_15 = "18",18 RBC_16 = "17",17 RBC_17 = "16",16 RBC_18 = "15",15 RBC_19 = "14",14 RBC_20 = "13",13 RBC_21 = "12",12 RBC_22 = "11",11 RBC_23 = "10",10 RBC_24 = "9",9 RBC_25 = "8",8 RBC_26 = "7",7 RBC_27 = "6",6 RBC_28 = "5",5 [TxBufferCountChoices] XBC_1 = "32",32 XBC_2 = "31",31 XBC_3 = "30",30 XBC_4 = "29",29 XBC_5 = "28",28 XBC_6 = "27",27 XBC_7 = "26",26 XBC_8 = "25",25 XBC_9 = "24",24 XBC_10 = "23",23 XBC_11 = "22",22 XBC_12 = "21",21 XBC_13 = "20",20 XBC_14 = "19",19 XBC_15 = "18",18 XBC_16 = "17",17 XBC_17 = "16",16 XBC_18 = "15",15 XBC_19 = "14",14 XBC_20 = "13",13 XBC_21 = "12",12 XBC_22 = "11",11 XBC_23 = "10",10 XBC_24 = "9",9 XBC_25 = "8",8 XBC_26 = "7",7 XBC_27 = "6",6 XBC_28 = "5",5 XBC_29 = "4",4 XBC_30 = "3",3 XBC_31 = "2",2 [Oct3RxBufferCountChoices] RBC3_1 = "Auto", 0 RBC3_2 = "128",128 RBC3_3 = "96", 96 RBC3_4 = "64", 64 RBC3_5 = "48", 48 RBC3_6 = "32", 32 RBC3_7 = "24", 24 RBC3_8 = "16", 16 RBC3_9 = "8", 8 [Oct3TxBufferCountChoices] XBC3_1 = "Auto", 0 XBC3_2 = "64", 64 XBC3_3 = "48", 48 XBC3_4 = "32", 32 XBC3_5 = "24", 24 XBC3_6 = "16", 16 XBC3_7 = "8", 8 [LegacyWakeUpChoices] LM_1 = "Disabled",0 LM_2 = "Enabled",1 LM_3 = "Auto",2 [IOBasePCMCIAChoices] ; 3E0h is where PCIC is (normally) located ; 240h is where TCIC is (normally) located ; therefore user cannot select these for locating the adapter IOBase_1 = "200h",512 IOBase_2 = "280h",640 IOBase_3 = "2C0h",714 IOBase_4 = "300h",768 IOBase_5 = "340h",832 IOBase_6 = "380h",896 IOBase_7 = "3C0h",960 IOBase_8 = "A00h",2560 IOBase_9 = "A40h",2624 IOBase_10 = "A80h",2688 IOBase_11 = "AC0h",2752 IOBase_12 = "B00h",2816 IOBase_13 = "B40h",2880 IOBase_14 = "B80h",2944 IOBase_15 = "BC0h",3008 [IOBaseCardBusChoices] IOBase_1 = "3800h",14336 IOBase_2 = "3840h",14400 IOBase_3 = "3880h",14464 IOBase_4 = "38C0h",14528 IOBase_5 = "3900h",14592 IOBase_6 = "3940h",14656 IOBase_7 = "3980h",14720 IOBase_8 = "39C0h",14784 IOBase_9 = "9800h",38912 IOBase_10 = "9840h",38976 IOBase_11 = "9880h",39040 IOBase_12 = "98C0h",39104 IOBase_13 = "9900h",39168 IOBase_14 = "9940h",39232 IOBase_15 = "9980h",39296 IOBase_16 = "99C0h",39360 [MemWinChoices] MemWin_1 = "A0000h", 655360 MemWin_2 = "A2000h", 663552 MemWin_3 = "A4000h", 671744 MemWin_4 = "A6000h", 679936 MemWin_5 = "A8000h", 688128 MemWin_6 = "AA000h", 696320 MemWin_7 = "AC000h", 704512 MemWin_8 = "AE000h", 712704 MemWin_9 = "B0000h", 720896 MemWin_10 = "B2000h", 729088 MemWin_11 = "B4000h", 737280 MemWin_12 = "B6000h", 745472 MemWin_13 = "B8000h", 753664 MemWin_14 = "BA000h", 761856 MemWin_15 = "BC000h", 770048 MemWin_16 = "BE000h", 778240 MemWin_17 = "C0000h", 786432 MemWin_18 = "C2000h", 794624 MemWin_19 = "C4000h", 802816 MemWin_20 = "C6000h", 811008 MemWin_21 = "C8000h", 819200 MemWin_22 = "CA000h", 827392 MemWin_23 = "CC000h", 835584 MemWin_24 = "CE000h", 843776 MemWin_25 = "D0000h", 851968 MemWin_26 = "D2000h", 860160 MemWin_27 = "D4000h", 868352 MemWin_28 = "D6000h", 876544 MemWin_29 = "D8000h", 884736 MemWin_30 = "DA000h", 892928 MemWin_31 = "DC000h", 901120 MemWin_32 = "DE000h", 909312 [InterruptChoices] Interrupt_1 = "3", 3 Interrupt_2 = "4", 4 Interrupt_3 = "5", 5 Interrupt_4 = "9", 9 Interrupt_5 = "10",10 Interrupt_6 = "11",11 [CardBusInterruptChoices] Interrupt_1 = "Auto", 0 Interrupt_2 = "3", 3 Interrupt_3 = "4", 4 Interrupt_4 = "5", 5 Interrupt_5 = "9", 9 Interrupt_6 = "10",10 Interrupt_7 = "11",11 Interrupt_8 = "15",15 [ComPortChoices] Com_1 = "COM1", 1016 Com_2 = "COM2", 760 Com_3 = "COM3", 1000 Com_4 = "COM4", 744 Com_5 = "COM5", 24 Com_6 = "Disabled", 0 [ComPortChoicesNT] Com_1 = "COM1", 1016 Com_2 = "COM2", 760 Com_3 = "COM3", 1000 Com_4 = "COM4", 744 [IOBasePCMCIAControllerChoices] IOBase_1 = "Olicom Enabler",992 IOBase_2 = "Olicom Enabler (3E2h)",994 ;;;IOBase_3 = "Windows NT Enabler",0 [WaitstateChoices] Waitstate_1 = "0", 0 Waitstate_2 = "1", 1 Waitstate_3 = "2", 2 Waitstate_4 = "3", 3 Waitstate_5 = "4", 4 Waitstate_6 = "5", 5 Waitstate_7 = "6", 6 Waitstate_8 = "7", 7 Waitstate_9 = "8", 8 Waitstate_10 = "9", 9 Waitstate_11 = "10",10 Waitstate_12 = "11",11 Waitstate_13 = "12",12 Waitstate_14 = "13",13 Waitstate_15 = "14",14 Waitstate_16 = "15",15 [DatasizeChoices] Datasize_1 = 1, 1,"&16 Bit" Datasize_2 = 2, 0,"&8 Bit" [RingSpeedChoices] RS_1 = "16 Mbps", 16 RS_2 = "4 Mbps", 4 [RSChoices] RS_1 = "Adapter setting", 255 RS_2 = "Force 16 Mbps", 16 RS_3 = "Force 4 Mbps", 4 [Oct3RSChoices] RS_1 = "Auto", 0 RS_2 = "Force 16 Mbps", 16 RS_3 = "Force 4 Mbps", 4 RS_4 = "Adapter setting", 255 [Oct3RS100Choices] RS_1 = "Auto", 0 RS_2 = "Force 100 Mbps", 100 RS_3 = "Force 16 Mbps", 16 RS_4 = "Force 4 Mbps", 4 RS_5 = "Adapter setting", 255 ;----------------------------------------------------------------------- ; Constants for use with dialogs ;----------------------------------------------------------------------- [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 DialogDllName = "oct3x.dll" HelpfileName = "oct3x.hlp" NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\Oct3xnd3.sys" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "Olicom" ProductMajorVersion = "1" ProductMinorVersion = "00" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "Oct3xnd3" ProductSoftwareTitle = "Olicom Oct3x NDIS 3.1 Token-Ring Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\oct3xnd3.sys" NetRuleSoftwareType = "oct3xnd3Sys ndisDriver oct3xnd3Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Oct3xnd3Sys"" yes no container" NetRuleSoftwareClass = {"oct3xnd3Driver basic"} NetRuleSoftwareBindable = {"oct3xnd3Driver oct3xnd3Adapter non exclusive 100"} ProductHardwareName = "Oct3xnd3" ProductHardwareOCTX3117Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTX3118Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTX3129Title = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTX3133Title = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTX3136Title = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTX3137Title = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTX3139Title = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3140Title = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3141Title = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" ProductHardwareOCTX3540Title = "Olicom RapidFire 3540 HSTR 100/16/4 PCI Adapter" ProductHardwareOCTX3220Title = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTX3221Title = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTX3230Title = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTX3232Title = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ProductHardwareOCTX3250Title = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" NetRuleHardwareType = "oct3xnd3 oct3xnd3Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"oct3xnd3Adapter basic"} 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 NT40VersionConstant = "4.0" NT351VersionConstant = "3.51" NT350VersionConstant = "3.50" NT310VersionConstant = "3.10" [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:" ProductHardwareOCTX3117Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTX3118Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTX3129Description = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTX3133Description = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTX3136Description = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTX3137Description = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTX3139Description = "Olicom RapidFire 3139 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3140Description = "Olicom RapidFire 3140 Token-Ring 16/4 PCI Adapter" ProductHardwareOCTX3141Description = "Olicom RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter" ProductHardwareOCTX3540Description = "Olicom RapidFire 3540 HSTR 100/16/4 PCI Adapter" ProductHardwareOCTX3220Description = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTX3221Description = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTX3230Description = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTX3232Description = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ProductHardwareOCTX3250Description = "Olicom GoCard 3250 Token-Ring 16/4 CardBus PC Card" ProductSoftwareDescription = "Olicom Token-Ring Adapter NDIS 3.1 Driver" ProductHardwareTitle = $(ProductHardware$(Option)Title) ProductHardwareDescription = $(ProductHardware$(Option)Description) ProductHardwareDescrShort = "Olicom Token-Ring Adapter" FunctionTitle = "Olicom Token-Ring Adapter Setup" IOBaseAddrList = ^(IOBaseAddrChoices, 1) IOBaseAddrValues = ^(IOBaseAddrChoices, 2) RcvBufCountList = ^(RxBufferCountChoices, 1) RcvBufCountValues = ^(RxBufferCountChoices, 2) XmitBufCountList = ^(TxBufferCountChoices, 1) XmitBufCountValues = ^(TxBufferCountChoices, 2) LegacyWakeUpList = ^(LegacyWakeUpChoices, 1) LegacyWakeUpValues = ^(LegacyWakeUpChoices, 2) IOBasePCMCIAList = ^(IOBasePCMCIAChoices, 1) IOBasePCMCIAValues = ^(IOBasePCMCIAChoices, 2) MemWinList = ^(MemWinChoices, 1) MemWinValues = ^(MemWinChoices, 2) InterruptList = ^(InterruptChoices, 1) InterruptValues = ^(InterruptChoices, 2) RingSpeedList = ^(RingSpeedChoices, 1) RingSpeedValues = ^(RingSpeedChoices, 2) RSList = ^(RSChoices, 1) RSValues = ^(RSChoices, 2) ComPortList = ^(ComPortChoices, 1) ComPortValues = ^(ComPortChoices, 2) ComPortListNT = ^(ComPortChoicesNT, 1) ComPortValuesNT = ^(ComPortChoicesNT, 2) IOBasePCMCIAControllerList = ^(IOBasePCMCIAControllerChoices, 1) IOBasePCMCIAControllerValues = ^(IOBasePCMCIAControllerChoices, 2) WaitstateList = ^(WaitstateChoices, 1) WaitstateValues = ^(WaitstateChoices, 2) DatasizeList = ^(DatasizeChoices, 1) DatasizeValues = ^(DatasizeChoices, 2) DatasizeLabels = ^(DatasizeChoices, 3) ; Parameter defaults IOBasePCMCIADefault = 8 MemWinDefault = 25 ComPortDefault = 3 InterruptDefault = 1 RcvBufCountDefault = 27 XmitBufCountDefault = 25 LegacyWakeUpDefault = 3 FrameSizeDefault = 4472 ; Bus/slot defaults for PCI auto-detect BusNoDefault = 0 SlotNoDefault = 0 SlotNoUnknown = 1024 [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" ContextMinimumID = 6000 ContextContentsID = 6000 ContextPCMCIASetupID = 6001 ContextPCMCIAAdvancedID = 6002 ContextMaximumID = 6020 [date] Now = {} ? $(!LIBHANDLE) GetSystemDate [AskSourceDlgText] DlgText = "Please enter the full path of the Olicom 16/4 driver "+ "setup files. Then choose Continue." ;----------------------------------------------------------------------- ; ADAPTER PARAMETER DIALOG ; ------------------------ ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [OCTK16ParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "OCTK16" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus..." Combo1Label = "&I/O Base Address:" Combo2Label = "&Receive Buffers:" Combo3Label = "&Transmit Buffers:" Combo4Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(IOBaseAddrList) Combo1Out = $(IOBaseAddrIndex) Combo2List = $(RcvBufCountList) Combo2Out = $(RcvBufCountIndex) Combo3List = $(XmitBufCountList) Combo3Out = $(XmitBufCountIndex) Combo4List = $(RSList) Combo4Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCI PARAMETER MAIN DIALOG ; ------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCIParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus" Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RSList) Combo3Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCI3 PARAMETER MAIN DIALOG ; ------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCI3ParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "OCTK16" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&Bus..." Combo1Label = "&Wake-on-LAN:" Combo2Label = "&Receive Buffers:" Combo3Label = "&Transmit Buffers:" Combo4Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(LegacyWakeUpList) Combo1Out = $(LegacyWakeUpIndex) Combo2List = $(RcvBufCountList) Combo2Out = $(RcvBufCountIndex) Combo3List = $(XmitBufCountList) Combo3Out = $(XmitBufCountIndex) Combo4List = $(RSList) Combo4Out = $(RSIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCMCIA PARAMETER MAIN DIALOG ; ---------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&PC Card..." Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RingSpeedList) Combo3Out = $(RingSpeedIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; PCMCIA COMBO Cards PARAMETER MAIN DIALOG ; ---------------------------------------- ; This section sets up the adapter parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [COMBOParameterDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIA" Caption = $(FunctionTitle) DlgText = "Please select values for the following fields:" Free = "&PC Card..." Combo1Label = "&Receive Buffers:" Combo2Label = "&Transmit Buffers:" Combo3Label = "Ring &Speed:" Label1 = "&Early Token Release:" Radio1 = "Yes" Radio2 = "No" Label2 = "&Frame Status:" Radio3 = "Yes" Radio4 = "No" Edit1Label = "&Network Address:" Edit2Label = "&Max Frame Size:" Combo1List = $(RcvBufCountList) Combo1Out = $(RcvBufCountIndex) Combo2List = $(XmitBufCountList) Combo2Out = $(XmitBufCountIndex) Combo3List = $(RingSpeedList) Combo3Out = $(RingSpeedIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} EditTextLim = { 17, 5 } EditTextIn = { $(NetworkAddress), $(FrameSizeValue) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO} HelpContext = $(ContextContentsID) ;----------------------------------------------------------------------- ; MORE PCMCIA PARAMETER DIALOG ; ---------------------------- ; This section sets up the PCMCIA parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAMoreDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIAM" Caption = "PC Card Setup" DlgText = "Please select values for the following fields:" Free = "&Advanced..." Combo1Label = "I/O &Base Address:" Combo2Label = "&Memory Window:" Combo3Label = "&Interrupt:" Combo1List = $(IOBasePCMCIAList) Combo1Out = $(IOBasePCMCIAIndex) Combo2List = $(MemWinList) Combo2Out = $(MemWinIndex) Combo3List = $(InterruptList) Combo3Out = $(InterruptIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out} RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIASetupID) ;----------------------------------------------------------------------- ; MORE COMBO PARAMETER DIALOG ; --------------------------- ; This section sets up the PCMCIA parameter dialog. All textstrings ; presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [COMBOMoreDlgENG] DlgType = "RadioCombination" DlgTemplate = "COMBOM" Caption = "PC Card Setup" DlgText = "Please select values for the following fields:" Free = "&Advanced..." Combo1Label = "I/O &Base Address:" Combo2Label = "&Memory Window:" Combo3Label = "&Interrupt:" Combo4Label = "&Com Port:" Combo1List = $(IOBasePCMCIAList) Combo1Out = $(IOBasePCMCIAIndex) Combo2List = $(MemWinList) Combo2Out = $(MemWinIndex) Combo3List = $(InterruptList) Combo3Out = $(InterruptIndex) Combo4List = $(ComPortList) Combo4Out = $(ComPortIndex) ComboListItemsIn = {Combo1List, Combo2List, Combo3List, Combo4List} ComboListItemsOut = {Combo1Out, Combo2Out, Combo3Out, Combo4Out} RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIASetupID) ;----------------------------------------------------------------------- ; PCMCIA ADVANCED SETTINGS DIALOG ; ------------------------------- ; This section sets up the PCMCIA adavanced settings dialog. All ; textstrings presented in this dialog are defined here. ; ;----------------------------------------------------------------------- [PCMCIAAdvancedDlgENG] DlgType = "RadioCombination" DlgTemplate = "PCMCIAADV" Caption = "PC Card Advanced Settings" DlgText = "Please select values for the following fields:" Combo1Label = "PC Card &Enabler:" Combo2Label = "&Additional Waitstates:" Radio1Label = "&Datasize:" Radio1Button1 = *($(DatasizeLabels),1) Radio1Button2 = *($(DatasizeLabels),2) Combo1List = $(IOBasePCMCIAControllerList) Combo1Out = $(IOBasePCMCIAControllerIndex) Combo2List = $(WaitstateList) Combo2Out = $(WaitstateIndex) ComboListItemsIn = {Combo1List, Combo2List} ComboListItemsOut = {Combo1Out, Combo2Out} RadioIn = { $(DatasizeIndex) } RadioOptionGreyed = {} CBOptionsGreyed = {} NotifyFields = {NO, NO, NO, NO, NO} HelpContext = $(ContextPCMCIAAdvancedID) ;--------------------------------------------------------------------------- ; 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 = {} set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) ifstr(i) $($1) == "" goto returnoptions endif 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 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] StartWait set SrcDir = "" set Option = $($1) set SrcDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) ifstr(i) $(SrcDir) == "" Set SrcDir = "A:\" Endif set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE endif Debug-Output "INF: STF_CWDDIR is: "$(!STF_CWDDIR) Debug-Output "INF: STF_LANGUAGE is: "$(!STF_LANGUAGE) set-subst LF = "\n" read-syms GeneralConstants read-syms FileConstants read-syms DialogConstants$(!STF_LANGUAGE) ifstr(i) $(!NTN_Origination) == "NCPA" set Continue = "OK" endif read-syms FileConstants$(!STF_LANGUAGE) detect date set-title $(FunctionTitle) set to = Begin set from = Begin set CommonStatus = STATUS_SUCCESSFUL SetHelpFile $(HelpfileName) $(ContextMinimumID) $(ContextMaximumID) ; ; AdpType simplifies adapter type branching ; set AdpType = "" ifcontains(i) $(Option) in {"OCTX3117","OCTX3118","OCTX3133","OCTX3129"} set AdpType = "Legacy" else-ifcontains(i) $(Option) in {"OCTX3136","OCTX3137"} set AdpType = "PCI1" else-ifcontains(i) $(Option) in {"OCTX3139","OCTX3140","OCTX3141"} set AdpType = "PCI2" else-ifcontains(i) $(Option) in {"OCTX3540"} set AdpType = "PCI3" else-ifcontains(i) $(Option) in {"OCTX3250"} set AdpType = "Cardbus" else-ifcontains(i) $(Option) in {"OCTX3220","OCTX3221"} set AdpType = "PCMCIA" else-ifcontains(i) $(Option) in {"OCTX3230","OCTX3232"} set AdpType = "Combo" endif ; ; OCT3X requires special setting for buffer counts and ring speed ; ifcontains(i) $(AdpType) in {"PCI2","PCI3","CardBus"} set RcvBufCountList = ^(Oct3RxBufferCountChoices, 1) set RcvBufCountValues = ^(Oct3RxBufferCountChoices, 2) set RcvBufCountDefault = 0 set XmitBufCountList = ^(Oct3TxBufferCountChoices, 1) set XmitBufCountValues = ^(Oct3TxBufferCountChoices, 2) set XmitBufCountDefault = 0 ifcontains(i) $(AdpType) in {"PCI3"} set RSList = ^(Oct3RS100Choices, 1) set RSValues = ^(Oct3RS100Choices, 2) else set RSList = ^(Oct3RSChoices, 1) set RSValues = ^(Oct3RSChoices, 2) endif set IOBasePCMCIAList = ^(IOBaseCardBusChoices, 1) set IOBasePCMCIAValues = ^(IOBaseCardBusChoices, 2) set InterruptList = ^(CardBusInterruptChoices, 1) set InterruptValues = ^(CardBusInterruptChoices, 2) endif EndWait Begin = + ; ; Get the Windows NT version. We will not install on NT v3.1x ; set CurrentVersionValue = "" OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt Ifstr(i) $(KeyNt) != "" GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue Debug-Output "INF: WinNT CurrentVersion ="$(CurrentVersionValue) CloseRegKey $(KeyNt) Endif ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT310VersionConstant)) Debug-Output "INF: Running on WindowsNT 3.10" set Error = "Windows NT v3.10 is not support by this product" goto fatal endif ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT350VersionConstant)) Debug-Output "INF: Running on WindowsNT 3.50" set Error = "Windows NT v3.50 is not support by this product" goto fatal endif set NTComboSupport = $(FALSE) ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT40VersionConstant)) set NTComboSupport = $(TRUE) endif 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 set StartLabel = configureadapter Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Debug-Output "INF: Cannot configure the driver software." Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error: cannot get an error string." goto ShellCodeError endif set Error = $($R0) set from = end set to = end goto nonfatalinfo endif else set StartLabel = installadapter set OEM_ABANDON_OPTIONS = {} set OEM_ABANDON_SOFTWARE = FALSE set OEM_ABANDON_ON = TRUE endif set IOBaseAddrIndex = *($(IOBaseAddrList), 1) set RcvBufCountIndex = *($(RcvBufCountList), $(RcvBufCountDefault)) set XmitBufCountIndex = *($(XmitBufCountList), $(XmitBufCountDefault)) set FrameSizeValue = $(FrameSizeDefault)) set NetworkAddress = *($(EditTextOut), 1) set Rad1 = 1 set Rad2 = 3 set RadioIn = {$(Rad1), $(Rad2) } set EarlyRelease = 1 set FrameStatus = 1 set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), $(IOBasePCMCIADefault)) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialOct3xnd3" $(MAXIMUM_ALLOWED) SerialHandle ifstr $(SerialHandle) == $(KeyNull) set ComPortIndex = *($(ComPortList), $(ComPortDefault)) set AllowComPort = $(TRUE) else set ComPortIndex = *($(ComPortList), 6) set AllowComPort = $(FALSE) endif CloseRegKey $(SerialHandle) set InterruptIndex = *($(InterruptList), $(InterruptDefault)) set MemWinIndex = *($(MemWinList), $(MemWinDefault)) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1) ifcontains(i) $(AdpType) in {"PCMCIA"} set IOBasePCMCIAControllerList = >($(IOBasePCMCIAControllerList),"Windows NT Enabler") set IOBasePCMCIAControllerValues = >($(IOBasePCMCIAControllerValues),0) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 3) endif ifcontains(i) $(AdpType) in {"Combo"} ifstr(i) $(NTComboSupport) == $(TRUE) set IOBasePCMCIAControllerList = >($(IOBasePCMCIAControllerList),"Windows NT Enabler") set IOBasePCMCIAControllerValues = >($(IOBasePCMCIAControllerValues),0) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 3) endif endif set WaitstateIndex = *($(WaitstateList), 1) set DatasizeIndex = 1 set RingSpeedIndex = *($(RingSpeedList), 1) set RSIndex = *($(RSList), 1) Shell "" DebugConfiguration "After parameter querying" set RcvBufCountValue = *($(RcvBufCountList), $(RcvBufCountDefault)) set XmitBufCountValue = *($(XmitBufCountList), $(XmitBufCountDefault)) set LegacyWakeUpValue = *($(LegacyWakeUpValues), $(LegacyWakeUpDefault)) set FrameSizeValue = $(FrameSizeDefault) set BusNumber = $(BusNoDefault) set SlotNumber = $(SlotNoDefault) set ForcePciSlot = 1 Shell $(UtilityInf), GetBusTypeNum set BusInterfaceType = $($R1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif Set from = $(fatal) Set to = $(fatal) Goto $(StartLabel) ;----------------------------------------------- ; Installation Section ;----------------------------------------------- ; ; Get the current values of all the parameters ; installadapter = + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) ifstr(i) !(NTN_RegBase) == $(ProductKeyName) Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error: cannot get an error string." goto ShellCodeError endif goto end else set OldVersionExisted = $(TRUE) endif endif Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO 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-Dll" Goto adapteroptions ;----------------------------------------------- ; Configuration Section ;----------------------------------------------- ; ; Get the current values of all the parameters ; configureadapter = + Ifstr(i) $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "INF: Cannot find component product key" goto fatalregistry Endif Endif Debug-Output "INF: Shelling to FindService" Shell $(UtilityInf) FindService, $(KeyProduct) Ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: FindService shell failure" Goto ShellCodeError Endif Ifstr(i) $($R0) != NO_ERROR Debug-Output "INF: FindService Shell error: "$($R0) Goto fatalregistry endif Set KeyParameters = $($R2) CloseRegKey $($R1) Ifstr $(KeyParameters) == $(KeyNull) set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output "INF: Cannot find component service" goto fatalregistry endif set OldVersionExisted = $(TRUE) set ValueName = "" set ValueData = "" set ValueStr = "" set ValueList = {} EnumRegValue $(KeyParameters) ValueList ForListDo $(ValueList) set ValueItem = $($) set ValueName = *($(ValueItem),1) set ValueData = *($(ValueItem),4) ifstr(i) $(ValueName) == "RecBufCount" set RcvBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "RxBuffers" set RcvBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "IoBase" set IOBaseAddrValue = $(ValueData) else-ifstr(i) $(ValueName) == "TxBufferCount" set XmitBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "TxBuffers" set XmitBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "LegacyWakeUp" set LegacyWakeUpValue = $(ValueData) else-ifstr(i) $(ValueName) == "TransmitBufferSize" set FrameSizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "MaxFrameSize" set FrameSizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusNumber" set BusNumber = $(ValueData) else-ifstr(i) $(ValueName) == "SlotNumber" set SlotNumber = $(ValueData) else-ifstr(i) $(ValueName) == "EarlyReleaseType" set EarlyRelease = $(ValueData) else-ifstr(i) $(ValueName) == "FrameStatusType" set FrameStatus = $(ValueData) else-Ifstr(i) $(ValueName) == "NetworkAddress" set NetworkAddress = $(ValueData) else-ifstr(i) $(ValueName) == "IoBaseAddress" set IOBasePCMCIAValue = $(ValueData) else-ifstr(i) $(ValueName) == "IoBaseAddress_1" set IOBasePCMCIAValue_1 = $(ValueData) else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress" set MemWinValue = $(ValueData) else-ifstr(i) $(ValueName) == "InterruptNumber" set InterruptValue = $(ValueData) else-ifstr(i) $(ValueName) == "ComPortBase" set ComPortValue = $(ValueData) ifstr(i) $(ComPortValue) != 0 set AllowComPort = $(TRUE) endif else-ifstr(i) $(ValueName) == "PcmciaCtrlBase" set IOBasePCMCIAControllerValue = $(ValueData) else-ifstr(i) $(ValueName) == "WaitStates" set WaitstateValue = $(ValueData) else-ifstr(i) $(ValueName) == "DataSize" set DatasizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "RingSpeed" set RingSpeedValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusType" set BusInterfaceType = $(ValueData) else-ifstr(i) $(ValueName) == "ForcePciSlot" set ForcePciSlot = $(ValueData) endif EndForListDo ; ; For combo cards with NT enabler we must ; use the second I/O window ; ifstr(i) $(IOBasePCMCIAValue_1) != "" set IOBasePCMCIAValue = $(IOBasePCMCIAValue_1) endif ; ; Combo-lists and radio-buttons use a special list of parameter-names ; when dialogs are executed. The following section converts the actual ; values into the corresponding names (indexes). If a value is undefined, ; the first entry in the index-list is used. ; set RcvBufCountIndex = *($(RcvBufCountList), ~($(RcvBufCountValues),$(RcvBufCountValue))) ifstr(i) $(RcvBufCountIndex) == "" set RcvBufCountIndex = *($(RcvBufCountList), $(RcvBufCountDefault)) endif set XmitBufCountIndex = *($(XmitBufCountList), ~($(XmitBufCountValues),$(XmitBufCountValue))) ifstr(i) $(XmitBufCountIndex) == "" set XmitBufCountIndex = *($(XmitBufCountList), $(XmitBufCountDefault)) endif set LegacyWakeUpIndex = *($(LegacyWakeUpList), ~($(LegacyWakeUpValues),$(LegacyWakeUpValue))) ifstr(i) $(LegacyWakeUpIndex) == "" set LegacyWakeUpIndex = *($(LegacyWakeUpList), $(LegacyWakeUpDefault)) endif set IOBaseAddrIndex = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrValue))) ifstr(i) $(IOBaseAddrIndex) == "" set IOBaseAddrIndex = *($(IOBaseAddrList), 1) endif ifcontains(i) $(AdpType) in {"Legacy","PCI1","PCI2","PCI3","Cardbus"} set RSIndex = *($(RSList), ~($(RSValues),$(RingSpeedValue))) ifstr(i) $(RSIndex) == "" set RSIndex = *($(RSList), 1) endif else set RingSpeedIndex = *($(RingSpeedList), ~($(RingSpeedValues),$(RingSpeedValue))) ifstr(i) $(RingSpeedIndex) == "" set RingSpeedIndex = *($(RingSpeedList), 1) endif endif Ifstr(i) $(EarlyRelease) == "Yes" set EarlyRelease = 1 set Rad1 = 1 else-ifstr(i) $(EarlyRelease) == 1 set Rad1 = 1 else set Rad1 = 2 endif Ifstr(i) $(FrameStatus) == "Yes" set FrameStatus = 1; set Rad2 = 3 else-ifstr(i) $(FrameStatus) == 1 set Rad2 = 3 else set Rad2 = 4 endif set RadioIn = {$(Rad1), $(Rad2) } set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), ~($(IOBasePCMCIAValues),$(IOBasePCMCIAValue))) ifstr(i) $(IOBasePCMCIAIndex) == "" set IOBasePCMCIAIndex = *($(IOBasePCMCIAList), 1) endif set MemWinIndex = *($(MemWinList), ~($(MemWinValues),$(MemWinValue))) ifstr(i) $(MemWinIndex) == "" set MemWinIndex = *($(MemWinList), $(MemWinDefault)) endif set InterruptIndex = *($(InterruptList), ~($(InterruptValues),$(InterruptValue))) ifstr(i) $(InterruptIndex) == "" set InterruptIndex = *($(InterruptList), $(InterruptDefault)) endif set ComPortIndex = *($(ComPortList), ~($(ComPortValues),$(ComPortValue))) ifstr(i) $(ComPortIndex) == "" set ComPortIndex = *($(ComPortList), 6) endif set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), ~($(IOBasePCMCIAControllerValues),$(IOBasePCMCIAControllerValue))) ifstr(i) $(IOBasePCMCIAControllerIndex) == "" set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 1) endif set WaitstateIndex = *($(WaitstateList), ~($(WaitstateValues),$(WaitstateValue))) ifstr(i) $(WaitstateIndex) == "" set WaitstateIndex = *($(WaitstateList), 2) endif set DatasizeIndex = *($(DatasizeList), ~($(DatasizeValues),$(DatasizeValue))) ifstr(i) $(DatasizeIndex) == "" set DatasizeIndex = *($(DatasizeList), 1) endif ; ; This section runs the dialogs. From the main dialog (adapter parameter ; setup) it is possible to enter the PCMCIA dialog if requested. When ; exiting the PCMCIA dialog the user is returned to the main dialog. ; adapteroptions = + set from = adapteroptions ifstr(i) $(!NTN_InstallMode) == "install" ; ; Default parameters for installation. ; User will NOT be asked to change/verify configuration during ; normal or unattended installation, unless we are installing on ; NT v3.50. ; ifcontains(i) $(AdpType) in {"PCI1","PCI2","PCI3","Cardbus"} set BusInterfaceType = 5 else ifcontains(i) $(Option) in {"OCTX3117","OCTX3118"} ; ISA set BusInterfaceType = 1 else-ifstr(i) $(Option) == "OCTX3133" ; EISA set BusInterfaceType = 2 else-ifstr(i) $(Option) == "OCTX3129" ; MCA set BusInterfaceType = 3 else ; PCMCIA set BusInterfaceType = 1 endif ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = 0 endif endif goto unattended endif set OldNetAddress = $(NetworkAddress) ; ; Load DLL containing dialogs and verification routines ; LoadLibrary "Olicom Driver Disk" $(DialogDllName) DialogHandle adapteroptions1 = + ; ; Read main dialog setup and show dialog ; ifcontains(i) $(AdpType) in {"Legacy"} read-syms OCTK16ParameterDlg$(!STF_LANGUAGE) else-ifcontains(i) $(AdpType) in {"PCI1"} read-syms PCIParameterDlg$(!STF_LANGUAGE) else-ifcontains(i) $(AdpType) in {"PCI2","PCI3"} read-syms PCI3ParameterDlg$(!STF_LANGUAGE) else-ifcontains(i) $(AdpType) in {"PCMCIA"} read-syms PCMCIAParameterDlg$(!STF_LANGUAGE) else-ifcontains(i) $(AdpType) in {"Cardbus"} read-syms PCMCIAParameterDlg$(!STF_LANGUAGE) set Combo3List = $(RSList) set Combo3Out = $(RSIndex) else-ifcontains(i) $(AdpType) in {"Combo"} read-syms COMBOParameterDlg$(!STF_LANGUAGE) endif set RadioIn = {$(Rad1), $(Rad2) } ui start "InputDlg" $(DialogHandle) ui pop 1 ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; ifcontains(i) $(AdpType) in {"Legacy"} set IOBaseAddrIndex = $(Combo1Out) set RcvBufCountIndex = $(Combo2Out) set XmitBufCountIndex = $(Combo3Out) set RSIndex = $(Combo4Out) else-ifcontains(i) $(AdpType) in {"PCI1"} set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RSIndex = $(Combo3Out) else-ifcontains(i) $(AdpType) in {"PCI2","PCI3"} set LegacyWakeUpIndex = $(Combo1Out) set RcvBufCountIndex = $(Combo2Out) set XmitBufCountIndex = $(Combo3Out) set RSIndex = $(Combo4Out) else-ifcontains(i) $(AdpType) in {"Cardbus"} set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RSIndex = $(Combo3Out) else set RcvBufCountIndex = $(Combo1Out) set XmitBufCountIndex = $(Combo2Out) set RingSpeedIndex = $(Combo3Out) endif ifcontains "1" in $(RadioOut) set EarlyRelease = 1 set Rad1 = 1 else-ifcontains "2" in $(RadioOut) set EarlyRelease = 0 set Rad1 = 2 endif ifContains "3" in $(RadioOut) set FrameStatus = 1 set Rad2 = 3 else-ifcontains "4" in $(RadioOut) set FrameStatus = 0 set Rad2 = 4 endif set NetworkAddress = *($(EditTextOut),1) set FrameSizeValue = *($(EditTextOut),2) ifstr(i) $(DLGEVENT) == "CONTINUE" ; ; parameters have already been stored at this stage ; goto nextstep else-ifstr(i) $(DLGEVENT) == "EXIT" set CommonStatus = STATUS_USERCANCEL Debug-Output "INF: Action: exit. Bye." FreeLibrary $(DialogHandle) goto end else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; BUS... (non PCMCIA) adapteroptions2 = + ; ; Read PCMCIA dialog setup and show dialog ; ifcontains(i) $(AdpType) in {"PCMCIA"} read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) else-ifcontains(i) $(AdpType) in {"Cardbus"} read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) set Free = "&Cancel" else-ifcontains(i) $(AdpType) in {"Combo"} ifstr $(AllowComPort) == $(TRUE) read-syms COMBOMoreDlg$(!STF_LANGUAGE) ifstr(i) $(IOBasePCMCIAControllerIndex) == "Windows NT Enabler" set Combo4List = $(ComPortListNT) endif else read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) endif else-ifcontains(i) $(AdpType) in {"Legacy"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescrShort) $(BusInterfaceType) $(BusNumber) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif ifstr(i) $($R0) == ERROR Shell $(UtilityInf), GetBusTypeNum ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif set BusInterfaceType = $($R1) set BusNumber = 0 else set BusInterfaceType = $($R1) set BusNumber = $($R2) endif set BusTypeConfigured = 1 goto adapteroptions1 else-ifcontains(i) $(AdpType) in {"PCI1","PCI2","PCI3"} set DlgType = "MessageBox" set STF_MB_TITLE = "PCI Bus Parameters" set STF_MB_TEXT = "Bus parameters are configured automatically for PCI adapters. Do you want to force the PCI slot number?" set STF_MB_TYPE = 4 set STF_MB_ICON = 2 ifstr $(ForcePciSlot) == "1" set STF_MB_DEF = 1 else set STF_MB_DEF = 2 endif ui start "PciBusParameters" ifstr $(DLGEVENT) == "YES" set ForcePciSlot = 1 Shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) STATUS + "This PCI adapter is currently configured for bus number "$(BusNumber)" and slot number "$(SlotNumber) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif else-ifstr $(DLGEVENT) == "NO" set ForcePciSlot = 0 endif set BusTypeConfigured = 1 goto adapteroptions1 endif ui start "InputDlg" $(DialogHandle) ui pop 1 ifcontains(i) $(AdpType) in {"Cardbus"} ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; ; For CardBus this option should work as Cancel ; goto adapteroptions1 endif endif ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; set IOBasePCMCIAIndex = $(Combo1Out) set MemWinIndex = $(Combo2Out) set InterruptIndex = $(Combo3Out) set ComPortIndex = $(Combo4Out) ifstr(i) $(DLGEVENT) == "CONTINUE" ; ; parameters have already been stored at this stage ; goto adapteroptions1 else-ifstr(i) $(DLGEVENT) == "FREEBUTTON1" ; ; Read PCMCIA Advanced dialog setup and show dialog ; read-syms PCMCIAAdvancedDlg$(!STF_LANGUAGE) ui start "InputDlg" $(DialogHandle) ui pop 1 ; ; Save new settings because this dialog might be called again. ; If CANCEL was pressed these values will not be used ; set IOBasePCMCIAControllerIndex = $(Combo1Out) set WaitstateIndex = $(Combo2Out) set DatasizeIndex = *($(RadioOut),1) ifstr(i) $(IOBasePCMCIAControllerIndex) == "Windows NT Enabler" ifstr(i) $(ComPortIndex) == "Disabled" set ComPortIndex = *($(ComPortList), $(ComPortDefault)) else-ifstr(i) $(ComPortIndex) == "COM4" set ComPortIndex = *($(ComPortList), $(ComPortDefault)) endif endif goto adapteroptions2 else Debug-Output "INF: Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif else Debug-Output "INF: Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif nextstep =+ ifcontains(i) $(AdpType) in {"PCI1","PCI2","PCI3","Cardbus"} set BusTypeConfigured = 1 ; Avoid BusType/BusNumber Dialog box for PCI/CardBus endif ifstr(i) $(!NTN_InstallMode) == "install" ifint $(BusTypeConfigured) == 0 ifcontains(i) $(AdpType) in {"Legacy"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescrShort) $(BusInterfaceType) $(BusNumber) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif ifstr(i) $($R0) == ERROR Shell $(UtilityInf), GetBusTypeNum ifint $($ShellCode) != $(!SHELL_CODE_OK) goto Shell_Code_Error endif set BusInterfaceType = $($R1) set BusNumber = 0 else set BusInterfaceType = $($R1) set BusNumber = $($R2) endif endif endif endif ifstr $(NetworkAddress) != "" ; ; If network address has been entered then verify that it is a ; valid address (not a multicast or broadcast address) ; set FLibraryErrCtl = 1 LibraryProcedure DlgResult $(DialogHandle) VerifyAddress $(NetworkAddress) set FLibraryErrCtl = 0 ifstr $(DlgResult) != "STATUS_SUCCESS" FreeLibrary $(DialogHandle) set Error = $(DlgResult) goto nonfatal endif endif set FLibraryErrCtl = 1 set RcvBufCountValue = *($(RcvBufCountValues), ~($(RcvBufCountList),$(RcvBufCountIndex))) set XmitBufCountValue = *($(XmitBufCountValues), ~($(XmitBufCountList),$(XmitBufCountIndex))) set RingSpeedValue = *($(RingSpeedValues), ~($(RingSpeedList),$(RingSpeedIndex))) set RSValue = *($(RSValues), ~($(RSList),$(RSIndex))) ifcontains(i) $(AdpType) in {"Legacy","PCI1","PCI2","PCI3","Cardbus"} ifstr $(RcvBufCountValue) == 0 LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) 32 $(RSValue) else LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) $(RcvBufCountValue) $(RSValue) endif else LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) $(RcvBufCountValue) $(RingSpeedValue) endif set FLibraryErrCtl = 0 ifstr $(DlgResult) != "STATUS_SUCCESS" FreeLibrary $(DialogHandle) set Error = $(DlgResult) goto nonfatal endif FreeLibrary $(DialogHandle) unattended =+ ifint $(OldVersionExisted) == $(TRUE) ifstr(i) $(!NTN_InstallMode) == configure goto writeparameters endif endif StartWait ifstr(i) $(!NTN_InstallMode) == "install" Ifstr(i) $(DoCopy) == "YES" Ifstr(i) $(SrcDir) == "" read-syms AskSourceDlgText Shell $(subroutineinf) DoAskSourceEx $(SrcDir) $(DlgText) 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 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 endif Ifint $(OldVersionExisted) != $(FALSE) Goto installhardware Endif Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+ $(NetEventDLL), "" Set OEM_ABANDON_SOFTWARE = TRUE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add software components" 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) Debug-Output "INF: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add value list." 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),$(NetRuleSoftwareBindable)}, + {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}} Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) CloseRegKey $(SoftProductKey) CloseRegKey $(SoftNetRuleKey) CloseRegKey $(SoftServiceKey) CloseRegKey $(SoftParameterKey) CloseRegKey $(SoftLinkageKey) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add value list." goto fatalregistry endif ; ; Insert hardware component in registry ; installhardware =+ set HardwareInstalled = $(FALSE) ifcontains(i) $(AdpType) in {"PCI1","PCI2","PCI3"} ; ; If We are installing a PCI adapter so go get PCI information ; ; NOTE: PCI configuration (BusNumber, SlotNumber will not be ; changed in normal configuration ; set HardwareInstalled = $(TRUE) set VendorID = 4237 ; Olicom Vendor ID: 108Dh ifcontains(i) $(Option) in {"OCTX3139","OCTX3140"} set DeviceID = 4 ; OC-3139/OC-3140 else-ifcontains(i) $(Option) in {"OCTX3141"} set DeviceID = 7 ; OC-3141 else-ifcontains(i) $(Option) in {"OCTX3540"} set DeviceID = 8 ; OC-3540 else set DeviceID = 1 ; OC-3136/OC-3137 endif ; Get PCI information Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID) set AdapterList = $($R0) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr(i) $($R0) == {} ; ; Adapter list is empty. No adapters of this type was found ; ifstr(i) $(!STF_GUI_UNATTENDED) != "YES" ; ; Unattended install: We will NOT install adapter ; Attended install : We will ask user if he wants to install ; adapter anyway. ; shell $(subroutineinf) SetupMessage $(!STF_LANGUAGE) FATAL + "No PCI adapters found" ifstr(i) $($R0) != STATUS_SUCCESSFUL set Error = $($R0) goto fatal endif EndWait goto abandon endif else ; ; Adapter(s) has be found. We will try to find out if the (or ; these) adapter hasn't been installed already. ; set FoundNew = "NO" ForListDo $(AdapterList) ; Run through the Adapter list ; Get Bus number from list: set BusNumber = *($($),1) ; Get SLot Number from list: set SlotNumber = *($($),2) ; Check registry Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardwareDescription), $(ProductHardwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif set AlreadyInstalled = $($R1) ifstr(i) $(AlreadyInstalled) == "NO" ifstr(i) $(Option) == "OCTX3137" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardwareOCTX3136Description), $(ProductHardwareName) set AlreadyInstalled = $($R1) else-ifstr(i) $(Option) == "OCTX3136" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardwareOCTX3137Description), $(ProductHardwareName) set AlreadyInstalled = $($R1) else-ifstr(i) $(Option) == "OCTX3140" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardwareOCTX3139Description), $(ProductHardwareName) set AlreadyInstalled = $($R1) else-ifstr(i) $(Option) == "OCTX3139" Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNumber), + $(SlotNumber), $(ProductHardwareOCTX3140Description), $(ProductHardwareName) set AlreadyInstalled = $($R1) endif endif ifstr(i) $(AlreadyInstalled) == "NO" ; ; This adapter in the AdapterList has not been install yet ; 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) Debug-Output "INF: Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyProduct = $($R1) set KeyAdapterRules = $($R2) set KeyParameters = $($R3) 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),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyProduct) Set KeyProduct = "" 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) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add value list." CloseRegKey $(KeyParameters) goto fatalregistry endif ; ; Set up parameter list for AddValueList routine ; Set NewValueList = {{IoBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+ {ForcePciSlot,$(NoTitle),$(!REG_VT_DWORD),$(ForcePciSlot)},+ {FixedIntMod,$(NoTitle),$(!REG_VT_DWORD),0},+ {RxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {MaxFrameSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)}} ifstr $(NetworkAddress) != "" set NewValueList = >($(NewValueList),{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}) endif set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) ifcontains(i) $(AdpType) in {"PCI2","PCI3"} set NewValueList = >($(NewValueList),{LegacyWakeUp,$(NoTitle),$(!REG_VT_DWORD),$(LegacyWakeUpValue)}) endif ;--------------------------------------- ; Add keyword to prevent driver from ; entering promiscuous mode ; ;set NewValueList = >($(NewValueList),{AllowTrace,$(NoTitle),$(!REG_VT_DWORD),0}) ; ;--------------------------------------- ; ; Now update registry ; Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) endif set FoundNew = "YES" endif EndForListDo ifstr(i) $(FoundNew) == "NO" ifstr(i) $(!STF_GUI_UNATTENDED) != "YES" ; ; No new (uninstalled) adapters found - show message ; shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), STATUS,+ "No new PCI adapters found" ifstr(i) $($R0) != STATUS_SUCCESSFUL set Error = $($R0) goto fatal endif endif endif endif endif ifstr(i) $(HardwareInstalled) == $(FALSE) ; ; Install non-PCI device (or NT 3.50) ; 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) Debug-Output "INF: Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) goto fatalregistry endif set KeyProduct = $($R1) set KeyAdapterRules = $($R2) set KeyParameters = $($R3) 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),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error" goto ShellCodeError endif CloseRegKey $(KeyProduct) Set KeyProduct = "" 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) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "INF: Registry error: add value list." CloseRegKey $(KeyParameters) goto fatalregistry endif endif ; ; Write Adapter Parameters to registry ; writeparameters = + ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif Ifstr(i) $(KeyParameters) == $(KeyNull) Debug-Output "INF: *** KeyParameters is NULL at writeparameters" Endif set DoWrite = "NO" ifcontains(i) $(AdpType) in {"PCI1","PCI2","PCI3"} ifstr(i) $(!NTN_InstallMode) == "Configure" set DoWrite = "YES" endif else set DoWrite = "YES" endif Ifstr(i) $(DoWrite) == "YES" ; ; Convert selections from combo-lists and radio-buttons into actual ; parameter values ; set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList),$(IOBaseAddrIndex))) set RcvBufCountValue = *($(RcvBufCountValues), ~($(RcvBufCountList),$(RcvBufCountIndex))) set XmitBufCountValue = *($(XmitBufCountValues), ~($(XmitBufCountList),$(XmitBufCountIndex))) set LegacyWakeUpValue = *($(LegacyWakeUpValues), ~($(LegacyWakeUpList),$(LegacyWakeUpIndex))) set IOBasePCMCIAValue = *($(IOBasePCMCIAValues), ~($(IOBasePCMCIAList),$(IOBasePCMCIAIndex))) set MemWinValue = *($(MemWinValues), ~($(MemWinList),$(MemWinIndex))) set InterruptValue = *($(InterruptValues), ~($(InterruptList),$(InterruptIndex))) set RingSpeedValue = *($(RingSpeedValues), ~($(RingSpeedList),$(RingSpeedIndex))) set RSValue = *($(RSValues), ~($(RSList),$(RSIndex))) set ComPortValue = *($(ComPortValues), ~($(ComPortList),$(ComPortIndex))) set IOBasePCMCIAControllerValue = *($(IOBasePCMCIAControllerValues), ~($(IOBasePCMCIAControllerList),$(IOBasePCMCIAControllerIndex))) set WaitstateValue = *($(WaitstateValues), ~($(WaitstateList),$(WaitstateIndex))) set DatasizeValue = *($(DatasizeValues), ~($(DatasizeList),$(DatasizeIndex))) ifcontains(i) $(AdpType) in {"Combo"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(AdpType) in {"PCMCIA"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(AdpType) in {"Combo"} ; ; If we're installing a ComboCard, update settings for Serial\parameters\serialoct3xnd3 as well ; SERIALCOMM will be created automatically by serial.sys ; ifint $(ComPortValue) != 0 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialOct3xnd3" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SerialOct3xnd3",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif ifint $(ComPortValue) != 24 set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(ComPortIndex)},+ {ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 0},+ {ForceShare, $(NoTitle),$(!REG_VT_DWORD), 1},+ {Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(InterruptValue)},+ {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ComPortValue)}} Else set-add ComportBaseAddress = $(ComPortValue), $(IOBasePCMCIAValue) set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), $(ComPortIndex)},+ {ForceFifoEnable, $(NoTitle),$(!REG_VT_DWORD), 0},+ {ForceShare, $(NoTitle),$(!REG_VT_DWORD), 1},+ {Interrupt, $(NoTitle),$(!REG_VT_DWORD), $(InterruptValue)},+ {PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ComportBaseAddress)}} Endif Shell $(UtilityInf), AddValueList, $(SerialHandle), $(NewValueList) CloseRegKey $(SerialHandle) ; ; Update settings comm port in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports section ; OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(SerialHandle) {$(ComPortIndex)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"} CloseRegKey $(SerialHandle) ; ; Update settings in HARDWARE\DEVICEMAP\SERIALCOMM section ; OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" SerialHandle CloseRegKey $(SerialKey) endif SetRegValue $(SerialHandle) {"SerialOct3xnd3",$(NoTitle),$(!REG_VT_SZ),$(ComPortIndex)} CloseRegKey $(SerialHandle) Else ; ; Be nice and delete the COM stuff if user really wants so ; SERIALCOMM will be deleted automatically ; ifstr(i) $(AllowComPort) == $(TRUE) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) endif Endif Endif ; ; If using NT enabler for combo cards we must request ; one additional I/O window ; set PcmciaIoLength = 31 ifcontains(i) $(AdpType) in {"Combo"} ifstr(i) $(NTComboSupport) == $(TRUE) ifint $(IOBasePCMCIAControllerValue) == 0 set IOBasePCMCIAValue_1 = $(IOBasePCMCIAValue) set PcmciaIoLength_1 = $(PcmciaIoLength) set IOBasePCMCIAValue = $(ComPortValue) set PcmciaIoLength = 8 endif endif endif ; ; Set up parameter list for AddValueList routine ; Set NewValueList = {{IoBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+ {MediaType,$(NoTitle),$(!REG_VT_DWORD),2},+ {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+ {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+ {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+ {ForcePciSlot,$(NoTitle),$(!REG_VT_DWORD),$(ForcePciSlot)},+ {FixedIntMod,$(NoTitle),$(!REG_VT_DWORD),0},+ {RxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TxBuffers,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {MaxFrameSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)},+ {LegacyWakeUp,$(NoTitle),$(!REG_VT_DWORD),$(LegacyWakeUpValue)},+ {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAValue)},+ {IoLength,$(NoTitle),$(!REG_VT_DWORD),$(PcmciaIoLength)},+ {PCCARDAttributeMemoryAddress,$(NoTitle),$(!REG_VT_DWORD),$(MemWinValue)},+ {PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),4096},+ {PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+ {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(InterruptValue)},+ {ComPortBase,$(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+ {PcmciaCtrlBase,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAControllerValue)},+ {WaitStates,$(NoTitle),$(!REG_VT_DWORD),$(WaitstateValue)},+ {DataSize,$(NoTitle),$(!REG_VT_DWORD),$(DatasizeValue)}} ifstr $(NetworkAddress) != "" set NewValueList = >($(NewValueList),{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)}) endif ifcontains(i) $(AdpType) in {"Cardbus"} set NewValueList = >($(NewValueList),{CardBusType,$(NoTitle),$(!REG_VT_DWORD),1}) endif ifcontains(i) $(AdpType) in {"Legacy","PCI1","PCI2","PCI3","Cardbus"} set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) else set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RingSpeedValue)}) ifcontains(i) $(AdpType) in {"Combo"} ifstr(i) $(NTComboSupport) == $(TRUE) ifint $(IOBasePCMCIAControllerValue) == 0 set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}) set NewValueList = >($(NewValueList),{ModemFunction,$(NoTitle),$(!REG_VT_DWORD),1}) set NewValueList = >($(NewValueList),{IoBaseAddress_1,$(NoTitle),$(!REG_VT_DWORD),$(IOBasePCMCIAValue_1)}) set NewValueList = >($(NewValueList),{IoLength_1,$(NoTitle),$(!REG_VT_DWORD),$(PcmciaIoLength_1)}) else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif else ifint $(IOBasePCMCIAControllerValue) == 0 set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}) else set NewValueList = >($(NewValueList),{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),0}) endif endif endif ;--------------------------------------- ; Add keyword to prevent driver from ; entering promiscuous mode ; ;set NewValueList = >($(NewValueList),{AllowTrace,$(NoTitle),$(!REG_VT_DWORD),0}) ; ;--------------------------------------- ; ; Now update registry ; Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters) endif ; ; If the network address has been deleted then also delete it from ; the registry. ; ifstr $(OldNetAddress) != "" ifstr $(NetworkAddress) == "" DeleteRegValue $(KeyParameters) NetworkAddress endif endif ; ; Update power management entries ; ifcontains(i) $(AdpType) not-in {"PCI2","PCI3"} ; delete power management entries DeleteRegValue $(KeyParameters) LegacyWakeUp endif ; ; If we're not installing a PCMCIA Card, remove PCMCIA specific settings ; ifcontains(i) $(AdpType) in {"Legacy","PCI1","PCI2","PCI3"} DeleteRegValue $(KeyParameters) IoBaseAddress DeleteRegValue $(KeyParameters) IoLength DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryAddress DeleteRegValue $(KeyParameters) PCCARDAttributeMemorySize DeleteRegValue $(KeyParameters) PCCARDAttributeMemoryOffset DeleteRegValue $(KeyParameters) InterruptNumber DeleteRegValue $(KeyParameters) ComPortBase DeleteRegValue $(KeyParameters) PcmciaCtrlBase DeleteRegValue $(KeyParameters) Pcmcia DeleteRegValue $(KeyParameters) WaitStates DeleteRegValue $(KeyParameters) DataSize endif ifcontains(i) $(AdpType) in {"PCMCIA","Cardbus"} DeleteRegValue $(KeyParameters) ComPortBase DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif ifcontains(i) $(AdpType) in {"Cardbus"} DeleteRegValue $(KeyParameters) IoLength DeleteRegValue $(KeyParameters) Pcmcia DeleteRegValue $(KeyParameters) PcmciaCtrlBase DeleteRegValue $(KeyParameters) WaitStates DeleteRegValue $(KeyParameters) DataSize endif ifcontains(i) $(AdpType) in {"Combo"} ifint $(IOBasePCMCIAControllerValue) != 0 DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif endif ifcontains(i) $(AdpType) not-in {"PCI1","PCI2","PCI3","Cardbus"} DeleteRegValue $(KeyParameters) SlotNumber endif CloseRegKey $(KeyParameters) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "INF: Registry error: Add value list" goto fatalregistry endif ; ; Add some keywords to the PCMCIA database in the registry ; ifcontains(i) $(AdpType) in {"PCMCIA","Combo"} set PCMCIADatabaseKeyName = $(!NTN_ServiceBase)"\Pcmcia\DataBase" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseKey ifstr $(PCMCIADatabaseKey) != $(NULL) CreateRegKey $(PCMCIADatabaseKey) {"Olicom", 0, 0} "" $(MAXIMUM_ALLOWED) "" PCMCIADatabaseManuKey ifstr $(PCMCIADatabaseManuKey) == $(NULL) set PCMCIADatabaseManuKeyName = $(PCMCIADatabaseKeyName)"\Olicom" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuKey endif CreateRegKey $(PCMCIADatabaseManuKey) {"TR16/4", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\TR16/4" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"TR 16/4 II", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\TR 16/4 II" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"GoCard Token-Ring 16/4+Modem 14400", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\GoCard Token-Ring 16/4+Modem 14400" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) CreateRegKey $(PCMCIADatabaseManuKey) {"GoCard TRN/Modem 336", 0, 0} "" $(MAXIMUM_ALLOWED) 0 PCMCIADatabaseManuCardKey ifstr $(PCMCIADatabaseManuCardKey) == $(NULL) set PCMCIADatabaseManuCardKeyName = $(PCMCIADatabaseKeyName)"\Olicom\GoCard TRN/Modem 336" OpenRegKey $(!REG_H_LOCAL) "" $(PCMCIADatabaseManuCardKeyName) $(MAXIMUM_ALLOWED) PCMCIADatabaseManuCardKey endif SetRegValue $(PCMCIADatabaseManuCardKey) {Driver, 0, $(!REG_VT_SZ),"oct3xnd3"} SetRegValue $(PCMCIADatabaseManuCardKey) {DeviceType, 0, $(!REG_VT_SZ),"NET"} SetRegValue $(PCMCIADatabaseManuCardKey) {AttributeMemorySize, 0, $(!REG_VT_DWORD),4096} CloseRegKey $(PCMCIADatabaseManuCardKey) Endif Endif Endif ;------------------------------------------------------------------------- ; Add keywords to prevent MS Network Monitor Agent to trap Windows NT 4.0 ; ;OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(MAXIMUM_ALLOWED) NMAServicesKey ;CreateRegKey $(NMAServicesKey) {"bh", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAbhKey ;ifstr $(NMAbhKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh" $(MAXIMUM_ALLOWED) NMAbhKey ;endif ;CreateRegKey $(NMAbhKey) {"Parameters", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAParametersKey ;ifstr $(NMAParametersKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh\Parameters" $(MAXIMUM_ALLOWED) NMAParametersKey ;endif ;CreateRegKey $(NMAParametersKey) {"ForcePMode", 0, 0} "" $(MAXIMUM_ALLOWED) 0 NMAForcePModeKey ;ifstr $(NMAForcePModeKey) == $(NULL) ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\bh\Parameters\ForcePMode" $(MAXIMUM_ALLOWED) NMAForcePModeKey ;endif ;SetRegValue $(NMAForcePModeKey) {Oct3xnd31, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd32, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd33, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd34, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {Oct3xnd35, 0, $(!REG_VT_DWORD), 1} ;CloseRegKey $(NMAForcePModeKey) ;CloseRegKey $(NMAParametersKey) ;CloseRegKey $(NMAbhKey) ;CloseRegKey $(NMAServicesModeKey) ; ;------------------------------------------------------------------------- EndWait goto successful bindingadapter =+ set Error = "Binding: Sorry, not yet implemented." goto fatal ;----------------------------------------------- ; Remove Adapter Section ;----------------------------------------------- ; ; Remove all adapter information from the registry ; removeadapter = + Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif else ; ; Remove associated Com port if required ; ifcontains(i) $(AdpType) in {"Combo"} Split-String $(!NTN_RegBase), "\", CardInfo set AdapterNumber = *($(CardInfo),11) set ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)$(AdapterNumber)"\Parameters" OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(!REG_KEY_READ) KeyComPortBase GetRegValue $(KeyComPortBase) "ComPortBase" ComPortBaseInfo set ComPortBase = *($(ComPortBaseInfo), 3); CloseRegKey $(KeyComPortBase) ifstr(i) $(ComPortBase) != 0 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegTree $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOct3xnd3" CloseRegKey $(SerialHandle) endif endif Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR goto fatalregistry endif endif goto end UpgradeSoftware = + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct Ifstr $(KeyProduct) != $(KeyNull) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "INF: 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) Debug-Output "INF: ShellCode error" 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) Debug-Output "INF: ShellCode error" 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 Severity = STATUS Set CommonStatus = STATUS_USERCANCEL 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 = "Error: "$(FunctionTitle) set STF_MB_TEXT = "Shell Code Error" 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-Net $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers ifcontains(i) $(AdpType) in {"Combo"} AddSectionFilesToCopyList Files-Modem $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif endif Debug-Output "INF: [Install-Option] DoCopy = "$(DoCopy) ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif Exit [Install-Update] set STF_VITAL = "" set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-Net $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers ifcontains(i) $(AdpType) in {"Combo"} AddSectionFilesToCopyList Files-Modem $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList exit [Install-Dll] set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH) endif ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList else ; get minimum needed files for configuration LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\OCT3X.DLL $(!STF_WINDOWSSYSPATH)\OCT3X.DLL LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\OCT3X.HLP $(!STF_WINDOWSSYSPATH)\OCT3X.HLP endif exit [Source Media Descriptions] 1 = "Olicom Driver Disk" [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 [Files-Inf] 1, oemsetup.inf, SIZE=999, RENAME=$(!UG_Filename) [Files-Net] 1, oct3xnd3.sys, SIZE=999 [Files-Modem] 1, serial.sys, SIZE=999 1, ocmdm144.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF 1, ocmdm336.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF [Files-Dll] 1, oct3x.dll, SIZE=999 1, oct3x.hlp, SIZE=999 [Files-dummy]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.