OEMSETNT.INF Driver File Contents (Entrega_USB2Ethernet.exe)

;***********************************************************************f
;
;       Windows NT 4 Network Setup File (for NDIS4)
;       Xircom USB Ethernet 10Mb Network Adapters
;       (c) 1996-1999 Xircom, Inc.
;
;       $Revision:   1.00  $
;       $Date:   Jun 04 1999 12:00:00  $
;
;***********************************************************************

[Identification]
        OptionType = NetAdapter

[PlatformsSupported]
        ISA
        EISA
        MCA
        PCI

[Options]
        USBENET

[OptionsTextENG]
        USBENET    = "Xircom USB Ethernet"

[AllFileConstants]
GenericInfVersion  = " v1.00"
;  File names, etc. ----------------------------------------
UtilityInf      = "UTILITY.INF"
ParamInf        = "NCPARAM.INF"
subroutineinf   = "SUBROUTN.INF"
SoftwareType    = "driver"
Exit_Code       = 0
; EventLog Message File  ----------------------------------------
NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
; Product Info ----------------------------------------
Manufacturer    = "Xircom"

[FileConstants-USBENET]
GenericAdapterName = "Xircom USB Ethernet"
GenericDriverName  = "Xircom USB Ethernet"
GenericSysName     = "USBENET.sys"
GenericName        = "USBENET"

