;*********************************************************************** ; ; OEMSETUP.INF ; ; Version 4.35 ; ; 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] OCTK3117 OCTK3118 OCTK3133 OCTK3136 OCTK3137 OCTK3129 OCTK3220 OCTK3221 OCTK3230 OCTK3232 OCTK16 PCMCIA COMBO [OptionsTextENG] OCTK3117 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" OCTK3118 = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" OCTK3133 = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" OCTK3136 = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" OCTK3137 = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" OCTK3129 = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" OCTK3220 = "Olicom GoCard Token-Ring PC Card (OC-3220)" OCTK3221 = "Olicom GoCard Token-Ring PC Card (OC-3221)" OCTK3230 = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" OCTK3232 = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" OCTK16 = "Update Olicom Token-Ring Adapter" PCMCIA = "Update Olicom Token-Ring PC Card" COMBO = "Update Olicom Token-Ring+Modem 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 [ReceiveBufferCountChoices] 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 [TransmitBufferCountChoices] 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 [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 = "220h",544 IOBase_3 = "260h",608 IOBase_4 = "280h",640 IOBase_5 = "2A0h",672 IOBase_6 = "2C0h",714 IOBase_7 = "2E0h",746 IOBase_8 = "300h",768 IOBase_9 = "320h",800 IOBase_10 = "340h",832 IOBase_11 = "360h",864 IOBase_12 = "380h",896 IOBase_13 = "3A0h",928 IOBase_14 = "3C0h",960 IOBase_15 = "A00h",2560 IOBase_16 = "A20h",2592 IOBase_17 = "A40h",2624 IOBase_18 = "A60h",2656 IOBase_19 = "A80h",2688 IOBase_20 = "AA0h",2720 IOBase_21 = "AC0h",2752 IOBase_22 = "AE0h",2784 IOBase_23 = "B00h",2816 IOBase_24 = "B20h",2848 IOBase_25 = "B40h",2880 IOBase_26 = "B60h",2912 IOBase_27 = "B80h",2944 IOBase_28 = "BA0h",2976 IOBase_29 = "BC0h",3008 IOBase_30 = "BE0h",3040 [MemWinChoices] MemWin_1 = "A0000h", 655360 MemWin_2 = "A1000h", 659456 MemWin_3 = "A2000h", 663552 MemWin_4 = "A3000h", 667648 MemWin_5 = "A4000h", 671744 MemWin_6 = "A5000h", 675840 MemWin_7 = "A6000h", 679936 MemWin_8 = "A7000h", 684032 MemWin_9 = "A8000h", 688128 MemWin_10 = "A9000h", 692224 MemWin_11 = "AA000h", 696320 MemWin_12 = "AB000h", 700416 MemWin_13 = "AC000h", 704512 MemWin_14 = "AD000h", 708608 MemWin_15 = "AE000h", 712704 MemWin_16 = "AF000h", 716800 MemWin_17 = "B0000h", 720896 MemWin_18 = "B1000h", 724992 MemWin_19 = "B2000h", 729088 MemWin_20 = "B3000h", 733184 MemWin_21 = "B4000h", 737280 MemWin_22 = "B5000h", 741376 MemWin_23 = "B6000h", 745472 MemWin_24 = "B7000h", 749568 MemWin_25 = "B8000h", 753664 MemWin_26 = "B9000h", 757760 MemWin_27 = "BA000h", 761856 MemWin_28 = "BB000h", 765952 MemWin_29 = "BC000h", 770048 MemWin_30 = "BD000h", 774144 MemWin_31 = "BE000h", 778240 MemWin_32 = "BF000h", 782336 MemWin_33 = "C0000h", 786432 MemWin_34 = "C1000h", 790528 MemWin_35 = "C2000h", 794624 MemWin_36 = "C3000h", 798720 MemWin_37 = "C4000h", 802816 MemWin_38 = "C5000h", 806912 MemWin_39 = "C6000h", 811008 MemWin_40 = "C7000h", 815104 MemWin_41 = "C8000h", 819200 MemWin_42 = "C9000h", 823296 MemWin_43 = "CA000h", 827392 MemWin_44 = "CB000h", 831488 MemWin_45 = "CC000h", 835584 MemWin_46 = "CD000h", 839680 MemWin_47 = "CE000h", 843776 MemWin_48 = "CF000h", 847872 MemWin_49 = "D0000h", 851968 MemWin_50 = "D1000h", 856064 MemWin_51 = "D2000h", 860160 MemWin_52 = "D3000h", 864256 MemWin_53 = "D4000h", 868352 MemWin_54 = "D5000h", 872448 MemWin_55 = "D6000h", 876544 MemWin_56 = "D7000h", 880640 MemWin_57 = "D8000h", 884736 MemWin_58 = "D9000h", 888832 MemWin_59 = "DA000h", 892928 MemWin_60 = "DB000h", 897024 MemWin_61 = "DC000h", 901120 MemWin_62 = "DD000h", 905216 MemWin_63 = "DE000h", 909312 MemWin_64 = "DF000h", 913408 MemWin_65 = "E0000h", 917504 MemWin_66 = "E1000h", 921600 MemWin_67 = "E2000h", 925696 MemWin_68 = "E3000h", 929792 MemWin_69 = "E4000h", 933888 MemWin_70 = "E5000h", 937984 MemWin_71 = "E6000h", 942080 MemWin_72 = "E7000h", 946176 MemWin_73 = "E8000h", 950272 MemWin_74 = "E9000h", 954368 MemWin_75 = "EA000h", 958464 MemWin_76 = "EB000h", 962560 MemWin_77 = "EC000h", 966656 MemWin_78 = "ED000h", 970752 MemWin_79 = "EE000h", 974848 MemWin_80 = "EF000h", 978944 MemWin_81 = "F0000h", 983040 MemWin_82 = "F1000h", 987136 MemWin_83 = "F2000h", 991232 MemWin_84 = "F3000h", 995328 MemWin_85 = "F4000h", 999424 MemWin_86 = "F5000h", 1003520 MemWin_87 = "F6000h", 1007616 MemWin_88 = "F7000h", 1011712 MemWin_89 = "F8000h", 1015808 MemWin_90 = "F9000h", 1019904 MemWin_91 = "FA000h", 1024000 MemWin_92 = "FB000h", 1028096 MemWin_93 = "FC000h", 1032192 MemWin_94 = "FD000h", 1036288 MemWin_95 = "FE000h", 1040384 MemWin_96 = "FF000h", 1044480 [InterruptChoices] Interrupt_1 = "3", 3 Interrupt_2 = "4", 4 Interrupt_3 = "5", 5 Interrupt_4 = "7", 7 Interrupt_5 = "9", 9 Interrupt_6 = "10",10 Interrupt_7 = "11",11 Interrupt_8 = "12",12 Interrupt_9 = "14",14 Interrupt_10 = "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 ;----------------------------------------------------------------------- ; Constants for use with dialogs ;----------------------------------------------------------------------- [FileConstants] UtilityInf = "UTILITY.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 DialogDllName = "octk16.dll" HelpfileName = "octk16.hlp" NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\Drivers\Octk16.sys" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "Olicom" ProductMajorVersion = "1" ProductMinorVersion = "00" ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "OcTk16" ProductSoftwareTitle = "Olicom Token-Ring 16/4 Adapter Driver" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\octk16.sys" NetRuleSoftwareType = "octk16Sys ndisDriver octk16Driver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Octk16Sys"" yes no container" NetRuleSoftwareClass = {"octk16Driver basic"} NetRuleSoftwareBindable = {"octk16Driver octk16Adapter non exclusive 100"} ProductHardwareName = "OcTk16" ProductHardwareOCTK3117Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTK3118Title = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTK3133Title = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTK3136Title = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTK3137Title = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTK3129Title = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTK3220Title = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTK3221Title = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTK3230Title = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTK3232Title = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" NetRuleHardwareType = "octk16 octk16Adapter" NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareClass = {"octk16Adapter 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 PCIDetectSupported = $(TRUE) 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:" ProductHardwareOCTK3117Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3117)" ProductHardwareOCTK3118Description = "Olicom Token-Ring ISA 16/4 Adapter (OC-3118)" ProductHardwareOCTK3133Description = "Olicom Token-Ring EISA 16/4 Adapter (OC-3133)" ProductHardwareOCTK3136Description = "Olicom Token-Ring PCI 16/4 Adapter (OC-3136)" ProductHardwareOCTK3137Description = "Olicom Token-Ring PCI/II 16/4 Adapter (OC-3137)" ProductHardwareOCTK3129Description = "Olicom Token-Ring MCA 16/4 Adapter (OC-3129)" ProductHardwareOCTK3220Description = "Olicom GoCard Token-Ring PC Card (OC-3220)" ProductHardwareOCTK3221Description = "Olicom GoCard Token-Ring PC Card (OC-3221)" ProductHardwareOCTK3230Description = "Olicom GoCard TR/Modem 144 PC Card (OC-3230)" ProductHardwareOCTK3232Description = "Olicom GoCard TRN/Modem 336 PC Card (OC-3232)" ProductSoftwareDescription = "Olicom Token-Ring Adapter Driver" ProductHardwareDescription = "Olicom Token-Ring Adapter" FunctionTitle = "Olicom Token-Ring Adapter Setup" IOBaseAddrList = ^(IOBaseAddrChoices, 1) IOBaseAddrValues = ^(IOBaseAddrChoices, 2) RcvBufCountList = ^(ReceiveBufferCountChoices, 1) RcvBufCountValues = ^(ReceiveBufferCountChoices, 2) XmitBufCountList = ^(TransmitBufferCountChoices, 1) XmitBufCountValues = ^(TransmitBufferCountChoices, 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 = 15 MemWinDefault = 49 ComPortDefault = 3 InterruptDefault = 1 RcvBufCountDefault = 27 XmitBufCountDefault = 25 FrameSizeDefault = 4096 ; 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 = "&Full Transmit 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 = "&Full Transmit 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) ;----------------------------------------------------------------------- ; 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 = "&Full Transmit 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 = "&Full Transmit 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 "STF_CWDDIR is: "$(!STF_CWDDIR) Debug-Output "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) 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 "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue) CloseRegKey $(KeyNt) Endif ifstr(i) (*($(CurrentVersionValue),4)) == ($(NT310VersionConstant)) Debug-Output "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 "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 ; ; Supply backwards compatibility for INF file ; ifstr(i) $(Option) == "OCTK16" set Option = OCTK3118 else-ifstr(i) $(Option) == "PCMCIA" set Option = OCTK3221 else-ifstr(i) $(Option) == "COMBO" set Option = OCTK3232 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 "Cannot configure the driver software." Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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\SerialOctk16" $(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) $(Option) in {"OCTK3220","OCTK3221"} set IOBasePCMCIAControllerList = >($(IOBasePCMCIAControllerList),"Windows NT Enabler") set IOBasePCMCIAControllerValues = >($(IOBasePCMCIAControllerValues),0) set IOBasePCMCIAControllerIndex = *($(IOBasePCMCIAControllerList), 3) endif ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} 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 FrameSizeValue = $(FrameSizeDefault) set BusNumber = $(BusNoDefault) set SlotNumber = $(SlotNoDefault) set ForcePciSlot = 0 Shell $(UtilityInf), GetBusTypeNum set BusInterfaceType = $($R1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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 "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 "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 "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) == "IoBase" set IOBaseAddrValue = $(ValueData) else-ifstr(i) $(ValueName) == "TransmitBufferCount" set XmitBufCountValue = $(ValueData) else-ifstr(i) $(ValueName) == "TransmitBufferSize" set FrameSizeValue = $(ValueData) else-ifstr(i) $(ValueName) == "BusNumber" set BusNumber = $(ValueData) else-ifstr(i) $(ValueName) == "SlotNumber" set SlotNumber = $(ValueData) else-ifstr(i) $(ValueName) == "EarlyRelease" set EarlyRelease = $(ValueData) else-ifstr(i) $(ValueName) == "EarlyReleaseType" set EarlyRelease = $(ValueData) else-ifstr(i) $(ValueName) == "FrameStatus" set FrameStatus = $(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 IOBaseAddrIndex = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrValue))) ifstr(i) $(IOBaseAddrIndex) == "" set IOBaseAddrIndex = *($(IOBaseAddrList), 1) endif ifcontains(i) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} 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 Rad1 = 1 else-ifstr(i) $(EarlyRelease) == 1 set Rad1 = 1 else set Rad1 = 2 endif ifstr(i) $(FrameStatus) == "Yes" 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) $(Option) in {"OCTK3136","OCTK3137"} set BusInterfaceType = 5 ifint $(PCIDetectSupported) == $(FALSE) ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = $(BusNoDefault) endif endif else ifcontains(i) $(Option) in {"OCTK3117","OCTK3118"} ; ISA set BusInterfaceType = 1 else-ifstr(i) $(Option) == "OCTK3133" ; EISA set BusInterfaceType = 2 else-ifstr(i) $(Option) == "OCTK3129" ; MCA set BusInterfaceType = 3 else ; PCMCIA set BusInterfaceType = 1 endif ifstr(i) $(!AutoNetBusNumber) != "" set BusNumber = $(!AutoNetBusNumber) else set BusNumber = 0 endif endif ifint $(PCIDetectSupported) == $(TRUE) ; Default parameters for installation on any NT except 3.50 goto unattended endif ifstr(i) $(!STF_GUI_UNATTENDED) == "YES" ; Default parameters for unattended installation goto unattended endif endif set OldNetAddress = $(NetworkAddress) ; ; Load DLL containing dialogs and verification routines ; LoadLibrary "Olicom Driver Disk" $(DialogDllName) DialogHandle adapteroptions1 = + ; ; If upgraded from old version we do not have a PCI slotnumber ; Ifint $(SlotNumber) == 0 set PCIDetectSupported = $(FALSE) Endif ; ; Read main dialog setup and show dialog ; ifcontains(i) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129"} read-syms OCTK16ParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTK3136","OCTK3137"} read-syms PCIParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTK3220","OCTK3221"} read-syms PCMCIAParameterDlg$(!STF_LANGUAGE) endif ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} 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) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129"} set IOBaseAddrIndex = $(Combo1Out) set RcvBufCountIndex = $(Combo2Out) set XmitBufCountIndex = $(Combo3Out) set RSIndex = $(Combo4Out) else-ifcontains(i) $(Option) in {"OCTK3136","OCTK3137"} 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 "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) $(Option) in {"OCTK3220","OCTK3221"} read-syms PCMCIAMoreDlg$(!STF_LANGUAGE) else-ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} 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) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(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) $(Option) in {"OCTK3136","OCTK3137"} ifint $(PCIDetectSupported) == $(FALSE) Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(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 else 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 endif set BusTypeConfigured = 1 goto adapteroptions1 endif 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 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) ; set IOBasePCMCIAControllerValue = *($(IOBasePCMCIAControllerValues), ~($(IOBasePCMCIAControllerList),$(IOBasePCMCIAControllerIndex))) 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 "Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif else Debug-Output "Action: unknown: "$(DLGEVENT) FreeLibrary $(DialogHandle) goto end endif nextstep =+ ifcontains(i) $(Option) in {"OCTK3136","OCTK3137"} set BusTypeConfigured = 1 ; Avoid BusType/BusNumber Dialog box for PCI endif ifstr(i) $(!NTN_InstallMode) == "install" ifint $(BusTypeConfigured) == 0 ifcontains(i) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(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) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} LibraryProcedure DlgResult $(DialogHandle) CheckMaxFrameSize $(FrameSizeValue) $(XmitBufCountValue) $(RcvBufCountValue) $(RSValue) 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 Ifint $(OldVersionExisted) != $(FALSE) Goto installhardware Endif 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 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 "ShellCode error" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "OEMNADUB.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 "ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "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 "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 "Registry error: add value list." goto fatalregistry endif ; ; Insert hardware component in registry ; installhardware =+ set HardwareInstalled = $(FALSE) ifcontains(i) $(Option) in {"OCTK3136","OCTK3137"} ; ; If We are installing a PCI adapter so go get PCI information ; ifint $(PCIDetectSupported) == $(TRUE) ; ; NOTE: PCI configuration (BusNumber, SlotNumber will not be ; changed in normal configuration ; set HardwareInstalled = $(TRUE) set VendorID = 4237 ; Olicom Vendor ID: 108Dh set DeviceID = 1 ; OC-3136/OC-3137 ; 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 "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), ERROR,+ "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), $(ProductHardware$(Option)Description), $(ProductHardwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) goto ShellCodeError endif ifstr $($R0) != "NO_ERROR" set Error = $($R0) goto fatal endif ifstr(i) $($R1) == "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 "Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "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)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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 "ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "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),1},+ {RecBufCount,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TransmitBufferCount,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {TransmitBufferSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)},+ {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 set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) ;--------------------------------------- ; 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 "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), STATUS,+ "No new PCI adapters found" ifstr(i) $($R0) != STATUS_SUCCESSFUL set Error = $($R0) goto fatal endif 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 "Cannot add hardware component" goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "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)"] "$(ProductHardware$(Option)Title)},+ {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+ {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+ {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+ {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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 "ShellCode error." goto ShellCodeError endif CloseRegKey $(KeyAdapterRules) set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output "Registry error: add value list." CloseRegKey $(KeyParameters) goto fatalregistry endif endif ; ; Write Adapter Parameters to registry ; writeparameters = + ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif Ifstr(i) $(KeyParameters) == $(KeyNull) Debug-Output "*** KeyParameters is NULL at writeparameters" Endif set DoWrite = "NO" ifcontains(i) $(Option) in {"OCTK3136","OCTK3137"} 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 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) $(Option) in {"OCTK3230","OCTK3232"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(Option) in {"OCTK3220","OCTK3221"} set BusInterfaceType = 1 set BusNumber = 0 Endif ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} ; ; If we're installing a ComboCard, update settings for Serial\parameters\serialoctk16 as well ; SERIALCOMM will be created automatically by serial.sys ; ifint $(ComPortValue) != 0 OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialOctk16" $(MAXIMUM_ALLOWED) SerialHandle Ifstr $(SerialHandle) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey CreateRegKey $(SerialKey) {"SerialOctk16",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) {"SerialOctk16",$(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) "SerialOctk16" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOctk16" 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) $(Option) in {"OCTK3230","OCTK3232"} 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)},+ {RecBufCount,$(NoTitle),$(!REG_VT_DWORD),$(RcvBufCountValue)},+ {TransmitBufferCount,$(NoTitle),$(!REG_VT_DWORD),$(XmitBufCountValue)},+ {TransmitBufferSize,$(NoTitle),$(!REG_VT_DWORD),$(FrameSizeValue)},+ {EarlyReleaseType,$(NoTitle),$(!REG_VT_DWORD),$(EarlyRelease)},+ {FrameStatusType,$(NoTitle),$(!REG_VT_DWORD),$(FrameStatus)},+ {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) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RSValue)}) else set NewValueList = >($(NewValueList),{RingSpeed,$(NoTitle),$(!REG_VT_DWORD),$(RingSpeedValue)}) ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} 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 ; ; If we're not installing a PCMCIA Card, remove PCMCIA specific settings ; ifcontains(i) $(Option) in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} 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) $(Option) in {"OCTK3220","OCTK3221"} DeleteRegValue $(KeyParameters) ComPortBase DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif ifcontains(i) $(Option) in {"OCTK3230","OCTK3232"} ifint $(IOBasePCMCIAControllerValue) != 0 DeleteRegValue $(KeyParameters) IoBaseAddress_1 DeleteRegValue $(KeyParameters) IoLength_1 DeleteRegValue $(KeyParameters) ModemFunction endif endif ifcontains(i) $(Option) not-in {"OCTK3136","OCTK3137"} DeleteRegValue $(KeyParameters) SlotNumber endif ; ; Delete obsolete entries ; DeleteRegValue $(KeyParameters) EarlyRelease DeleteRegValue $(KeyParameters) FrameStatus CloseRegKey $(KeyParameters) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "ShellCode error." goto ShellCodeError endif set RegistryErrorIndex = $($R0) Ifstr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output "Registry error: Add value list" goto fatalregistry endif ; ; Add some keywords to the PCMCIA database in the registry ; ifcontains(i) $(Option) not-in {"OCTK3117","OCTK3118","OCTK3133","OCTK3129","OCTK3136","OCTK3137"} 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),"octk16"} 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),"octk16"} 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),"octk16"} 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),"octk16"} 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) {OcTk161, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {OcTk162, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {OcTk163, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {OcTk164, 0, $(!REG_VT_DWORD), 1} ;SetRegValue $(NMAForcePModeKey) {OcTk165, 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 $(subroutineinf) SetupMessage $(!STF_LANGUAGE) STATUS "Remove SW" Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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) $(Option) in {"OCTK3230","OCTK3232"} 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) "SerialOctk16" CloseRegKey $(SerialHandle) OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) SerialHandle DeleteRegValue $(SerialHandle) "SerialOctk16" CloseRegKey $(SerialHandle) endif endif Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $(!NTN_RegBase) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "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 "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 "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 "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-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers endif Debug-Output "OEMSETUP.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-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers 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)\OCTK16.DLL $(!STF_WINDOWSSYSPATH)\OCTK16.DLL LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\OCTK16.HLP $(!STF_WINDOWSSYSPATH)\OCTK16.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-OcTk3117] 1, octk16.sys, SIZE=999 [Files-OcTk3118] 1, octk16.sys, SIZE=999 [Files-OcTk3133] 1, octk16.sys, SIZE=999 [Files-OcTk3136] 1, octk16.sys, SIZE=999 [Files-OcTk3137] 1, octk16.sys, SIZE=999 [Files-OcTk3129] 1, octk16.sys, SIZE=999 [Files-OcTk3220] 1, octk16.sys, SIZE=999 [Files-OcTk3221] 1, octk16.sys, SIZE=999 [Files-OCTK3230] 1, octk16.sys, SIZE=999 1, serial.sys, SIZE=999 1, ocmdm144.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF 1, ocmdm336.inf, SIZE=999, DESTINATION=$(!STF_WINDOWSPATH)\INF [Files-OCTK3232] 1, octk16.sys, SIZE=999 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, octk16.dll, SIZE=999 1, octk16.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.