OEMSETUP.INF Driver File Contents (d9333c.exe)

; ------------------------------------------------------------------------
; Microsoft Windows NT 4 Driver Installation
; Copyright 1995 Texas Instruments Inc.
; Copyright 1997 Racore Computer Products Inc.
; (0.05 (960930))
; ------------------------------------------------------------------------

; ========================================================================
; OEMSETUP for NT 4
; ========================================================================

[Source Media Descriptions]
   1  = "Racore ThunderLAN(tm) Driver Diskette"

[Files-Driver]
   1, tlan4.sys, SIZE=34816, RENAME=tlan4.sys

[Files-Dll]
   1, tlan.dll, SIZE=2560, RENAME=tlan.dll

[Files-Help]
   1, tlan.hlp, SIZE=12473, RENAME=tlan.hlp

[OptListENG]
; --------------------------------------------------------------------------------------------------------------
; LanOption, OptionText,
;            ProductHdwrName, 
;            ProductHdwrTitle, 
;            ProductHdwrDesc, 
;            SoftwareTitle
;            SoftwareDescription,
;            DialogTitle
; --------------------------------------------------------------------------------------------------------------
OptList_1 = ti$tlan4, "Racore ThunderLAN(tm) Adapter",+
                     "tlan4",+
                     "ThunderLAN(tm) Adapter",+
                     "Racore ThunderLAN(tm) Adapter",+
                     "ThunderLAN(tm) Driver",+
                     "Racore ThunderLAN(tm) NDIS4 Driver",+
                     "Racore ThunderLAN(tm) Adapter Setup"
                     