; Product Info ----------------------------------------
ProductMajorVersion     = "1"
ProductMinorVersion     = "00"
ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
; Software  ----------------------------------------
ProductSoftwareName     = "USBENET"
ProductSoftwareDescription = "Xircom USB Ethernet"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\"$(GenericSysName)
NetRuleSoftwareType     = "usbenetSys ndisDriver usbenetDriver"
NetRuleSoftwareUse      = $(SoftwareType)
NetRuleSoftwareBindForm = """usbenetSys"" yes no container"
NetRuleSoftwareClass    = {"usbenetDriver basic"}
NetRuleSoftwareBindable = {"usbenetDriver usbenetAdapter non exclusive 100"}
; Hardware  ----------------------------------------
ProductHardwareName        = "USBENET"
ProductHardwareDescription = "Xircom USB Ethernet"
NetRuleHardwareType        = "usbenet usbenetAdapter"
NetRuleHardwareBindForm    = " yes yes container"
NetRuleHardwareClass       = {"usbenetAdapter basic"}
; Registry Key  ----------------------------------------
ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"


USBVendorID       = 2138

[GeneralConstants]
;  Program flow control variables.
from      = ""
to        = ""
;  Return codes; Exit_Code is set to one of these
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


[date]
        ; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
        ; Minute, Second }
        Now = {} ? $(!LIBHANDLE) GetSystemDate


;---------------------------------------------------------------------------
; 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 = {}

        ;
        ; Check if the language requested is supported
        ;
        set LanguageList = ^(LanguagesSupported, 1)
        Ifcontains(i) $($0) in $(LanguageList)
                ;
                ; Check if the platforms requested is supported
                ;
                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

        ;
        ; form a list of all the options and another of the text representing
        ;

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]
        ;
        ; Set default values for
        ;
        set Status   = STATUS_FAILED
        ;
        ; extract parameters
        ;
        set Option   = $($1)
        set SrcDir   = $($2)
        set AddCopy  = $($3)
        set DoCopy   = $($4)
        set DoConfig = $($5)

        Set !DebugOutputControl = 1

        ;
        ; Check if the language requested is supported
        ;
        set LanguageList = ^(LanguagesSupported, 1)
        Ifcontains(i) $($0) NOT-IN $(LanguageList)
                Return STATUS_NOLANGUAGE
        endif

        set-subst LF = "\n"

        read-syms GeneralConstants
        read-syms AllFileConstants
        read-syms FileConstants"-"$(Option)
        read-syms DialogConstants$(!STF_LANGUAGE)"-"$(Option)
        ifstr(i) $(!NTN_Origination) == "NCPA"
                set Continue = $(OK)
        endif

        read-syms AllFileConstants$(!STF_LANGUAGE)
        read-syms FileConstants$(!STF_LANGUAGE)"-"$(Option)

        detect date

        set-title  $(FunctionTitle)

        set to   = Begin
        set from = Begin
;
;  Assume all is well.
;
        set CommonStatus = STATUS_SUCCESSFUL

        EndWait

;
;   Set up the operation-mode-based variables and gaily welcome
;   the user.  If the "install mode" variable is improperly set,
;   assume this is a new installation.
;

Begin = +
        Set ActivateDetection = FALSE

        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 ActivateDetection = TRUE
                set StartLabel = configureadapter
                ;
                ;   You cannot config the software component
                ;
                Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
                        ;Debug-Output "Cannot configure the 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 ActivateDetection = TRUE
                set StartLabel = installadapter
                set OEM_ABANDON_OPTIONS = {}
                set OEM_ABANDON_SOFTWARE = FALSE
                set OEM_ABANDON_ON = TRUE
        endif

        ;  Set the Default values
;        set NetAddress                  = 0
        set MaxTransmitsValue           = *($(MaxTransmitsList), 14)
        set MaxTxFrameSizeValue         = *($(MaxTxFrameSizeList), 18)
        set TxBufferSizeValue           = *($(TxBufferSizeList), 21)
        set MinRcvBuffsValue            = *($(MinRcvBuffsList), 16)
        set RcvBuffSizeValue            = *($(RcvBuffSizeList), 18)
        set DebugLevelValue             = 0
        set NumUsbBuffsValue            = *($(NumUsbBuffsList), 14)
        set UsbPlugUnplugValue          = "YES"
        set UsbReplugDelayTimeValue     = *($(UsbReplugDelayTimeList), 6)
        set InitTimeOutValue            = *($(InitTimeOutList), 8)


        Set from = $(fatal)
        Set to = $(fatal)
        Goto $(StartLabel)

;-----------------------------------------------
; Installation Section
;-----------------------------------------------

installadapter = +
;
;   First, check whether the same version of the software exists
;
        OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct

        Ifstr $(KeyProduct) != $(KeyNull)
                ;
                ; Same version already existed in the local machine
                ; Popup the dialog and ask the user whether he wants to continue
                ;
                CloseRegKey $(KeyProduct)

                ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
                   ;
                   ; Cannot Install the same software again
                   ;
                   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
                   ;
                   ; Add a new adapter card?
                   ;
                   Shell $(UtilityInf), CardExistedDlg

                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
                           Debug-Output "ShellCode error: cannot get an error string."
                           goto ShellCodeError
                   endif

                   ifstr(i) $($R1) != "OK"
                           goto end
                   endif
                   set OldVersionExisted = $(TRUE)
                endif
        endif

;
;  dll load addition
;
        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 adaptersetup

;-----------------------------------------------
; Configuration Section
;-----------------------------------------------
;
;   Get the current values of all the parameters
;
configureadapter = +
        Ifstr $(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

        ;
        ; Get the other parameters;  they're attached to the service parameters key
        ;
        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)

        ;
        ;  We don't need the services key, so close it.
        ;
        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 = {}

        
        ;
        ; Get the old values from the Registry  [Get Values]
        ; *********************************************************
        EnumRegValue $(KeyParameters) ValueList
        ForListDo $(ValueList)
                set ValueItem = $($)
                set ValueName = *($(ValueItem),1)
                set ValueData = *($(ValueItem),4)
                ifstr(i) $(ValueName) == "MaxTransmits"
                        set MaxTransmitsValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "MaxTxFrameSize"
                        set MaxTxFrameSizeValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "TxBufferSize"
                        set TxBufferSizeValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "MinRcvBuffs"
                        set MinRcvBuffsValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "DebugLevel"
                        set DebugLevelValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "NumUsbBuffs"
                        set NumUsbBuffsValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "UsbPlugUnplug"
                        set UsbPlugUnplugValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "InitTimeOut"
                        set InitTimeOutValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "NetAddress"
                        set NetAddressValue = $(ValueData)
                else-ifstr(i) $(ValueName) == "RcvBuffSize"
                        set RcvBuffSizeValue = $(ValueData)
                endif
        EndForListDo


        ifstr(i) $(MaxTransmitsValue) == ""
                set MaxTransmitsValue = *($(MaxTransmitsList), 14)
        endif

        ifstr(i) $(MaxTxFrameSizeValue) == ""
                set MaxTxFrameSizeValue = *($(MaxTxFrameSizeList), 18)
        endif

        ifstr(i) $(TxBufferSizeValue) == ""
                set TxBufferSizeValue = *($(TxBufferSizeList), 21)
        endif

        ifstr(i) $(MinRcvBuffsValue) == ""
                set MinRcvBuffsValue = *($(MinRcvBuffsList), 16)
        endif

        ifstr(i) $(RcvBuffSizeValue) == ""
                set RcvBuffSizeValue = *($(RcvBuffSizeList), 18)
        endif

        ifstr(i) $(DebugLevelValue) == ""
                set DebugLevelValue = 0
        endif

        ifstr(i) $(NumUsbBuffsValue) == ""
                set NumUsbBuffsValue = *($(NumUsbBuffsList), 14)
        endif

        ifstr(i) $(UsbPlugUnplugValue) == ""
                set UsbPlugUnplugValue = "YES"
        endif

        ifstr(i) $(InitTimeOutValue) == ""
                set InitTimeOutValue = *($(InitTimeOutList), 8)
        endif

        ifstr(i) $(UsbReplugDelayTimeValue) == ""
                set UsbReplugDelayTimeValue = *($(UsbReplugDelayTimeList), 6)
        endif

        ifstr(i) $(MaxTransmitsValue) == "0"
                set MaxTransmitsValue = *($(MaxTransmitsList), 14)
        endif

        ifstr(i) $(MaxTxFrameSizeValue) == "0"
                set MaxTxFrameSizeValue = *($(MaxTxFrameSizeList), 18)
        endif

        ifstr(i) $(TxBufferSizeValue) == "0"
                set TxBufferSizeValue = *($(TxBufferSizeList), 21)
        endif

        ifstr(i) $(MinRcvBuffsValue) == "0"
                set MinRcvBuffsValue = *($(MinRcvBuffsList), 16)
        endif

        ifstr(i) $(RcvBuffSizeValue) == "0"
                set RcvBuffSizeValue = *($(RcvBuffSizeList), 18)
        endif

        ifstr(i) $(NumUsbBuffsValue) == "0"
                set NumUsbBuffsValue = *($(NumUsbBuffsList), 14)
        endif

        ifstr(i) $(InitTimeOutValue) == "0"
                set InitTimeOutValue = *($(InitTimeOutList), 8)
        endif

        ifstr(i) $(UsbReplugDelayTimeValue) == "0"
                set UsbReplugDelayTimeValue = *($(UsbReplugDelayTimeList), 6)
        endif


        set CheckItemsIn = {$(UsbPlugUnplugValue)}


        ;  Save the settings as they were read from the Registry.

;    Shell $(ParamInf) Param_SaveValues
;    Set CurrParamSettings = $($R0)
;
;   Put up the adapter configuration dialog if necessary.
;
;   Note that $(CurrParamSettings) has the old known parameter values.
;
adaptersetup = +


        ;Shell "" DebugConfiguration "before displaying dialog"

        Set from = adapteroptions


adapteroptions = +


; This goto command is a workaround for the NT DLL problem
;                goto skipoptions

        ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
                goto skipoptions
        endif
        
        set CheckItemsIn = {$(UsbPlugUnplugValue)}

        LoadLibrary "disk 1" $(DialogDllName) hLib
        read-syms FileDependentDlg$(!STF_LANGUAGE)"-"$(Option)
        set ENABLER = 0


        ;------------------------------------------------------


        ui start "InputDlg"  $(hLib)


        set ExitButton      = $(ButtonPressed)
        FreeLibrary $(hLib)

;        ifstr(i) $(DLGEVENT) == "CONTINUE"
        ifstr(i) $(DLGEVENT) == "Continue"

                set UsbPlugUnplugValue      = *($(CheckItemsOut), 1)

;                set NetAddressValue         = *($(EditTextOut), 1)
                set MaxTransmitsValue       = $(Combo1Out)
                set MaxTxFrameSizeValue     = $(Combo2Out)
                set TxBufferSizeValue       = $(Combo3Out)
                set MinRcvBuffsValue        = $(Combo4Out)
                set RcvBuffSizeValue        = $(Combo5Out)
                set DebugLevelValue         = $(Combo6Out)
                set NumUsbBuffsValue        = $(Combo7Out)
                set UsbReplugDelayTimeValue = $(Combo8Out)
                set InitTimeOutValue        = $(Combo9Out)
                set ExitButton              = $(ButtonPressed)

                ui pop 1

        else-ifstr(i) $(DLGEVENT) == "EXIT"
                set CommonStatus = STATUS_USERCANCEL
                ui pop 1
                goto end
        else-ifstr(i) $(DLGEVENT) == "Cancel"
                set CommonStatus = STATUS_USERCANCEL
                ui pop 1
                goto end
        else
                set CommonStatus = STATUS_USERCANCEL
                ui pop 1
                Debug-Output "Action: unknown. Bye."
                goto end
        endif


;
;   If installing, go create the necessary keys;
;   if configuring, they're already open.
;
skipoptions =+

        ifint $(OldVersionExisted) == $(TRUE)
                ifstr(i) $(!NTN_InstallMode) == configure
                        goto writeparameters
                endif
        endif
        StartWait
        ;
        ; Add Software Component
        ;
        ifint $(OldVersionExisted) == $(FALSE)

                ifstr(i) $(!NTN_InstallMode) == "install"
                   Ifstr(i) $(DoCopy) == "YES"

                          Shell $(UtilityInf), DoAskSource, $(!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 successful
                          Endif

                          Set SrcDir = $($R1)

                   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
                ;
                ;   At this point:
                ;     $R1 contains the product version key handle;
                ;     $R2 contains the NetRules subkey handle;
                ;     $R3 contains the new Services key handle; and
                ;     $R4 contains the Parameters key
                ;     $R5 contains the Linkage Key
                ;
                set RegistryErrorIndex = $($R0)
                set KeyProduct      = $($R1)
                Set SoftNetRulesKey = $($R2)
                CloseRegKey $($R3)
                CloseRegKey $($R4)
                CloseRegKey $($R5)

                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                        EndWait
                        Debug-Output "Registry error: add software components"
                        CloseRegKey $(KeyProduct)
                        CloseRegKey $(SoftNetRulesKey)
                        goto fatalregistry
                endif

                set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
                                                   {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
                                                   {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
                                                   {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
                                                   {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
                                                   {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
                                                   {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

                Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(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 $(KeyProduct)
                        CloseRegKey $(SoftNetRulesKey)
                        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, $(SoftNetRulesKey), $(NewValueList)
                ifint $($ShellCode) != $(!SHELL_CODE_OK)
                        Debug-Output "ShellCode error."
                        goto ShellCodeError
                endif

                set RegistryErrorIndex = $($R0)

                CloseRegKey $(KeyProduct)
                CloseRegKey $(SoftNetRulesKey)

                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                        EndWait
                        Debug-Output "Resgitry error: add value list."
                        goto fatalregistry
                endif
        endif
;
;   Create the HARDWARE\Netcard region and its corresponding service
;
        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

;
;   At this point:
;     $R1  Registry key variable for HARDWARE\Netcard\(n)
;     $R2  Registry key variable for HARDWARE\Netcard\(n)\\NetRules
;     $R3  Registry key handle for <service>\Parameters key
;     $R4  Adapter number assigned to adapter
;     $R5  Service name generated by combining svc name with adapter number
;
        set KeyParameters = $($R3)
        set KeyAdapterRules = $($R2)
        set AdapterNumber = $($R4)

        set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
                                           {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
                                           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
                                           {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
                                           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
                                           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

        Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error"
                goto ShellCodeError
        endif

        CloseRegKey $($R1)

        set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
        set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)

        set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
                                                {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
                                                {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
                                                {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}

        Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error."
                goto ShellCodeError
        endif

        set RegistryErrorIndex = $($R0)

        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
                EndWait
                Debug-Output "Resgitry error: add value list."
                CloseRegKey $(KeyParameters)
                CloseRegKey $(KeyAdapterRules)
                goto fatalregistry
        endif

        CloseRegKey $(KeyAdapterRules)

        goto writeparameters
;
;   REQUIRED:   $(KeyParameters) contains service Parameters key handle
;
writeparameters = +
        Shell $(UtilityInf), GetBusTypeNum
        set BusTypeNum = $($R1)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error."
                goto ShellCodeError
        endif
;
;   Add the rest of the parameters to the Services area
;


        set NewValueList =     {{NetAddress,          $(NoTitle),$(!REG_VT_SZ),$(NetAddressValue)},+
                                {MaxTransmits,          $(NoTitle),$(!REG_VT_DWORD),$(MaxTransmitsValue)},+
                                {MaxTxFrameSize,     $(NoTitle),$(!REG_VT_DWORD),$(MaxTxFrameSizeValue)},+
                                {TxBufferSize,          $(NoTitle),$(!REG_VT_DWORD),$(TxBufferSizeValue)},+
                                {MinRcvBuffs,         $(NoTitle),$(!REG_VT_DWORD),$(MinRcvBuffsValue)},+
                                {RcvBuffSize,             $(NoTitle),$(!REG_VT_DWORD),$(RcvBuffSizeValue)},+
                                {DebugLevel,              $(NoTitle),$(!REG_VT_DWORD),$(DebugLevelValue)},+
                                {NumUsbBuffs,         $(NoTitle),$(!REG_VT_DWORD),$(NumUsbBuffsValue)},+
                                {UsbPlugUnplug,             $(NoTitle),$(!REG_VT_SZ),$(UsbPlugUnplugValue)},+
                                {InitTimeOut,             $(NoTitle),$(!REG_VT_DWORD),$(InitTimeOutValue)},+
                                {UsbReplugDelayTime,           $(NoTitle),$(!REG_VT_DWORD),$(UsbReplugDelayTimeValue)},+
                               }

        Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)

        ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
                Shell $(UtilityInf), AddDefaultNetCardParameters, $(KeyParameters)
        endif

        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

        EndWait

        goto successful

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

;-----------------------------------------------
; Removeadapter section
;-----------------------------------------------

removeadapter = +
        Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
                ; Remove Software Component
                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
                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

        ;-----------------------------------------------
        ; Remove Manufacturer Key
        ;-----------------------------------------------
        OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) KeyManf
        Ifstr $(KeyManf) == $(KeyNull)
                Debug-Output "INF: Could not open HKLM\SOFTWARE registry key"
        else
                DeleteRegKey $(KeyManf) $(Manufacturer)
                Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
                        Debug-Output "INF: Could not delete Manufacturer registry key"
                else
                        Debug-Output "INF: Deleted Manufacturer registry key"
                Endif
                CloseRegKey $(KeyManf)
        endif

        goto end

;-----------------------------------------------
; Upgrade Software section
;-----------------------------------------------

UpgradeSoftware = +
        ;
        ; First determine whether we want to do upgrade or update for software
        ; or hardware component. Then we will determine whether the Mode is
        ; update or upgrade.
        ;
        ; If the same version of the product existed in the registry, we do
        ; update. Otherwise, we will do a upgrade
        ;
        ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
                ; Upgrade software component
                ;
                ; see whether the same version exist or not
                ;
                OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct

                Ifstr $(KeyProduct) != $(KeyNull)
                        GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
                        set Version = *($(VersionInfo), 4)

                        ;
                        ; Update the binaries
                        ;
                        Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)

                        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                                Debug-Output "ShellCode error"
                                goto ShellCodeError
                        endif

                        set !UG_Filename = $($R0)

                        ifstr(i) $(!UG_Filename) != ""
                                install "Install-Update"
                                ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
                                        goto fatal
                                endif
                        endif

                        ; Upgrade the version number
                        ;
                        SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
                        SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}

                        ;
                        ; do nothing for update
                        ;
                        ifint $(Version) != $(ProductVersion)
                           ;
                           ; If the major version number is not the same,
                           ; it is major upgrade. So let Upgrade the product
                           ;
                           ;
                           ; make other upgrade change if necessary
                           ;
                        endif
                        CloseRegKey $(KeyProduct)
                else
                        ;
                        ; Cannot Open software key, goto ERROR
                        ;
                        goto fatalregistry
                endif
        else
                ;
                ; upgrade/update hardware component
                ; There is no different between upgrade and update for hardware
                ; component
                ;
                ; 1. Get the Service Name
                ; 2. Change the NetRule section if necessary
                ;
                OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
                          $(MAXIMUM_ALLOWED) NetworkCardKey
                Ifstr(i) $(NetworkCardKey) != $(KeyNull)
                        ;
                        ; Get Service name
                        ;
                        GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
                        set ServiceName = *($(ServiceNameInfo), 4)

                        ;
                        ; Change the NetRule if necessary
                        ;
                        OpenRegKey $(NetworkCardKey) "" "NetRules" +
                                $(MAXIMUM_ALLOWED) NetRuleKey
                        Ifstr(i) $(NetRuleKey) != $(KeyNull)
                                ;
                                ; Make the change....
                                ;
                        else
                                ;
                                ; Error, cannot open net rules key
                                ;
                                goto fatalregistry
                        endif

                        CloseRegKey $(NetRules)
                        CloseRegKey $(NetworkCardKey)
                else
                        ;
                        ; Error, cannot open network card key
                        ;
                        goto fatalregistry
                endif
                ;
                ; 3. Change the service section of the hardware. i.e.,
                ;    ParameterName change, value change, etc.
                ;
                OpenRegKey $(!REG_H_LOCAL) "" +
                          $(!NTN_ServiceBase)"\"$(ServiceName) +
                          $(MAXIMUM_ALLOWED) ServiceKey

                Ifstr(i) $(ServiceKey) != $(KeyNull)
                        ;
                        ; Get the ServiceKey to change the Start value
                        ; or Type value. Or open Parameters key to
                        ; change the hardware parameters if necessary.
                        ;
                        CloseRegKey $(ServiceKey)
                else
                        ;
                        ; Error, cannot open network card key
                        ;
                        goto fatalregistry
                endif
        endif

        goto end
        ;
        ; End of Upgrade Software
        ;

;
;  Escape hatches
;
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
                ; Remove Software Component
                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 display
;
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
;
; non fatal error display
;
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

;
;  Registry is broken
;
fatalregistry = +
        Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                goto ShellCodeError
        endif
        set Error = $($R0)
        goto fatal
;
;  Netcard detection failure
;
fataldetect = +
        Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
                Debug-Output "ShellCode error: cannot get an error string."
                goto ShellCodeError
        endif
        set Error = $($R0)
        Goto fatal
;
; fatal error display
;
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

;
;  Shelling error
;
ShellCodeError = +
        set DlgType      = "MessageBox"
        set STF_MB_TITLE = $(ShellCodeErrorTitle)
        set STF_MB_TEXT  = $(ShellCodeErrorText)
        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
        ;
        ; if OEM_ABANDON_ON == TRUE, then remove the registry entries
        ;
        ifstr(i) $(OEM_ABANDON_ON) == TRUE
                set OEM_ABANDON_ON = FALSE
                goto abandon
        endif
        goto end

end = +
        goto term

term = +

        Return $(CommonStatus)

[DebugConfiguration]

        Set InfName = "OEMSETNT.INF"
        ;Debug-Output $(InfName)" **CONFIGURATION STATE: "$($0)

        return


;***************************************************************
;  INSTALL SECTIONS
;***************************************************************
[Install-Option]
        set STF_VITAL = ""

        ifstr(i) $(AddCopy) == "YES"

                AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers

        endif

        ifstr(i) $(DoCopy) == "YES"

           ;
           ; Copy files in the copy list
           ;
           set !STF_NCPA_FLUSH_COPYLIST = TRUE
           CopyFilesInCopyList

        endif

        Exit

[Install-Update]
   set STF_VITAL        = ""
   set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
   ;set STF_VERSION     = "YES"

   AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
   AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)

   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList

   exit


[Install-Dll]
   set STF_VITAL    = ""
   AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   exit





[Source Media Descriptions]
        1  = "Xircom USB Ethernet Setup Disk for NT4"


[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386


[Files-Inf]
1, OEMSETNT.INF, SIZE=56466,    RENAME=$(!UG_Filename)

[Files-Dll]
1, USBENET.DLL,  SIZE=45056

[Files-USBENET]
1, Common\USBENET.SYS, SIZE=17952, RENAME=USBENET.SYS

[LanguagesSupported]
        ENG

[AllFileConstantsENG]
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:"
DialogDllName = "USBENET.DLL"



; START USBENET -------------------------------------------------------------------------------------------

[FileConstantsENG-USBENET]
FunctionTitle           = $(GenericAdapterName)" Setup"$(GenericInfVersion)
ProductSoftwareTitle    = $(GenericDriverName)
ProductHardwareTitle    = $(GenericAdapterName)
MaxTransmitsList        = ^(MaxTransmitsChoices, 1)
MaxTransmitsValue       = ^(MaxTransmitsChoices, 2)
MaxTxFrameSizeList      = ^(MaxTxFrameSizeChoices, 1)
MaxTxFrameSizeValue     = ^(MaxTxFrameSizeChoices, 2)
TxBufferSizeList        = ^(TxBufferSizeChoices, 1)
TxBufferSizeValue       = ^(TxBufferSizeChoices, 2)
MinRcvBuffsList         = ^(MinRcvBuffsChoices, 1)
MinRcvBuffsValue        = ^(MinRcvBuffsChoices, 2)
RcvBuffSizeList         = ^(RcvBuffSizeChoices, 1)
RcvBuffSizeValue        = ^(RcvBuffSizeChoices, 2)
DebugLevelList          = ^(DebugLevelChoices, 1)
DebugLevelValue         = ^(DebugLevelChoices, 2)
NumUsbBuffsList         = ^(NumUsbBuffsChoices, 1)
NumUsbBuffsValue        = ^(NumUsbBuffsChoices, 2)
UsbReplugDelayTimeList  = ^(UsbReplugDelayTimeChoices, 1)
UsbReplugDelayTimeValue = ^(UsbReplugDelayTimeChoices, 2)
InitTimeOutList         = ^(InitTimeOutChoices, 1)
InitTimeOutValue        = ^(InitTimeOutChoices, 2)


[DialogConstantsENG-USBENET]
Help        = "&Help"
Exit        = "Cancel"
OK          = "OK"
HelpContext = ""
Continue    = "Continue"
Cancel      = "Cancel"

[FileDependentDlgENG-USBENET]
;DlgType = "Edit"
DlgType = "RadioCombination"
DlgTemplate = "USBENET"
;DlgTemplate = "CBE"
Caption = $(FunctionTitle)
HelpContext = $(!IDH_DB_OEMNADE2_INS)
CBOptionsGreyed = {}
NotifyFields = {NO, NO, NO, NO, NO, NO, NO, NO, NO}

Check1 = "&UsbPlugUnplug"

;Edit1Label = "Net Address:"
Combo1Label = "Max Transmits:"
Combo2Label = "Max Tx Frame Size:"
Combo3Label = "Tx Buffer Size:"
Combo4Label = "Min Rx Buffers:"
Combo5Label = "Rx Buffer Size:"
Combo6Label = "Debug Level:"
Combo7Label = "Number of USB Buffers:"
Combo8Label = "USB Replug Delay Time:"
Combo9Label = "Init TimeOut:"

Combo1List = $(MaxTransmitsList)
Combo1Out  = $(MaxTransmitsValue)
Combo2List = $(MaxTxFrameSizeList)
Combo2Out  = $(MaxTxFrameSizeValue)
Combo3List = $(TxBufferSizeList)
Combo3Out  = $(TxBufferSizeValue)
Combo4List = $(MinRcvBuffsList)
Combo4Out  = $(MinRcvBuffsValue)
Combo5List = $(RcvBuffSizeList)
Combo5Out  = $(RcvBuffSizeValue)
Combo6List = $(DebugLevelList)
Combo6Out  = $(DebugLevelValue)
Combo7List = $(NumUsbBuffsList)
Combo7Out  = $(NumUsbBuffsValue)
Combo8List = $(UsbReplugDelayTimeList)
Combo8Out  = $(UsbReplugDelayTimeValue)
Combo9List = $(InitTimeOutList)
Combo9Out  = $(InitTimeOutValue)
ComboListItemsIn = {Combo1List,Combo2List,Combo3List,Combo4List,Combo5List,Combo6List,Combo7List,Combo8List,Combo9List}
ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out,Combo4Out,Combo5Out,Combo6Out,Combo7Out,Combo8Out,Combo9Out}

CheckItemsIn = {$(UsbPlugUnplugValue)}
CheckItemsOut = {Check1Out}

;EditTextIn  = {$(NetAddressValue), $(MaxTransmitsValue), $(MaxTxFrameSizeValue),+
; $(TxBufferSizeValue), $(MinRcvBuffsValue), $(RcvBuffSizeValue), $(DebugLevelValue),+
; $(NumUsbBuffsValue), $(UsbReplugDelayTimeValue), $(InitTimeOutValue) }
;EditTextOut  = {$(NetAddressValue), $(MaxTransmitsValue), $(MaxTxFrameSizeValue),+
; $(TxBufferSizeValue), $(MinRcvBuffsValue), $(RcvBuffSizeValue), $(DebugLevelValue),+
; $(NumUsbBuffsValue), $(UsbReplugDelayTimeValue), $(InitTimeOutValue) }
EditTextIn = ""
EditTextLim = ""
;EditTextLim = {"","","","","","","","","",""}
;EditTextOut  = {Edit1Out, Edit2Out, Edit3Out, Edit4Out, Edit5Out, Edit6Out,+
;               Edit7Out, Edit8Out, Edit9Out, Edit10Out}

; END USBENET -------------------------------------------------------------------------------------------

[MaxTransmitsChoices]
MT_1  = "1", 1
MT_2  = "2", 2
MT_3  = "3", 3
MT_4  = "4", 4
MT_5  = "5", 5
MT_6  = "6", 6
MT_7  = "7", 7
MT_8  = "8", 8
MT_9  = "9", 9
MT_10 = "10", 10
MT_11 = "15", 15
MT_12 = "20", 20
MT_13 = "25", 25
MT_14 = "30", 30
MT_15 = "35", 35
MT_16 = "40", 40
MT_17 = "45", 45
MT_18 = "50", 50
MT_19 = "55", 55
MT_20 = "60", 60
MT_21 = "65", 65
MT_22 = "70", 70
MT_23 = "75", 75
MT_24 = "80", 80
MT_25 = "85", 85
MT_26 = "90", 90
MT_27 = "95", 95
MT_28 = "100", 100


[MaxTxFrameSizeChoices]
MTF_1  = "64", 64
MTF_2  = "96", 96
MTF_3  = "128", 128
MTF_4  = "160", 160
MTF_5  = "192", 192
MTF_6  = "224", 224
MTF_7  = "256", 256
MTF_8  = "384", 384
MTF_9  = "512", 512
MTF_10 = "640", 640
MTF_11 = "768", 768
MTF_12 = "896", 896
MTF_13 = "1024", 1024
MTF_14 = "1152", 1152
MTF_15 = "1280", 1280
MTF_16 = "1408", 1408
MTF_17 = "1500", 1500
MTF_18 = "1514", 1514


[TxBufferSizeChoices]
TBS_1  = "64", 64
TBS_2  = "96", 96
TBS_3  = "128", 128
TBS_4  = "160", 160
TBS_5  = "192", 192
TBS_6  = "224", 224
TBS_7  = "256", 256
TBS_8  = "384", 384
TBS_9  = "512", 512
TBS_10 = "640", 640
TBS_11 = "768", 768
TBS_12 = "896", 896
TBS_13 = "1024", 1024
TBS_14 = "1152", 1152
TBS_15 = "1280", 1280
TBS_16 = "1408", 1408
TBS_17 = "1500", 1500
TBS_18 = "1514", 1514
TBS_19 = "2048", 2048
TBS_20 = "3072", 3072
TBS_21 = "4096", 4096
TBS_22 = "5120", 5120
TBS_23 = "6144", 6144
TBS_24 = "7168", 7168
TBS_25 = "8192", 8192
TBS_26 = "12288", 12288
TBS_27 = "16384", 16384
TBS_28 = "24576", 24576
TBS_29 = "32768", 32768


[MinRcvBuffsChoices]
MRB_1  = "1", 1
MRB_2  = "2", 2
MRB_3  = "3", 3
MRB_4  = "4", 4
MRB_5  = "5", 5
MRB_6  = "6", 6
MRB_7  = "7", 7
MRB_8  = "8", 8
MRB_9  = "9", 9
MRB_10 = "10", 10
MRB_11 = "15", 15
MRB_12 = "20", 20
MRB_13 = "25", 25
MRB_14 = "30", 30
MRB_15 = "35", 35
MRB_16 = "40", 40
MRB_17 = "45", 45
MRB_18 = "50", 50
MRB_19 = "55", 55
MRB_20 = "60", 60
MRB_21 = "65", 65
MRB_22 = "70", 70
MRB_23 = "75", 75
MRB_24 = "80", 80
MRB_25 = "85", 85
MRB_26 = "90", 90
MRB_27 = "95", 95
MRB_28 = "100", 100


[RcvBuffSizeChoices]
RBS_1  = "64", 64
RBS_2  = "96", 96
RBS_3  = "128", 128
RBS_4  = "160", 160
RBS_5  = "192", 192
RBS_6  = "224", 224
RBS_7  = "256", 256
RBS_8  = "384", 384
RBS_9  = "512", 512
RBS_10 = "640", 640
RBS_11 = "768", 768
RBS_12 = "896", 896
RBS_13 = "1024", 1024
RBS_14 = "1152", 1152
RBS_15 = "1280", 1280
RBS_16 = "1408", 1408
RBS_17 = "1500", 1500
RBS_18 = "1514", 1514
RBS_19 = "2048", 2048
RBS_20 = "3072", 3072
RBS_21 = "4096", 4096
RBS_22 = "5120", 5120
RBS_23 = "6144", 6144
RBS_24 = "7168", 7168
RBS_25 = "8192", 8192
RBS_26 = "12288", 12288
RBS_27 = "16384", 16384
RBS_28 = "24576", 24576
RBS_29 = "32768", 32768


[DebugLevelChoices]
DL_0  = "0", 0
DL_1  = "1", 1
DL_2  = "2", 2
DL_3  = "3", 3
DL_4  = "4", 4
DL_5  = "5", 5
DL_6  = "6", 6
DL_7  = "7", 7
DL_8  = "8", 8
DL_9  = "9", 9
DL_10 = "10", 10

[NumUsbBuffsChoices]
NUB_1  = "1", 1
NUB_2  = "2", 2
NUB_3  = "3", 3
NUB_4  = "4", 4
NUB_5  = "5", 5
NUB_6  = "6", 6
NUB_7  = "7", 7
NUB_8  = "8", 8
NUB_9  = "9", 9
NUB_10 = "10", 10
NUB_11 = "15", 15
NUB_12 = "20", 20
NUB_13 = "25", 25
NUB_14 = "30", 30
NUB_15 = "35", 35
NUB_16 = "40", 40
NUB_17 = "45", 45
NUB_18 = "50", 50
NUB_19 = "55", 55
NUB_20 = "60", 60
NUB_21 = "65", 65
NUB_22 = "70", 70
NUB_23 = "75", 75
NUB_24 = "80", 80
NUB_25 = "85", 85
NUB_26 = "90", 90
NUB_27 = "95", 95
NUB_28 = "100", 100

[UsbReplugDelayTimeChoices]
URDT_1  = "1", 1
URDT_2  = "2", 2
URDT_3  = "3", 3
URDT_4  = "4", 4
URDT_5  = "5", 5
URDT_6  = "6", 6
URDT_7  = "7", 7
URDT_8  = "8", 8
URDT_9  = "9", 9
URDT_10 = "10", 10
URDT_11 = "11", 11
URDT_12 = "12", 12
URDT_13 = "13", 13
URDT_14 = "14", 14
URDT_15 = "15", 15
URDT_16 = "16", 16
URDT_17 = "17", 17
URDT_18 = "18", 18
URDT_19 = "19", 19
URDT_20 = "20", 20
URDT_21 = "25", 25
URDT_22 = "30", 30
URDT_23 = "35", 35
URDT_24 = "40", 40
URDT_25 = "45", 45
URDT_26 = "50", 50
URDT_27 = "55", 55
URDT_28 = "60", 60


[InitTimeOutChoices]
ITO_1  = "1", 1
ITO_2  = "2", 2
ITO_3  = "3", 3
ITO_4  = "4", 4
ITO_5  = "5", 5
ITO_6  = "6", 6
ITO_7  = "7", 7
ITO_8  = "8", 8
ITO_9  = "9", 9
ITO_10 = "10", 10
ITO_11 = "11", 11
ITO_12 = "12", 12
ITO_13 = "13", 13
ITO_14 = "14", 14
ITO_15 = "15", 15
ITO_16 = "16", 16
ITO_17 = "17", 17
ITO_18 = "18", 18
ITO_19 = "19", 19
ITO_20 = "20", 20
ITO_21 = "25", 25
ITO_22 = "30", 30
ITO_23 = "35", 35
ITO_24 = "40", 40
ITO_25 = "45", 45
ITO_26 = "50", 50
ITO_27 = "55", 55
ITO_28 = "60", 60


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: web2, load: 1.02