OEMSETNT.INF Driver File Contents (DR_SMC1211TX_all.zip)

;
; OEMSETUP.INF - Windows NT ODI driver installation information file
;                for SMC EZ Card 10/100 (SMC1211TX).
;
; Copyright (C) 1998, Standard Microsystems Corp. All Rights Reserved.

[Identification]
        OptionType = NetAdapter
[PlatformsSupported]
        PCI
        "Jazz-Internal Bus"
[LanguagesSupported]
        ENG

[FileConstants]
UtilityInf      = "UTILITY.INF"
ParamInf        = "NCPARAM.INF"
subroutineinf   = "SUBROUTN.INF"
NwSubsInf       = "NWSUBS.INF"
Exit_Code       = 0
NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer            = "SMC"
ProductMajorVersion     = "1"
ProductMinorVersion     = "00"
ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
DriverName              = "OdiLoad"
OdiModules              = "ODI_Modules"

NetRuleHardwareType     = "nwDriver nwAdapter"
NetRuleHardwareBindForm = " yes yes container"
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(DriverName)"\CurrentVersion"
;
; ParamKeyname not used - not updated
; ParamKeyName  = $(!NTN_ServiceBase)"\"$(ProductHardware$(Option)Name)"\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)\netware

[ODIParameters]
        ODINodeAddress           = ""
        ODIDriverAdditionalParms = {}
        ODICustomList            = {}
        ODITokenRing             = ""
        ODITokenRingSnap         = ""

        ;
        ; File specific Parameters:
        ;   ISA LAN Driver file:
        ;               ODISlotList = {}
        ;               ODIDefaultSlot = ""
        ;        MCA and EISA LAN Driver files:
        ;               ODISlotList = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
        ;               ODIDefaultSlot = "2"
        ;
        ODISlotList = {}
        ODIDefaultSlot = ""

[date]
        Now = {} ? $(!LIBHANDLE) GetSystemDate

[Identify]
        read-syms Identification
        set Status      = STATUS_SUCCESSFUL
        set Identifier  = $(OptionType)
        set Media       = #("Source Media Descriptions", 1, 1)
        Return $(Status) $(Identifier) $(Media)