[FileConstants]
   Manufacturer             = "Racore"
   LanBaseName              = "tlan4"
   SoftwareMajorVersion     = 1
   SoftwareMinorVersion     = 0
   NetEventDLL              = "%SystemRoot%\System32\netevent.dll"
   IoLogMsgDLL              = "%SystemRoot%\System32\IoLogMsg.dll"
   UtilityInf               = "UTILITY.INF"
   SubroutineInf            = "SUBROUTN.INF"
   LanDialogDLL             = "tlan.dll"
   SoftwareType             = "driver"
   Exit_Code                = 0
   HelpFile                 = "tlan.hlp"
   SoftwareVersion          = $(SoftwareMajorVersion)"."$(SoftwareMinorVersion)
   SoftwareImage            = "\SystemRoot\System32\drivers\"$(LanBaseName)".sys"
   NetRuleSoftwareType      = $(LanBaseName)"Sys ndisDriver "$(LanBaseName)"Driver"
   NetRuleSoftwareBindForm  = """"$(LanBaseName)"Sys"" yes no container"
   NetRuleSoftwareBindable  = {""$(LanBaseName)"Driver "$(LanBaseName)"Adapter non exclusive 100"}
   NetRuleSoftwareClass     = {""$(LanBaseName)"Driver basic"}
   NetRuleSoftwareUse       = $(SoftwareType)
   NetRuleHardwareType      = $(LanBaseName)" "$(LanBaseName)"Adapter"
   NetRuleHardwareClass     = {""$(LanBaseName)"Adapter basic"}
   NetRuleHardwareBindForm  = " yes yes container"
   KeyName_SoftwareRoot     = $(!NTN_SoftwareBase)"\"$(Manufacturer)
   KeyName_Software         = $(KeyName_SoftwareRoot)"\"$(LanBaseName)"\CurrentVersion"
   KeywordTextList          = ^(Keywords_$(LanOption), 1)
   KeywordRegTypeList       = ^(Keywords_$(LanOption), 2)
   KeywordDefaultList       = ^(Keywords_$(LanOption), 3)

[Keywords_ti$tlan4]
   Keyword_1  = "AdapterType",    $(!REG_VT_DWORD), 5           ; PCI
   Keyword_2  = "BusNumber",      $(!REG_VT_DWORD), 0
   Keyword_3  = "BusType",        $(!REG_VT_DWORD), 5           ; PCI
   Keyword_4  = "MediaType",      $(!REG_VT_DWORD), 1           ; Ethernet
   Keyword_5  = "NetworkAddress", $(!REG_VT_SZ),    ""
   Keyword_6  = "Slot",           $(!REG_VT_DWORD), 32          ; Auto detect
   Keyword_7  = "Network",        $(!REG_VT_DWORD), 0           ; Auto detect
   Keyword_8  = "PhySelect",      $(!REG_VT_DWORD), 32          ; Auto detect
;  Keyword_9  = "DeviceId",       $(!REG_VT_DWORD), 1280        ; 0500h
;  Keyword_10 = "VendorId",       $(!REG_VT_DWORD), 4172        ; 104ch

[NetworkChoices]
   NetworkChoice_0         = "Auto Negotiate",          0
   NetworkChoice_1         = "10 Mbit",                 1
   NetworkChoice_2         = "100 Mbit",                2
   NetworkChoice_3         = "10 Mbit / Full Duplex",   3
   NetworkChoice_4         = "100 Mbit / Full Duplex",  4

[PhySelectChoices]
   PhySelectChoice_0       = "Auto Select",               32
   PhySelectChoice_1       = "Expansion Module",          0
   PhySelectChoice_2       = "TLAN 10BaseT",              31
   PhySelectChoice_3       = "TLAN/BitLevel AUI",         33
   PhySelectChoice_4       = "Non-Managed Mii PHY",       34

[PciSlotChoices]
   PciSlotChoice_0         = "Auto Detect",  32
   PciSlotChoice_1         = "Slot 0",       0
   PciSlotChoice_2         = "Slot 1",       1
   PciSlotChoice_3         = "Slot 2",       2
   PciSlotChoice_4         = "Slot 3",       3
   PciSlotChoice_5         = "Slot 4",       4
   PciSlotChoice_6         = "Slot 5",       5
   PciSlotChoice_7         = "Slot 6",       6
   PciSlotChoice_8         = "Slot 7",       7
   PciSlotChoice_9         = "Slot 8",       8
   PciSlotChoice_10        = "Slot 9",       9
   PciSlotChoice_11        = "Slot 10",     10
   PciSlotChoice_12        = "Slot 11",     11
   PciSlotChoice_13        = "Slot 12",     12
   PciSlotChoice_14        = "Slot 13",     13
   PciSlotChoice_15        = "Slot 14",     14
   PciSlotChoice_16        = "Slot 15",     15
   PciSlotChoice_17        = "Slot 16",     16
   PciSlotChoice_18        = "Slot 17",     17
   PciSlotChoice_19        = "Slot 18",     18
   PciSlotChoice_20        = "Slot 19",     19
   PciSlotChoice_21        = "Slot 20",     20
   PciSlotChoice_22        = "Slot 21",     21
   PciSlotChoice_23        = "Slot 22",     22
   PciSlotChoice_24        = "Slot 23",     23
   PciSlotChoice_25        = "Slot 24",     24
   PciSlotChoice_26        = "Slot 25",     25
   PciSlotChoice_27        = "Slot 26",     26
   PciSlotChoice_28        = "Slot 27",     27
   PciSlotChoice_29        = "Slot 28",     28
   PciSlotChoice_30        = "Slot 29",     29
   PciSlotChoice_31        = "Slot 30",     30
   PciSlotChoice_32        = "Slot 31",     31

[FileConstantsENG]
   ProCaption              = "Windows NT Setup"
   ProCancel               = "Cancel"
   ProCancelMsg            = "Your Networking Adapter is not correctly"+
                             "installed.  Are you sure you wish to cancel"+
                             "copying driver files?"
   ProCancelCap            = "Network Setup Message"
   ProText1                = "Copying:"
   ProText2                = "To:"

[DialogConstantsENG]
   Help                    = "&Help"
   Exit                    = "Cancel"
   OK                      = "OK"
   HelpContext             = 10
   Continue                = "Continue"
   Cancel                  = "C&ancel"
   PciSlotLabel            = "PCI Slo&t:"
   NetAddressLabel         = "Ne&twork Address:"
   NetworkLabel            = "&Network Type:"
   PhySelectLabel          = "Network &Interface:"
   PciSlotTextList         = ^(PciSlotChoices, 1)
   PciSlotValueList        = ^(PciSlotChoices, 2)
   NetworkTextList         = ^(NetworkChoices, 1)
   NetworkValueList        = ^(NetworkChoices, 2)
   PhySelectTextList       = ^(PhySelectChoices, 1)
   PhySelectValueList      = ^(PhySelectChoices, 2)

[LanDialog_ti$tlan4]
   DlgTemplate             = "DLG_TLAN"
   DlgType                 = "RadioCombination"

   Caption                 = $(DialogTitle)

   Combo1Label             = $(PciSlotLabel)
   Combo1List              = $(PciSlotTextList)
   Combo1Out               = *($(PciSlotTextList),+
                             ~($(PciSlotValueList), +
                               $(SlotValue)))

   Combo2Label             = $(PhySelectLabel)
   Combo2List              = $(PhySelectTextList)
   Combo2Out               = *($(PhySelectTextList),+
                             ~($(PhySelectValueList), +
                               $(PhySelectValue)))

   Combo3Label             = $(NetworkLabel)
   Combo3List              = $(NetworkTextList)
   Combo3Out               = *($(NetworkTextList),+
                             ~($(NetworkValueList), +
                               $(NetworkValue)))

   Edit1Label              = $(NetAddressLabel)
   EditTextIn              = { $(NetworkAddressValue) }

   CheckItemsIn            = {}
   RadioIn                 = {}
   ComboListItemsIn        = {Combo1List, Combo2List, Combo3List}
   ComboListItemsOut       = {Combo1Out, Combo2Out, Combo3Out}
   CBOptionsGreyed         = {}
   EditTextLim             = {17}
   NotifyFields            = {NO}
   
[LanDialog_ti$tlan4_PostProcess]
   SlotValue               = *($(PciSlotValueList), +
                             ~($(PciSlotTextList),+
                               $(Combo1Out)))
   PhySelectValue          = *($(PhySelectValueList), +
                             ~($(PhySelectTextList),+
                               $(Combo2Out)))
   NetworkValue            = *($(NetworkValueList), +
                             ~($(NetworkTextList),+
                               $(Combo3Out)))
   NetworkAddressValue     = *($(EditTextOut),1)

[Identify]
;; set !DebugOutputControl = 1
;; set !STF_DISPLAYDEBUGOUTPUT = 1
   Debug-Output "$(STF_CONTEXTINFNAME): Entering Identify"
   set Status          = STATUS_SUCCESSFUL
   set Identifier      = NetAdapter
   set Media           = #("Source Media Descriptions", 1, 1)
   Return $(Status) $(Identifier) $(Media)

[ReturnOptions]
   Debug-Output "$(STF_CONTEXTINFNAME): Entering ReturnOptions"
   set Status          = STATUS_FAILED
   set OptionList      = {}
   set OptionTextList  = {}
   set LanguageList    = ^(LanguagesSupported, 1)
   Ifcontains(i) $($0) in $(LanguageList)
      ifstr(i) $($1) == ""
         goto ReturnOptions_Set
      endif
      set PlatformList = ^(PlatformsSupported, 1)
      Ifcontains(i) $($1) in $(PlatformList)
         goto ReturnOptions_Set
      else
         set Status = STATUS_NOTSUPPORTED
         goto ReturnOptions_Exit
      endif
   else
      set Status = STATUS_NOLANGUAGE
      goto ReturnOptions_Exit
   endif
ReturnOptions_Set = +
    set OptionList      = ^(OptList$($0), 1)
    set OptionTextList  = ^(OptList$($0), 2)
    set Status          = STATUS_SUCCESSFUL
ReturnOptions_Exit = +
    Return $(Status) $(OptionList) $(OptionTextList)

[LanguagesSupported]
   ENG

[GeneralConstants]
   from                     = ""
   to                       = ""
   ExitCodeOk               = 0
   ExitCodeCancel           = 1
   ExitCodeFatal            = 2
   Key_Null                 = ""
   MAXIMUM_ALLOWED          = 33554432
   RegistryErrorIndex       = NO_ERROR
   Key_Product              = ""
   Key_HardwareParameters   = ""
   TRUE                     = 1
   FALSE                    = 0
   NoTitle                  = 0
   ExitState                = "Active"
   OldVersionExisted        = $(FALSE)
   DriverPath               = $(!STF_NTPATH)\drivers
                           
[date]                     
   Now                      = {} ? $(!LIBHANDLE) GetSystemDate
 
[ProductType]
   STF_PRODUCT  = Winnt
   STF_PLATFORM = I386

[PlatformsSupported]
   ISA
   EISA
   PCI

[Install-Option]
   Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Option"
   set STF_VITAL = ""
   ifstr(i) $(AddCopy) == "YES"
      set STF_VITAL = "YES"
      AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
      AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
      AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
   endif
   ifstr(i) $(DoCopy) == "YES"
      set STF_VITAL = "YES"
      set !STF_NCPA_FLUSH_COPYLIST = TRUE
      CopyFilesInCopyList
   endif
   ifstr(i) $(DoConfig) == "YES"
   endif
   exit

[Install-Update]
   Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Update"
   set STF_VITAL        = "YES"
   set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
   AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
   AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
   AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
   set !STF_NCPA_FLUSH_COPYLIST = TRUE
   CopyFilesInCopyList
   exit

[InstallOption]
;; set !DebugOutputControl = 1
;; set !STF_DISPLAYDEBUGOUTPUT = 1
   set LanOption = $($1)
   set SrcDir    = $($2)
   set AddCopy   = $($3)
   set DoCopy    = $($4)
   set DoConfig  = $($5)
   Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOption"
   Debug-Output "$(STF_CONTEXTINFNAME): STF_CWDIR: .$(!STF_CWDIR)."
   Debug-Output "$(STF_CONTEXTINFNAME): STF_LANGUAGE: .$(!STF_LANGUAGE)."
   Debug-Output "$(STF_CONTEXTINFNAME): !NTN_RegBase .$(!NTN_RegBase)."
   Debug-Output "$(STF_CONTEXTINFNAME): !NTN_SoftwareBase .$(!NTN_SoftwareBase)."
   Debug-Output "$(STF_CONTEXTINFNAME): LanOption: .$(LanOption). SrcDir: .$(SrcDir)."
   Debug-Output "$(STF_CONTEXTINFNAME): AddCopy: .$(AddCopy). DoCopy: .$(DoCopy). DoConfig: .$(DoConfig)."
   set LanguageList = ^(LanguagesSupported, 1)
   Ifcontains(i) $($0) NOT-IN $(LanguageList)
      Return STATUS_NOLANGUAGE
   endif
   set-subst LF = "\n"
   read-syms GeneralConstants
   read-syms FileConstants
   ForListDo $(KeywordTextList)
      set Default   = *($(KeywordDefaultList),$(#))
      set $($)Value = $(Default)
      Debug-Output "$(STF_CONTEXTINFNAME): Default for .$($). = .$(Default)."
   EndForListDo
   set OptionNameList           = ^(OptList$(!STF_LANGUAGE), 1 )
   set OptionHdwrNameList       = ^(OptList$(!STF_LANGUAGE), 3 )
   set OptionHdwrTitleList      = ^(OptList$(!STF_LANGUAGE), 4 )
   set OptionHdwrDescList       = ^(OptList$(!STF_LANGUAGE), 5 )
   set SoftwareTitleList        = ^(OptList$(!STF_LANGUAGE), 6 )
   set SoftwareDescriptionList  = ^(OptList$(!STF_LANGUAGE), 7 )
   set DialogTitleList          = ^(OptList$(!STF_LANGUAGE), 8 )
   set ProductHdwrName          = *($(OptionHdwrNameList),+
                                  ~($(OptionNameList), $($1)))
   set ProductHdwrTitle         = *($(OptionHdwrTitleList),+
                                  ~($(OptionNameList), $($1)))
   set ProductHdwrDesc          = *($(OptionHdwrDescList),+
                                  ~($(OptionNameList), $($1)))
   set SoftwareTitle            = *($(SoftwareTitleList),+
                                  ~($(OptionNameList), $($1)))
   set SoftwareDescription      = *($(SoftwareDescriptionList),+
                                  ~($(OptionNameList), $($1)))
   set DialogTitle              = *($(DialogTitleList),+
                                  ~($(OptionNameList), $($1)))

   read-syms DialogConstants$(!STF_LANGUAGE)
   ifstr(i) $(!NTN_Origination) == "NCPA"
      set Continue = "OK"
   endif
   read-syms FileConstants$(!STF_LANGUAGE)
   detect date
   set-title $(DialogTitle)
   set to   = InstallOptionDispatch
   set from = InstallOptionDispatch
   set CommonStatus = STATUS_SUCCESSFUL
   EndWait

InstallOptionDispatch = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOptionDispatch"
   Ifstr(i) $(!NTN_InstallMode) == deinstall
      set StartLabel = RemoveAdapterFromRegistry
   else-Ifstr(i) $(!NTN_InstallMode) == Update
      set StartLabel = UpgradeSoftware
   else-Ifstr(i) $(!NTN_InstallMode) == bind
      set StartLabel = CheckAdapterBinding
   else-Ifstr(i) $(!NTN_InstallMode) == configure
      set StartLabel = GetAdapterConfigFromRegistry
      set DoConfig = YES
      Ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
         Debug-Output "$(STF_CONTEXTINFNAME): Cannot configure driver software."
         Shell $(UtilityInf), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
         ifint $($ShellCode) != $(!SHELL_CODE_OK)
            set ShellErrorSection = UtilityInf:RegistryErrorString
            goto ShellCodeError
         endif
         set Error = $($R0)
         set from = InstallOptionExit
         set to = InstallOptionExit
         goto SetNonFatalInfo
      endif
   else
      set StartLabel = TestForExistingInstallation
      set OEM_ABANDON_OPTIONS = {}
      set OEM_ABANDON_SOFTWARE = FALSE
      set OEM_ABANDON_ON = TRUE
   endif
   set from                   = $(FatalError)
   set to                     = $(FatalError)
   goto $(StartLabel)
   
TestForExistingInstallation = +
   set OldVersionExisted = $(FALSE)
   Debug-Output "$(STF_CONTEXTINFNAME): Entering TestForExistingInstallation"
   OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
   Ifstr $(Key_Product) != $(Key_Null)
      CloseRegKey $(Key_Product)
      ifstr(i) $(!NTN_RegBase) == $(KeyName_Software)
         Shell $(UtilityInf), VerExistedDlg, $(SoftwareTitle), $(SoftwareVersion)
         ifint $($ShellCode) != $(!SHELL_CODE_OK)
            set ShellErrorSection = UtilityInf:VerExistedDlg
            goto ShellCodeError
         endif
         goto end
      else
         Shell $(UtilityInf), CardExistedDlg
         ifint $($ShellCode) != $(!SHELL_CODE_OK)
            set ShellErrorSection = UtilityInf:CardExistedDlg
            goto ShellCodeError
         endif
         ifstr(i) $($R1) == "OK"
            set OldVersionExisted = $(TRUE)
         else
            goto InstallOptionExit
         endif
      endif
   endif

CopyAdapterFiles = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering CopyAdapterFiles"
   ifint $(OldVersionExisted) == $(TRUE)
      ifstr(i) $(!NTN_InstallMode) == configure
         goto GetAdapterConfigFromUser
      endif
   endif
   StartWait
   ifint $(OldVersionExisted) == $(FALSE)
      ifstr(i) $(!NTN_InstallMode) == "install"
         Ifstr(i) $(DoCopy) == "YES"
            Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
            Ifint $($ShellCode) != $(!SHELL_CODE_OK)
               set ShellErrorSection = UtilityInf:DoAskSource
               Goto ShellCodeError
            Else-Ifstr(i) $($R0) == STATUS_FAILED
               Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
               ifint $($ShellCode) != $(!SHELL_CODE_OK)
                  set ShellErrorSection = UtilityInf:RegistryErrorString
                  goto ShellCodeError
               endif
               set Error = $($R0)
               Goto FatalError
            Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
               Goto ProcessSuccessExit
            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)
               set ShellErrorSection = UtilityInf:RegistryErrorString
               goto ShellCodeError
            endif
            set Error = $($R0)
            goto FatalError
         endif
      endif
   endif

GetAdapterConfigFromRegistry = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromRegistry"
   ifstr(i) $(!NTN_InstallMode) == "install"
      goto GetAdapterConfigFromUser
   else
      Ifstr $(Key_Product) == $(Key_Null)
         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) Key_Product
        Ifstr $(Key_Product) == $(Key_Null)
            set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
            Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component product key"
            goto FatalRegistryError
         Endif
      Endif
      Shell $(UtilityInf) FindService, $(Key_Product)
      Ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:FindService
         Goto ShellCodeError
      Endif
      Ifstr(i) $($R0) != NO_ERROR
         Debug-Output "$(STF_CONTEXTINFNAME): Utility:FindService error: $($R0)"
         Goto FatalRegistryError
      endif
      set Key_HardwareParameters = $($R2)
      CloseRegKey $($R1)
      Ifstr $(Key_HardwareParameters) == $(Key_Null)
         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
         Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component service"
         goto FatalRegistryError
      endif
      set OldVersionExisted = $(TRUE)
      set ValueName = ""
      set ValueData = ""
      set ValueStr  = ""
      set ExistingValueList = {}
      EnumRegValue $(Key_HardwareParameters) ExistingValueList
      ForListDo $(ExistingValueList)
         set ValueEntry        = $($)
         set ValueName         = *($(ValueEntry),1)
         set ValueData         = *($(ValueEntry),4)
         set $(ValueName)Value = $(ValueData)
         Debug-Output $(STF_CONTEXTINFNAME)": Registry $(ValueName) = .$(ValueData)."
      EndForListDo
   Endif

GetAdapterConfigFromUser = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromUser"
   Ifstr(i) $(DoConfig) == "YES"
          LoadLibrary $(Media) $(!STF_WINDOWSSYSPATH)\$(LanDialogDLL) hLib
          set from = GetAdapterConfigFromUser
          read-syms LanDialog_$(LanOption)
          SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(HelpFile) 10 10 10
          ui start "InputDlg" $(hLib)
          ifstr(i) $(DLGEVENT) == "CONTINUE"
             ui pop 1
             read-syms LanDialog_$(LanOption)_PostProcess
             ifstr(i) $(LanOption) == "ti$tlan4"
                Debug-Output "$(STF_CONTEXTINFNAME): SlotValue       .$(SlotValue)."
             endif
             Debug-Output "$(STF_CONTEXTINFNAME): ConnectionValue       .$(ConnectionValue)."
             Debug-Output "$(STF_CONTEXTINFNAME): NetworkAddressValue   .$(NetworkAddressValue)."
          else-ifstr(i) $(DLGEVENT) == "CANCEL"
             set CommonStatus = STATUS_USERCANCEL
             Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Exit. Bye."
             ui pop 1
             goto InstallOptionExit
          else
             ui pop 1
             Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Unknown.  Bye."
             goto InstallOptionExit
          endif
   endif

AddAdapterSoftwareToRegistry = +
   Ifstr(i) $(!NTN_InstallMode) == configure
      goto AddAdapterConfigurationToRegistry
   Endif
   ifint $(OldVersionExisted) == $(TRUE)
      goto AddAdapterHardwareToRegistry
   Endif
   Shell $(UtilityInf), +
         AddSoftwareComponent, +
         $(Manufacturer), +
         $(LanBaseName), +
         $(LanBaseName), +
         $(SoftwareTitle), +
         $(STF_CONTEXTINFNAME), +
         $(SoftwareImage), +
         "kernel", "NDIS", {}, "",+
         $(NetEventDLL)
   Set OEM_ABANDON_SOFTWARE = TRUE
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddSoftwareComponent
      goto ShellCodeError
   endif
   set RegistryErrorIndex = $($R0)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add component error"
      CloseRegKey $($R1)
      CloseRegKey $($R2)
      CloseRegKey $($R3)
      CloseRegKey $($R4)
      CloseRegKey $($R5)
      goto FatalRegistryError
   endif
   Set Key_SoftwareProduct    = $($R1)
   Set Key_SoftwareNetRules   = $($R2)
   CloseRegKey $($R3)
   CloseRegKey $($R4)
   CloseRegKey $($R5)
   set NewValueList = {+
       {SoftwareType, $(NoTitle), $(!REG_VT_SZ),    $(SoftwareType)},+
       {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMajorVersion)},+
       {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMinorVersion)},+
       {Title,        $(NoTitle), $(!REG_VT_SZ),    $(SoftwareTitle)},+
       {Description,  $(NoTitle), $(!REG_VT_SZ),    $(SoftwareDescription)},+
       {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $(LanBaseName)},+
       {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
       }
   Shell  $(UtilityInf), AddValueList, $(Key_SoftwareProduct), $(NewValueList)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddValueList
      goto ShellCodeError
   endif
   Set RegistryErrorIndex = $($R0)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add value list error"
      CloseRegKey $(Key_SoftwareProduct)
      CloseRegKey $(Key_SoftwareNetRules)
      goto FatalRegistryError
   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),       $(LanOption)}+
       }
   Shell  $(UtilityInf), AddValueList, $(Key_SoftwareNetRules), $(NewValueList)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddValueList
      goto ShellCodeError
   endif
   Set RegistryErrorIndex = $($R0)
   CloseRegKey $(Key_SoftwareProduct)
   CloseRegKey $(Key_SoftwareNetRules)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add NetRule error"
      goto FatalRegistryError
   endif

AddAdapterHardwareToRegistry = +
   Shell $(UtilityInf), +
         AddHardwareComponent, +
         $(ProductHdwrName), +
         $(STF_CONTEXTINFNAME), +
         $(KeyName_Software)
   ifint $($R4) != -1
      Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
   endif
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddHardwareComponent
      goto ShellCodeError
   endif
   set RegistryErrorIndex = $($R0)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add component error"
      CloseRegKey $($R1)
      CloseRegKey $($R2)
      CloseRegKey $($R3)
      goto FatalRegistryError
   endif
   set Key_HardwareNetRules   = $($R2)
   set Key_HardwareParameters = $($R3)
   set AdapterNumber          = $($R4)
   set NewValueList = {+
       {Manufacturer, $(NoTitle), $(!REG_VT_SZ),    $(Manufacturer)},+
       {Title,        $(NoTitle), $(!REG_VT_SZ),    "["$($R4)"] "$(ProductHdwrTitle)},+
       {Description,  $(NoTitle), $(!REG_VT_SZ),    $(ProductHdwrDesc)},+
       {ProductName,  $(NoTitle), $(!REG_VT_SZ),    $(ProductHdwrName)},+
       {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $($R5)},+
       {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
       }
   Shell $(UtilityInf), AddValueList, $($R1),  $(NewValueList)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddValueList
      goto ShellCodeError
   endif
   CloseRegKey $($R1)
   set TempProdName = """"$(ProductHdwrName)$(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),       $(LanOption)}+
       }
   Shell  $(UtilityInf), AddValueList, $(Key_HardwareNetRules), $(NewValueList)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddValueList
      goto ShellCodeError
   endif
   set RegistryErrorIndex = $($R0)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add NetRule error"
      CloseRegKey $(Key_HardwareParameters)
      CloseRegKey $(Key_HardwareNetRules)
      goto FatalRegistryError
   endif
   CloseRegKey $(Key_HardwareNetRules)
   goto AddAdapterConfigurationToRegistry