[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 = {}
        ForListDo $(OptionList)
                set OptionTempString = " ODI "#($($),Title,1)" Adapter for NetWare"
                set OptionTextList = >($(OptionTextList), $(OptionTempString) )
        EndForListDo
        set Status               = STATUS_SUCCESSFUL

Debug-Output "OEMNADOD.INF-[finish_ReturnOptions]:"
Debug-Output "OEMNADOD.INF-          Status = "$(Status)
Debug-Output "OEMNADOD.INF-      OptionList = "$(OptionList)
Debug-Output "OEMNADOD.INF-  OptionTextList = "$(OptionTextList)

finish_ReturnOptions = +
        Return $(Status) $(OptionList) $(OptionTextList)

[InstallOption]
        set Option      = $($1)
        set SrcDir      = $($2)
        set AddCopy  = $($3)
        set DoCopy      = $($4)
        set DoConfig = $($5)
        set LanguageList = ^(LanguagesSupported, 1)
        Ifcontains(i) $($0) NOT-IN $(LanguageList)
                Return STATUS_NOLANGUAGE
        endif
        set-subst LF = "\n"
        read-syms GeneralConstants
        read-syms FileConstants
        read-syms ODIParameters
        read-syms DialogConstants$(!STF_LANGUAGE)
        ifstr(i) $(!NTN_Origination) == "NCPA"
                set Continue = "OK"
        endif
        read-syms FileConstants$(!STF_LANGUAGE)
        detect date

;       set-title  $(Function$(Option)Title)

        set to  = Begin
        set from = Begin
        set CommonStatus = STATUS_SUCCESSFUL
        EndWait

Begin = +
        set CurrentInstallMode = ""
        Ifstr(i) $(!NTN_InstallMode) == deinstall
                set StartLabel = removeadapter
                goto skipmakingthelists
        else-Ifstr(i) $(!NTN_InstallMode) == Update
                set StartLabel = UpgradeSoftware
                set CurrentInstallMode = configure
                set DoCopy = YES
                set AddCopy = YES
        else-Ifstr(i) $(!NTN_InstallMode) == bind
                set StartLabel = bindingadapter
                goto skipmakingthelists
        else-Ifstr(i) $(!NTN_InstallMode) == configure
                set StartLabel = configureadapter
                set CurrentInstallMode = configure
        else
                set DoCopy = YES
                set AddCopy = YES
                set StartLabel = installadapter
                set OEM_ABANDON_OPTIONS = {}
                set OEM_ABANDON_SOFTWARE = FALSE
                set OEM_ABANDON_ON = TRUE
        endif

        set ParameterListNames = ^(DefaultParameterLists, 1)        ; NWIRQList, NWMEMList1, etc.
        set ListNames = ^(ODIListNamesSection, 1)                   ; List1
        set ODIKeywordList = ^(ChoicesNamesList, 1)                 ; Int, mem, Port, etc.
        set ODITitleList = ^(ChoicesNamesList, 2)                   ; Interrupt Number, Port, etc.
        set MSParameterList = ^(ChoicesNamesList, 3)                ; InterruptNumber, IOBaseAddress, etc.
        set DriverListNames = {}
        set ODINumberofDriverLists = 0
        ForListDo ^($(Option),0 )
                ifcontains(i) $($) IN $(ListNames)
                        set DriverListNames = >($(DriverListNames), $($))
                else-ifstr(i) $($) == "CUSTOM"
                        set ODICustomList = #($(Option), Custom, 1)
                endif
        EndForListDo

        QueryListSize ODINumberofDriverLists $(DriverListNames)

;
; DriverListNames now contains the List names the selected ODI driver has (i.e. {List1, List2})
; ODINumberofDriverLists now contains the number of lists used
;

        Debug-Output "DriverListNames = "$(DriverListNames)
        Debug-Output "Size of DriverListNames = "$(ODINumberofDriverLists)

        ForListDo $(DriverListNames)
                set $($)Keyword = #($(Option), $($), 1)
                ifstr $($($)Keyword) != ""
                        set $($)Default = #($(Option), $($), 3)

                        ifcontains(i) $($($)Keyword) IN $(ODIKeywordList)
                                set $($)Title = *($(ODITitleList), ~($(ODIKeywordList), $($($)Keyword)))
                                set ThisListName = #($(Option), $($), 2)
                                set MSParameterName$(#) = *($(MSParameterList), ~($(ODIKeywordList), $($($)Keyword)))
                                set FinalList = {}

                                ifcontains(i) $(ThisListName) IN $(ParameterListNames)
                                        ifstr(i) #($(Option), $($), 4) == "ALL"
                                                set FinalList = ^($(ThisListName), 1)
                                        else
                                                set CountUpTo = #($(Option), $($), 5)

                                                ifstr(i) $(CountUpTo) == "END"
                                                        set CountUpTo = $(MAXIMUM_ALLOWED)
                                                endif

                                                set StartNumber = #($(Option), $($), 4))

                                                ForListDo ^($(ThisListName), 1)
                                                        ifint $(#) >= $(StartNumber)
                                                                ifint $(#) <= $(CountUpTo)
                                                                        set FinalList = >($(FinalList), $($))
                                                                endif
                                                        endif
                                                EndForListDo
                                        endif
                                else
                                        ;
                                        ; User passed in the list
                                        ;
                                        Debug-Output "User passed in a list"
                                        set $($)Title = #($(Option), $($), 2)
                                        set FinalList = #($(Option), $($), 4)
                                endif
                        else
                                ;
                                ; User passed in a new keyword
                                ;
                                Debug-Output "User passed in a new keyword"
                                set $($)Title = #($(Option), $($), 2)
                                set MSParameterName$(#) = ""
                                set FinalList = #($(Option), $($), 4)
                        endif
                set $($)List = $(FinalList)
                endif
        Debug-Output "List"$(#)"Title = "$($($)Title)
        Debug-Output "List"$(#)"Default = "$($($)Default)
        Debug-Output "List"$(#)"Keyword = "$($($)Keyword)
        Debug-Output "List"$(#)"List = "$($($)List)
        Debug-Output "MSParameterName"$(#)" = "$(MSParameterName$(#))
        EndForListDo

skipmakingthelists = +
        Debug-Output "Starting skipmakingthelist"
        set ODILANDriverTitle = #($(Option), Title, 1)
        Split-String #($(Option), DriverName, 2) "." SplitFileNameList
        set ODILANDriverName = *($(SplitFileNameList), 1)
        set ODIMediaType = #($(Option), MediaType, 1)
        set ODICardType = #($(Option), CardType, 1)
        set ODICardId = #($(Option), CardId, 1)
        ifstr(i) $(ODICardType) == "PCI"
                set ODIVendor = #($(Option), Vendor, 1)
        endif
        ifstr(i) #($(Option), CanShareSlot, 1) == "YES"
                set SkipDescriptionCheck = "NO"
        else
                set SkipDescriptionCheck = "YES"
        endif
        Debug-Output "ODILANDriverName = "$(ODILANDriverName)
        Debug-Output "ODIMediaType = "$(ODIMediaType)

        ifstr(i) $(ODIMediaType) == "ETHERNET"
                set NdisMediaType = "1"
        else-ifstr(i) $(ODIMediaType) == "TOKEN-RING"
                set NdisMediaType = "2"
        else-ifstr(i) $(ODIMediaType) == "FDDI"
                set NdisMediaType = "4"
        else
                Debug-Output "OEMNADOD.INF: Unknown media type "$(ODIMediaType)
                set NdisMediaType = ""
        endif

        set from = $(fatal)
        set to = $(fatal)
        goto $(StartLabel)

installadapter = +
        Ifstr(i) $(DoCopy) == "YES"
                ;
                ;  Get source location
                ;
                Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES

                Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        Goto ShellCodeError
                Else-Ifstr(i) $($R0) == STATUS_FAILED
                        Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
                        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                goto ShellCodeError
                        endif
                        set Error = $($R0)
                        Goto fatal
                Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
                        Goto end
                Endif
                Set SrcDir = $($R1)
        Endif
        install "Install-Option"
        goto adapteroptions

configureadapter = +
        Debug-Output "Starting configureadapter."
        Ifstr $(KeyProduct) == $(KeyNull)
                OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
                Ifstr $(KeyProduct) == $(KeyNull)
                        set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
                        Debug-Output "OEMNADOD.INF: Cannot find component product key "$(!NTN_RegBase)
                        goto fatalregistry
                Endif
        Endif
        Set AdapterNumber = ""
        Shell $(UtilityInf) FindService, $(KeyProduct)
        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "OEMNADOD.INF: FindService shell failure "$($ShellCode)
                Goto ShellCodeError
        Endif
        Ifstr(i) $($R0) != NO_ERROR
                Debug-Output "OEMNADOD.INF: FindService Error "$($R0)
                Goto fatalregistry
        endif

        set KeyParameters = $($R2)
        set ServiceAreaHandle = $($R1)
        Ifstr $(KeyParameters) == $(KeyNull)
                set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
                Debug-Output "OEMNADOD.INF: Cannot find component service "$(KeyProduct)
                goto fatalregistry
        endif

        set OldVersionExisted = $(TRUE)
        set ValueName = ""
        set ValueData = ""
        set ValueStr  = ""
        set ValueList = {}

        GetRegValue $(KeyParameters) ODILoadName ODILoadName
        Set CardInstanceName = *($(ODILoadName),4)
        Ifstr $(CardInstanceName) == $(KeyNull)
                set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
                Debug-Output "OEMNADOD.INF: Cannot find CardInstanceName"
                goto fatalregistry
        endif

        set KeyToFind = $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
        OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) DriverKey
        Ifstr $(DriverKey) == $(KeyNull)
                set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
                Debug-Output "OEMNADOD.INF: Cannot find component product key = "$(KeyToFind)
                goto fatalregistry
        Endif

        GetRegValue $(DriverKey) Parameters ParameterList

        ;  get the data portion
        set ParameterList = *($(ParameterList), 4)

        Debug-Output "parameter list = "$(ParameterList)

        ForListDo $(ParameterList)
                set ThisParameterList = $($)
                Split-String $($) " " SplitList
                set KeyToSearchFor = *($(SplitList), 1)
                set ValueToUse = *($(SplitList), 3)
                Debug-Output "Keytosearchfor = "$(KeyToSearchFor)
                Debug-Output "ValueToUse = "$(ValueToUse)
                ;
                ;   #1    #2     #3
                ; "Parm"  " "    "Value"
                ;
                set ValueFound = 0

                ;
                ; check frametypes for TOKEN-RING, TOKEN-RING_SNAP
                ;
                ifstr(i) $(KeyToSearchFor) == "FRAME"
                        ;
                        ; Don't append Frametypes to ODIAdditionalParms, so set ValueFound = 1
                        ;
                        set ValueFound = 1
                        QueryListSize SplitListSize $(SplitList)
                        ifstr(i) *($(SplitList), 3) == "TOKEN-RING"
                                set LastParameter = *($(SplitList), $(SplitListSize))
                                ifstr(i) $(LastParameter) == "MSB"
                                        set ODITokenRing = "MSB"
                                else-ifstr(i) $(LastParameter) == "LSB"
                                        set ODITokenRing = "LSB"
                                else
                                        ;
                                        ; Not there, so default to MSB
                                        ;
                                        set ODITokenRing = "MSB"
                                endif
                        else-ifstr(i) *($(SplitList), 3) == "TOKEN-RING_SNAP"
                                set LastParameter = *($(SplitList), $(SplitListSize))
                                ifstr(i) $(LastParameter) == "MSB"
                                        set ODITokenRingSnap = "MSB"
                                else-ifstr(i) $(LastParameter) == "LSB"
                                        set ODITokenRingSnap = "LSB"
                                else
                                        ;
                                        ; Not there, so default to MSB
                                        ;
                                        set ODITokenRingSnap = "MSB"
                                endif
                        endif
                ;
                ; Check for NODE parameter
                ;
                else-ifstr(i) $(KeyToSearchFor) == "NODE"
                        set ODINodeAddress = $(ValueToUse)
                        set ValueFound = 1
                ;
                ; Check for SLOT parameter
                ;
                else-ifstr(i) $(KeyToSearchFor) == "SLOT"
                        set ODIDefaultSlot = $(ValueToUse)
                        set ValueFound = 1
                ;
                ; Check for BUSNAME parameter - ignore it
                ;
                else-ifstr(i) $(KeyToSearchFor) == "BUSNAME"
                        set ValueFound = 1
                ;
                ; Check for BUSTYPE parameter
                ;
                else-ifstr(i) $(KeyToSearchFor) == "BUSTYPE"
                        set ValueFound = 1
                        set BusInterfaceType = $(ValueToUse)
                ;
                ; Check for BUS parameter
                ;
                else-ifstr(i) $(KeyToSearchFor) == "BUS"
                        set ValueFound = 1
                        set BusNumber = $(ValueToUse)
                endif

                ForListDo $(DriverListNames)
                        ifstr(i) $(KeyToSearchFor) == $($($)Keyword)
                                set $($)Default = $(ValueToUse)
                                set ValueFound = 1
                                ifcontains(i) $(ValueToUse) NOT-IN $($($)List)
                                        set $($)List = >($($($)List), $(ValueToUse))
                                endif
                        endif
                EndForListDo

                Debug-Output "Value Found = "$(ValueFound)

                ifint $(ValueFound) == 0
                        set FoundInCustom = 0
                        ForListDo $(ODICustomList)
                                ifstr(i) $($) == $(ThisParameterList)
                                        set FoundInCustom = 1
                                endif
                        EndForListDo

                        Debug-Output "Found in Custom = "$(FoundInCustom)
                        ifint $(FoundInCustom) == 0
                                ifstr $(ODIDriverAdditionalParms) == {}
                                        set ODIDriverAdditionalParms = $(KeyToSearchFor)" "$(ValueToUse)
                                else
                                        set ODIDriverAdditionalParms = >($(ODIDriverAdditionalParms), $(KeyToSearchFor)" "$(ValueToUse))
                                endif
                        endif
                endif
        EndForListDo

        Debug-Output "AdditionalParms = "$(ODIDriverAdditionalParms)
        Debug-Output "CustomList = "$(ODICustomList)
        Debug-Output "BusType = "$(BusInterfaceType)
        Debug-Output "Bus = "$(BusNumber)

adaptersetup =+
        goto adapteroptions
adapteroptions = +
        Debug-Output "Start adapteroptions."
        set from = adapteroptions
        LoadLibrary "NetWare for Windows NT" $(!STF_WINDOWSSYSPATH)"\"nwsetup.dll NwLibHandle
        SetHelpFile $(!STF_WINDOWSSYSPATH)"\nls\english\nwnthelp.hlp" $(!MinimumID) $(!MaximumID)

dothedialog = +
        Debug-Output "Start dothedialog."
        ifint $(ODINumberofDriverLists) == 0
                Debug-Output "ODINumberofDriveLists == 0."
                ifstr(i) $(CurrentInstallMode) == configure
                        read-syms NoParms$(!STF_LANGUAGE)
                        ui start "WorkstationDLG" $(NwLibHandle)

                        ifstr(i) $(DLGEVENT) == "CONTINUE"
                                Debug-Output "OK hit"
                        else-ifstr(i) $(DLGEVENT) == "EXIT"
                        ;
                        ; user selected the advanced button
                        ;
                                goto doadvancedsettings
                        endif
                endif
        else
                Debug-Output "ODINumberofDriveLists != 0."
                read-syms LANDriverDlg$(!STF_LANGUAGE)

                set NotifyFields = {}
                set ComboListItemsIn = {}
                set ComboListItemsOut = {}
                ForListDo $(DriverListNames)
                        set NotifyFields = >($(NotifyFields), "NO")
                        set ComboListItemsIn = >($(ComboListItemsIn), $($)List)
                        ifstr $($($)Value) == ""
                                set $($)Value = $($($)Default)
                        endif
                        set ComboListItemsOut = >($(ComboListItemsOut), $($)Value)
                EndForListDo

                ui start "LANDriverParms" $(NwLibHandle)

                ifstr(i) $(DLGEVENT) == "CONTINUE"
                        Debug-Output "Continue hit"
                else-ifstr(i) $(DLGEVENT) == "BACK"
                        Debug-Output "Action: CANCEL. Bye."
                        set CommonStatus = STATUS_USERCANCEL
                        ui pop 1
                        FreeLibrary $(NwLibHandle)
                        goto end
                else-ifstr(i) $(DLGEVENT) == "EXIT"

doadvancedsettings =+
                ;
                ; user selected the advanced button
                ;
                        Debug-Output "Action: ADVANCED DIALOG"
                        read-syms AdvancedDialog$(!STF_LANGUAGE)
                        set RadioIn = {}
                        set ComboListItemsIn = {}
                        set ComboListItemsOut = {}
                        set ComboOut = $(ODIDefaultSlot)

                        ifstr(i) $(ODIMediaType) == "TOKEN-RING"
                                ifstr(i) $(ODISlotList) == {}
                                        set DlgTemplate = "DLG_ADVANCEDDRIVER3"
                                else
                                        set ComboListItemsIn = { ODISlotList }
                                        set ComboListItemsOut = { ComboOut }
                                        set DlgTemplate = "DLG_ADVANCEDDRIVER1"
                                endif

                                ifstr(i) $(ODITokenRing) == "LSB"
                                        set RadioIn = { 2 }
                                else
                                        set RadioIn = { 1 }
                                endif

                                ifstr(i) $(ODITokenRingSnap) == "LSB"
                                        set RadioIn = >($(RadioIn), "4")
                                else
                                        set RadioIn = >($(RadioIn), "3")
                                endif
                        else
                                ifstr(i) $(ODISlotList) == {}
                                        set DlgTemplate = "DLG_ADVANCEDDRIVER4"
                                else
                                        set ComboListItemsIn = { ODISlotList }
                                        set ComboListItemsOut = { ComboOut }
                                        set DlgTemplate = "DLG_ADVANCEDDRIVER2"
                                endif
                        endif

                        ui start "AdvancedDialog" $(NwLibHandle)
                        ui pop 1

                        ifstr(i) $(DLGEVENT) == "CONTINUE"
                                set ODINodeAddress = *($(EditTextOut), 1)
                                set ODIDefaultSlot = *($(ComboOut), 1)
                                ifcontains "2" IN $(RadioOut)
                                        set ODITokenRing = "LSB"
                                else
                                        set ODITokenRing = "MSB"
                                endif
                                ifcontains "4" IN $(RadioOut)
                                        set ODITokenRingSnap = "LSB"
                                else
                                        set ODITokenRingSnap = "MSB"
                                endif
                        else-ifstr(i) $(DLGEVENT) == "BACK"
                                Debug-Output "Action: CANCEL. Bye."
                        endif
                        goto dothedialog
                else
                        Debug-Output "Action: unknown. Bye."
                        ui pop 1
                        FreeLibrary $(NwLibHandle)
                        goto end
                endif

                ui pop 1
                ForListDo $(DriverListNames)
                        Debug-Output "List"$(#)"Value = "$($($)Value)
                EndForListDo
        endif

        Debug-Output "FreeLibrary $(NwLibHandle)"
        FreeLibrary $(NwLibHandle)

        ifint $(OldVersionExisted) == $(TRUE)
                ifstr(i) $(CurrentInstallMode) == configure
                        Debug-Output "going to writeparameters based on OldVersionExisted."
                        goto writeconfigureparameters
                endif
        endif

        StartWait
        goto writeparameters

writeparameters = +
        Debug-Output "Starting writeparameters."
        Debug-Output "Calling GetPCIInformation."

        ; Use the GetPCIInformation utiltiy to find the bus number and slot number
        ; the adapter is installed in.
        set NTBusType = 5
        Shell $(UtilityInf), GetPCIInformation, $(ODIVendor) $(ODICardId)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                EndWait
                goto ShellCodeError
        endif
        set AdapterList = $($R0)

        set ProductHardwareDescription = +
                "ODI "$(ODILANDriverTitle)" Adapter for NetWare"

        ForListDo $(AdapterList)
                ; Steps need to be taken for multiple adapters of the same type.
                set NTBusNumber = *($($),1)
                set NTSlotNumber = *($($),2)
                Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(NTBusNumber), +
                        $(NTSlotNumber), $(ProductHardwareDescription), +
                        $(ODILANDriverName), $(SkipDescriptionCheck)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        goto ShellCodeError
                endif
                ifstr $($R0) != "NO_ERROR"
                        set Error = $($R0)
                        goto fatal
                endif
                ifstr(i) $($R1) != "YES"
                        Debug-Output "Doing Shell AddHardwareComponent."
                        Shell $(UtilityInf), AddHardwareComponent, $(ODILANDriverName),+
                                $(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 "OEMNADOD.INF:Cannot add hardware component "$($ShellCode)
                                EndWait
                                goto ShellCodeError
                        endif

                        set RegistryErrorIndex = $($R0)
                        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                                EndWait
                                Debug-Output "OEMNADOD.INF: Registry error: add hardware component "$(RegistryErrorIndex)
                                CloseRegKey $($R1)
                                CloseRegKey $($R2)
                                CloseRegKey $($R3)
                                goto fatalregistry
                        endif

                        set KeyParameters = $($R3)
                        set KeyAdapterRules = $($R2)
                        set AdapterNumber = $($R4)
                        Set-add TempAdapterNumber = $(AdapterNumber),0
                        set CardInstanceName = $(ODILANDriverName)" #"$(TempAdapterNumber)
                        set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),+
                                $(Manufacturer)}, {Title,$(NoTitle),$(!REG_VT_SZ),+
                                "["$($R4)"] ODI "$(ODILANDriverTitle)" Adapter for NetWare"},+
                                {Description,$(NoTitle),$(!REG_VT_SZ),+
                                        $(ProductHardwareDescription)},+
                                {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ODILANDriverName)},+
                                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
                                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},+
                                {OdiAdapter,$(NoTitle),$(!REG_VT_DWORD),1}}
                        Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
                        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
                                EndWait
                                goto ShellCodeError
                        endif
                        CloseRegKey $($R1)

                        set TempProdName = """"$(ODILANDriverName)$(AdapterNumber)""""
                        set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
                        set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),+
                                $(NetRuleHardwareType)},{bindform,$(NoTitle),$(!REG_VT_SZ),+
                                $(TempBindForm)}, {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
                        Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
                        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
                                EndWait
                                goto ShellCodeError
                        endif
                        set RegistryErrorIndex = $($R0)
                        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                                EndWait
                                Debug-Output "OEMNADOD.INF: AddValueList Registry error "$(RegistryErrorIndex)
                                CloseRegKey $(KeyParameters)
                                CloseRegKey $(KeyAdapterRules)
                                goto fatalregistry
                        endif
                        CloseRegKey $(KeyAdapterRules)

                        SetRegValue $(KeyParameters) {OdiLoadName,$(NoTitle),$(!REG_VT_SZ),$(CardInstanceName)}
                        SetRegValue $(KeyParameters) {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)}
                        SetRegValue $(KeyParameters) {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}

writeconfigureparameters = +
                        ; Jump to here if the drivers is already installed and specific driver
                        ; configuration was selected.

                        ifstr(i) $(NdisMediaType) == ""
                                set NdisMediaType = "1"
                                Debug-Output "OEMNADOD.INF: Media type NOT set"
                        endif

                        set NewValueList = {{MediaType,$(NoTitle),$(!REG_VT_DWORD), +
                                $(NdisMediaType)}}

                        ForListDo $(DriverListNames)
                                ifstr $(MSParameterName$(#)) != ""
                                        set-hextodec DecValue = $($($)Value)
                                        set ValueToAdd = {$(MSParameterName$(#)),$(NoTitle), +
                                                $(!REG_VT_DWORD), $(DecValue)}
                                        set NewValueList = >($(NewValueList), $(ValueToAdd))
                                endif
                        EndForListDo

                        Debug-Output "AddValueList with KeyParameters = "$(KeyParameters)
                        Debug-Output "and NewValueList = "$(NewValueList)
                        Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)

                        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Debug-Output "OEMNADOD.INF: AddValueList ShellCode error "$($ShellCode)
                                EndWait
                                goto ShellCodeError
                        endif

                        set RegistryErrorIndex = $($R0)
                        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                                Debug-Output "OEMNADOD.INF: AddValueList Registry error "$($ShellCode)
                                EndWait
                                goto fatalregistry
                        endif
                        set PromptForSrcRouting = "FALSE"

                        Ifstr(i) $(ODIMediaType) == "ETHERNET"
                                set ODIParmList = {"Frame ETHERNET_802.2", +
                                                   "Frame ETHERNET_802.3", +
                                                   "Frame ETHERNET_II", +
                                                   "Frame ETHERNET_SNAP" }
                        else-Ifstr(i) $(ODIMediaType) == "TOKEN-RING"
                                set ODIParmList = {"Frame TOKEN-RING "$(ODITokenRing), +
                                        "Frame TOKEN-RING_SNAP "$(ODITokenRingSnap) }

                                ;If there is an ODI stack available remove the comment on the next line
                                ;set PromptForSrcRouting = "TRUE"

                        else-Ifstr(i) $(ODIMediaType) == "FDDI"
                                set ODIParmList = {"Frame FDDI_802.2", +
                                        "Frame FDDI_SNAP" }

                                ;If there is an ODI stack available remove the comment on the next line
                                ;set PromptForSrcRouting = "TRUE"
                        else
                                set ODIParmList = {}
                        endif

                        Debug-Output "Framenames = "$(ODIParmList)

                        ;
                        ; Build List to send to ODI_MODULES\CARDNAME
                        ;
                        ForListDo $(DriverListNames)
                                ifstr $($($)Value) == "Present"
                                        set ODIParmList = >($(ODIParmList), $($($)Keyword))
                                else-ifstr $($($)Value) != "Not Present"
                                        set ODIParmList = >($(ODIParmList), $($($)Keyword)" "$($($)Value))
                                endif
                        EndForListDo

                        ifstr $(ODINodeAddress) != ""
                                set ODIParmList = >($(ODIParmList), "Node "$(ODINodeAddress))
                        endif

                        ifstr $(ODIDefaultSlot) != ""
                                set ODIParmList = >($(ODIParmList), "Slot "$(ODIDefaultSlot))
                        endif

                        ForListDo $(ODIDriverAdditionalParms)
                                ifstr $($) != ""
                                        set ODIParmList = >($(ODIParmList), $($))
                                endif
                        EndForListDo

                        ForListDo $(ODICustomList)
                                ifstr $($) != ""
                                        set ODIParmList = >($(ODIParmList), $($))
                                endif
                        EndForListDo

                        Debug-Output "ODIParmList = "$(ODIParmList)
                        Debug-Output "Calling NwSubsInf to NwAddOdiLoadModule."

                        Shell $(NwSubsInf) NwAddOdiLoadModule $(CardInstanceName) +
                                $(AdapterNumber) $(ODIParmList)
                        Debug-Output "Back from Calling NwSubsInf to NwAddOdiLoadModule."

                        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule failure "$($ShellCode)
                                Goto ShellCodeError
                        Endif

                        Set ErrorString = $($R0)
                        Ifstr(i) $(ErrorString) != NO_ERROR
                                Debug-Output "OEMNADOD.INF: NwAddOdiLoadModule "$(ErrorString)
                                EndWait
                                goto fatalregistry
                        Endif

                        Debug-Output "PromptForSrcRouting = "$(PromptForSrcRouting)

                        Ifstr(i) $(PromptForSrcRouting) == "TRUE"
                                Shell $(NwSubsInf) NwConfigureSourceRouting "ODI"
                        Endif

                        Ifstr(i) $(!NTN_InstallMode) == install
                                ; Open the driver key to add the busNumber, busType, HIN,
                                ;and slotNumber
                                set KeyToFind = +
                                        $(!NTN_ServiceBase)"\ODILOAD\ODI_MODULES\"$(CardInstanceName)
                                OpenRegKey $(!REG_H_LOCAL) ""  $(KeyToFind) $(MAXIMUM_ALLOWED) +
                                        DriverKey
                                set NewValueList = +
                                        {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTBusNumber)},+
                                        {BusType,$(NoTitle),$(!REG_VT_DWORD),$(NTBusType)},+
                                        {HIN,$(NoTitle),$(!REG_VT_DWORD),1},+
                                        {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(NTSlotNumber)}}
                Shell  $(UtilityInf), AddValueList, $(DriverKey), $(NewValueList)
                                CloseRegKey $(DriverKey)
                                Set OdiAdapterInstalledOkay = "1"
                        Endif

                        ifstr(i) $(CurrentInstallMode) == configure
                                goto endwriteparameters
                        endif
                endif
        EndForListDo

endwriteparameters = +
        CloseRegKey $(KeyParameters)
        EndWait
        goto successful

bindingadapter =+
        set Error = "Binding: Sorry, not yet implemented."
        goto fatal

removeadapter = +
        Shell $(NwSubsInf) NwRemoveAdapter $(!NTN_RegBase)
        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "OEMNADOD.INF: Shell Error NwRemoveAdapter "$($ShellCode)
        Endif

        Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer)
        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
                goto ShellCodeError
        Endif

        set RegistryErrorIndex = $($R0)

        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$(RegistryErrorIndex)
                Ifstr(i) $(RegistryErrorIndex) == "SHELL_CODE_ERROR"
                        goto ShellCodeError
                Endif
                goto fatalregistry
        Endif
        goto end

UpgradeSoftware = +
        Ifstr(i) $(DoCopy) == "YES"
                Ifstr(i) $(SrcDir) == ""

                        ;
                        ;  Get source location
                        ;

                        Shell $(NwSubsInf), DoAskLANSource, $(!STF_CWDDIR), $(SrcDir) YES

                        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Goto ShellCodeError
                        Else-Ifstr(i) $($R0) == STATUS_FAILED
                                Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
                                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                        goto ShellCodeError
                                endif
                                set Error = $($R0)
                                Goto fatal
                        Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
                                Goto end
                        Endif

                        Set SrcDir = $($R1)
                Endif
        Endif

        install "Install-Option"
        Ifstr(i) $(DoConfig) == "YES"
                goto configureadapter
        else
                goto end
        endif

successful = +
        goto end

abandon = +
        ForListDo $(OEM_ABANDON_OPTIONS)
        Shell $(NwSubsInf) NwRemoveNtAdapter $(ProductKeyName) $(Manufacturer) $($)
        Ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "OEMNADOD.INF: NwRemoveNtAdapter "$($ShellCode)
                goto ShellCodeError
        Endif
                set RegistryErrorIndex = $($R0)
                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                        goto fatalregistry
                endif
        EndForListDo
        goto end

warning = +
        Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                goto ShellCodeError
        endif
        ifstr(i) $($R1) == "OK"
                goto $(to)
        else-ifstr(i) $($R1) == "CANCEL"
                goto $(from)
        else
                goto "end"
        endif

nonfatalinfo = +
        Set CommonStatus = STATUS_USERCANCEL
        Set Severity = STATUS
        goto nonfatalmsg
nonfatal = +
        Set Severity = NONFATAL
        goto nonfatalmsg
nonfatalmsg = +
        ifstr(i) $(Error) == ""
                Set Severity = NONFATAL
                Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        goto ShellCodeError
                endif
                set Error = $($R0)
        endif
        Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                goto ShellCodeError
        endif
        ifstr(i) $($R1) == "OK"
                goto $(from)
        else
                goto "end"
        endif

fatalregistry = +
        Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                goto ShellCodeError
        endif
        set Error = $($R0)
        goto fatal

fataldetect = +
        Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "OEMNADOD.INF: ShellCode error: cannot get an error string."
                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: "$(Function$(Option)Title)
        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 = +
;       Ifstr(i) $(OdiAdapterInstalledOkay) == "1"
;               Debug-Output "Calling NwSubsInf to GetOdiAdapterList."
;               Shell $(NwSubsInf) GetOdiAdapterList
;               ifint $($R3) < 2
;                       Set DlgType = "MessageBox"
;                       Set STF_MB_TITLE = "NetWare ODI LAN Drivers Setup"
;                       Set STF_MB_TEXT  = "The NetWare ODI Adapter was successfully installed.  "+
;                                                       "Your NetWare installation is COMPLETE."
;                       Set STF_MB_TYPE  = 1
;                       Set STF_MB_ICON  = 2
;                       Set STF_MB_DEF  = 1
;                       ui start "Error Message"
;               Endif
;       Endif

        ;
        ; Check if ODINSUP needs to be installed
        ;

        Shell $(NwSubsInf), CheckIfODINSUPIsNeeded
        Return $(CommonStatus)

[Install-Option]
        set STF_VITAL = ""
        ifstr(i) $(AddCopy) == "YES"
                AddSectionKeyFileToCopyList $(Option) DriverName $(SrcDir)i386\landrv $(!STF_WINDOWSSYSPATH)\netware
        endif
        ifstr(i) $(DoCopy) == "YES"
                set !STF_NCPA_FLUSH_COPYLIST = TRUE
                CopyFilesInCopyList
        endif
        ifstr(i) $(DoConfig) == "YES"
        endif
        Exit

;[Install-Update]
;       set STF_VITAL           = ""
;       set STF_OVERWRITE       = "VERIFYSOURCEOLDER"
;
;       AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\netware
;       AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
;
;       set !STF_NCPA_FLUSH_COPYLIST = TRUE
;       CopyFilesInCopyList
;
;       exit

[Source Media Descriptions]
        1  = "NetWare ODI LAN Drivers Disk"  , TAGFILE = NTCLNT_5

[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386

[DialogConstantsENG]
Help            = "&Help"
;Exit           = "&Cancel"
OK                = "OK"
HelpContext = ""
Continue        = "&Continue"
Cancel    = "&Cancel"
Advanced = "&Advanced"
IDH_NETWAREWRKSTATIONPARMS =  901
IDH_NETWAREIPXBIND         =  902
IDH_IPXSPXPARMS            =  903
IDH_NETWORKPROTOCOL        =  904
IDH_NETWAREODISETTINGS     =  905
IDH_NETWARECLIENTINSTALL   =  906
IDH_NETWARENDISODI         =  907
IDH_NODEADDRESSOVERIDE     =  908
IDH_RESMGRCONFIG           =  951

[LANDriverDlgENG]
DlgType = "RadioCombination"
DlgTemplate = "List"$(ODINumberofDriverLists)
Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = $(IDH_NETWAREODISETTINGS)

[NoParmsENG]
DlgType = "RadioCombination"
DlgTemplate = "NO_PARAMETERS"
Caption = "ODI "$(ODILANDriverTitle)" Adapter Configuration"
EditTextIn = ""
EditTextLim = ""
CBOptionsGreyed = {}
HelpContext = ""
CBOptionsGreyed = {}
ComboListItemsIn = {}
ComboListItemsOut = {}
NotifyFields = {}

[AdvancedDialogENG]
DlgType = "RadioCombination"
Caption = "Advanced Settings"
EditTextIn = $(ODINodeAddress)
EditTextLim = 13
CBOptionsGreyed = {}
HelpContext = $(IDH_NODEADDRESSOVERIDE)
NotifyFields = {}

[FileConstantsENG]
ProCaption      = "NetWare ODI LAN Drivers Setup"
ProCancel       = "Cancel"
ProCancelMsg    = "NetWare for Windows NT is not correctly installed.  "+
                  "Are you sure you want to cancel copying files?"
ProCancelCap    = "Network Setup Message"
ProText1        = "Copying:"
ProText2        = "To:"

[ChoicesNamesList]
       "Line_Speed",           "Line Speed",                           "LineSpeed"

[ODIListNamesSection]
        List1

[Line_SpeedList]
        Num1 = "Not Present"
        Num2 = 100
        Num3 = 10

[DefaultParameterLists]
        Line_SpeedList

[Options]
        ODI_SMC1211PCI

[ODI_SMC1211PCI]
Title = "SMC EZ Card 10/100 (SMC1211TX)."
DriverName = 1, SMC1211.LAN
MediaType = "ETHERNET"
CardType = "PCI"
CardId = 4625                ;;SMC Device ID = 1211h (hex) --> 4625 (dec)
Vendor = 4371                ;;SMC Vendor ID = 1113h (hex) --> 4371 (dec)
Custom = {}
CanShareSlot = "NO"
List1 = "Line_Speed",     Line_SpeedList,     "Not Present", All

Download Driver Pack

How To Update Drivers Manually

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.

server: web3, load: 0.77