AddAdapterConfigurationToRegistry = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
   Shell $(UtilityInf),GetBusTypeDialog,$(ProductHdwrDesc) $(BusTypeValue) $(BusNumberValue)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      Shell $(UtilityInf), GetBusTypeNum
      ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:GetBusTypeNum
         goto ShellCodeError
      else
         set BusTypeValue = $($R1)
         set BusNumberValue = 0
      endif
   else
      set BusTypeValue = $($R1)
      set BusNumberValue = $($R2)
   endif

   Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
   set NewValueList = "{}"   
   ForListDo $(KeywordTextList)
      set NewValueEntry = { $($), $(NoTitle), *($(KeywordRegTypeList),$(#)), $($($)Value) }
      Debug-Output "$(STF_CONTEXTINFNAME): NewValueList Entry = .$(NewValueEntry)."
      set NewValueList = >($(NewValueList), $(NewValueEntry))
   EndForListDo

   Shell  $(UtilityInf), AddValueList, $(Key_HardwareParameters), $(NewValueList)
   CloseRegKey $(Key_HardwareParameters)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:AddValueList
      goto ShellCodeError
   endif
   set RegistryErrorIndex = $($R0)
   Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterConfiguration - add value list error"
      goto FatalRegistryError
   endif
   EndWait
   goto ProcessSuccessExit

CheckAdapterBinding =+
   Debug-Output "$(STF_CONTEXTINFNAME): Entering CheckAdapterBinding"
   set Error = "CheckAdapterBinding: not required for this adapter"
   goto FatalError

RemoveAdapterFromRegistry = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering RemoveAdapterFromRegistry"
   OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) KeyToReferenceCount
   Ifstr $(KeyToReferenceCount) == ""
      Debug-Output "$(STF_CONTEXTINFNAME): Could not open Software Base Key"
      set RefCountBeforeRemove = 2
      goto InstallOptionExit
   endif
   GetRegValue $(KeyToReferenceCount),"RefCount", RefCountInfo
   set RefCountBeforeRemove = *($(RefCountInfo), 4)
   CloseRegKey $(KeyToReferenceCount)
   Debug-Output "$(STF_CONTEXTINFNAME): Removing Hardware Component"
   Shell $(UtilityInf), +
         RemoveHardwareComponent, +
         $(Manufacturer), +
         $(LanBaseName), +
         $(!NTN_RegBase)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:RemoveHardwareComponent
      goto ShellCodeError
   endif
   Ifstr(i) $($R0) != NO_ERROR
      Ifstr(i) $($R0) != REF_COUNT_NOT_ZERO
         goto FatalRegistryError
      endif
   endif
   ifint $(RefCountBeforeRemove) == 1
      OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_SoftwareRoot) $(MAXIMUM_ALLOWED) Key_SoftwareRoot
      EnumRegKey $(Key_SoftwareRoot) KeyList
      EnumRegValue $(Key_SoftwareRoot) ValueList
      CloseRegKey $(Key_SoftwareRoot)
      Debug-Output "$(STF_CONTEXTINFNAME): Reg Key .$(KeyName_SoftwareRoot). opened"
      Debug-Output "$(STF_CONTEXTINFNAME): KeyList == .$(KeyList)."
      Debug-Output "$(STF_CONTEXTINFNAME): ValueList == .$(ValueList)."
      ifstr $(KeyList) == "{}"
         ifstr $(ValueList) == "{}"
            OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) Key_SoftwareBase
            DeleteRegKey $(Key_SoftwareBase) $(Manufacturer)
            CloseRegKey $(Key_SoftwareBase)
         endif
      endif
   endif
   goto InstallOptionExit

UpgradeSoftware = +
   Debug-Output "$(STF_CONTEXTINFNAME): Entering UpgradeSoftware"
   OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
   Ifstr $(Key_Product) != $(Key_Null)
     GetRegValue $(Key_Product),"MajorVersion", VersionInfo
     set Version = *($(VersionInfo), 4)
     Shell $(UtilityInf), GetInfFileNameFromRegistry, $(Key_Product)
     ifint $($ShellCode) != $(!SHELL_CODE_OK)
        set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
        goto ShellCodeError
     endif
     set !UG_Filename = $($R0)
     ifstr(i) $(!UG_Filename) != ""
        install "Install-Update"
        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
           goto FatalError
        endif
     endif
     SetRegValue $(Key_Product) {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMajorVersion)}
     SetRegValue $(Key_Product) {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMinorVersion)}
     ifint $(Version) != $(SoftwareVersion)
        Debug-Output "$(STF_CONTEXTINFNAME): Version .$(Version). != SoftwareVersion .$(SoftwareVersion)."
     endif
     CloseRegKey $(Key_Product)
   endif
   goto InstallOptionExit

ProcessSuccessExit = +
   goto InstallOptionExit

ProcessAbandonInstall = +
   ForListDo $(OEM_ABANDON_OPTIONS)
      Shell $(UtilityInf), +
            RemoveHardwareComponent, +
            $(Manufacturer), +
            $(LanBaseName), +
            $($)
      ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:RemoveHardwareComponent
         goto ShellCodeError
      endif
      set RegistryErrorIndex = $($R0)
      Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
         goto FatalRegistryError
      endif
   EndForListDo
   Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
      Shell $(UtilityInf), +
            RemoveSoftwareComponent, +
            $(Manufacturer), +
            $(LanBaseName), +
            FALSE
      ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:RemoveSoftwareComponent
         goto ShellCodeError
      endif
      set RegistryErrorIndex = $($R0)
      Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
         goto FatalRegistryError
      endif
   endif
   goto InstallOptionExit

ProcessWarningMessage = +
   Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = SubroutineInf:SetupMessage
      goto ShellCodeError
   endif
   ifstr(i) $($R1) == "OK"
      goto $(to)
   else-ifstr(i) $($R1) == "CANCEL"
      goto $(from)
   else
      goto "InstallOptionExit"
   endif

SetNonFatalInfo = +
   Set CommonStatus = STATUS_USERCANCEL
   Set Severity = STATUS
   goto ProcessNonFatalMessage

ProcessNonFatalMessage = +
   ifstr(i) $(Error) == ""
      Set Severity = NONFATAL
      Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
      ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:RegistryErrorString
         goto ShellCodeError
      endif
      set Error = $($R0)
   endif
   Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = SubroutineInf:SetupMessage
      goto ShellCodeError
   endif
   ifstr(i) $($R1) == "OK"
      goto $(from)
   else
      goto "InstallOptionExit"
   endif

FatalRegistryError = +
   Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:RegistryErrorString
      goto ShellCodeError
   endif
   set Error = $($R0)
   goto FatalError

FatalError = +
   ifstr(i) $(Error) == ""
      Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
      ifint $($ShellCode) != $(!SHELL_CODE_OK)
         set ShellErrorSection = UtilityInf:RegistryErrorString
         goto ShellCodeError
      endif
      set Error = $($R0)
   endif
   Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
   ifint $($ShellCode) != $(!SHELL_CODE_OK)
      set ShellErrorSection = UtilityInf:SetupMessage
      goto ShellCodeError
   endif
   goto SetFailedStatusAndExit

ShellCodeError = +
   Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)"
   set DlgType      = "MessageBox"
   set STF_MB_TITLE = "Error: "$(DialogTitle)
   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 SetFailedStatusAndExit

SetFailedStatusAndExit = +
   set CommonStatus = STATUS_FAILED
   ifstr(i) $(OEM_ABANDON_ON) == TRUE
      set OEM_ABANDON_ON = FALSE
      goto ProcessAbandonInstall
   endif
   goto InstallOptionExit


InstallOptionExit = +
   Return $(CommonStatus)

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: ftp, load: 2.26