;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ; OEMSETUP.INF - Equinox SST Serial Driver for Windows NT ; ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [Identification] OptionType = NetAdapter [PlatformsSupported] ISA EISA MCA [LanguagesSupported] ENG [Options] SST [FileConstants] EQNversion = "Ver. 3.40k Intel" TRUE = 1 FALSE = 0 ExitState = "Active" UtilityInf = $(!STF_CWDDIR)"\UTILITY.INF" ; available subroutines... ; RegistryErrorString ; VerExistedDlg ; CardExistedDlg ; AssignAdapterNumber ; DoAskSource ; AddSoftwareComponent, RemoveSoft... ; AddValueList ; AddHardwareComponent, RemoveHardware... ; IncrementReferenceCount, DecrementRef... ; MCAFindBus, EISAFindBus SubroutnInf = $(!STF_CWDDIR)"\SUBROUTN.INF" ; available subroutines... ; PushBillBoard/PopBillBoard ; SetupMessage HandleNull = "" DGCONFIG_HANDLE = $(HandleNull) MAXIMUM_ALLOWED = 33554432 ;------------------ [CustomMessageDlgTemp] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Error" STF_MB_TEXT = "Netcard number is blank" STF_MB_TYPE = 1 ; button set STF_MB_ICON = 3 ; stop icon STF_MB_DEF = 1 ; default button [CustomMessageDlg1] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Error" STF_MB_TEXT = "NT install subroutines unavailable. (1)" STF_MB_TYPE = 1 ; button set STF_MB_ICON = 3 ; stop icon STF_MB_DEF = 1 ; default button [CustomMessageDlg2] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Error" STF_MB_TEXT = "NT install subroutines unavailable. (2)" STF_MB_TYPE = 1 ; button set STF_MB_ICON = 3 ; stop icon STF_MB_DEF = 1 ; default button [CustomMessageDlg3] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Error" STF_MB_TEXT = "NT install subroutines unavailable. (3)" STF_MB_TYPE = 1 ; button set STF_MB_ICON = 3 ; stop icon STF_MB_DEF = 1 ; default button [CustomMessageDlg4] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "You must shutdown and re-boot before changes will take effect" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg5] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "The SNMP Extension Agent cannot be installed; the SNMP service is not installed. To enable the extension services, the SNMP service must be installed first. Remember: Any Service Packs must be re-applied AFTER component additions." STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg6] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not create an SNMP service Registry entry." STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg7] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not open base service key." STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg8] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not open the main binding registry key" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg9] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not open the binding registry key" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg10] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not open the 1st binding registry subkey" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg11] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "GetValue registry error occurred" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg12] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Note: The system file boot.ini has been modified to include the /PCILOCK parameter, please see EquiView Plus Help." STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg13] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Here1" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlg14] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Information" STF_MB_TEXT = "Could not add the Equinox EV Plus Monitor Service" STF_MB_TYPE = 1 ; OK button STF_MB_ICON = 2 ; information icon STF_MB_DEF = 1 ; default button [CustomMessageDlgx] DlgType = "MessageBox" STF_MB_TITLE = "Equinox Install Error" STF_MB_TEXT = "NT install subroutines unavailable. (x)" STF_MB_TYPE = 1 ; button set STF_MB_ICON = 3 ; stop icon STF_MB_DEF = 1 ; default button ; ----------------------------------------------------------------------------- ; FIRST - "Identify" is the first shell section executed by Setup ; it returns status (STATUS_SUCCESSFUL) ; it returns option type (NetAdapter) ; it returns media (diskette) description [Identify] read-syms DebugOptions shell "" DebugExternalGlobals Debug-Output $(InfTitl)"[Identify] section" read-syms Identification read-syms FileConstants set Status = STATUS_SUCCESSFUL set Identifier = $(OptionType) set Media = #("Source Media Descriptions", 1, 1) Debug-Output $(InfTitl)"[Identify] returning|"$(Status)"|"$(Identifier)"|"$(Media) return $(Status) $(Identifier) $(Media) ; required ------------------------------------------------------------------- ; SECOND - "ReturnOptions" is the shell section called after "Identify" ; it receives parameter, the language to use (ENG) ; it receives parameter, the bus type (EISA,etc) ; it returns status (STATUS_SUCCESSFUL) ; it returns the name of drivers that can be installed by this .inf file ; it returns text strings for the drivers that can be installed [ReturnOptions] read-syms FileConstants read-syms DebugOptions Debug-Output $(InfTitl)"[ReturnOption] section|"$($0)"|"$($1) set OptionList = ^(Options, 1) set OptionTextList = ^(OptionsTextENG, 1) set !BusType = $($1) ; '!' makes BusType globally accessable set Status = STATUS_SUCCESSFUL Debug-Output $(InfTitl)"[ReturnOption] returning|"$(Status)"|"$(OptionList)"|"$(OptionTextList) return $(Status) $(OptionList) $(OptionTextList) ; required ------------------------------------------------------------------- ; THIRD - "InstallOptions" is the shell section called after "ReturnOptions" ; ; This section is shelled to by main installation processing ; or by NCPASHEL.INF for one of following: ; ; install, config, removal, update, bind ; ; 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 [InstallOption] read-syms DebugOptions read-syms FileConstants ; Debug-Output $(InfTitl)"[InstallOption] section|"$($0)"|"$($1)"|"$($2)"|"$($3)"|"$($4)"|"$($5)"|"$(!NTN_InstallMode) Debug-Output $(InfTitl)"[InstallOption] section|"$($0)"|"$($1)"|"$($2)"|"$($3)"|"$($4)"|"$($5)"|"$(!NTN_InstallMode) set Option = $($1) set !SourceDir = $($2) set AddCopy = $($3) set DoCopy = $($4) set DoConfig = $($5) set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) NOT-IN $(LanguageList) Debug-Output $(InfTitl)"returning STATUS_NO_LANGUAGE" return STATUS_NOLANGUAGE Endif ;------------------ set reason for call ifstr(i) $(!NTN_InstallMode) == deinstall set StartLabel = removeadapter else-ifstr(i) $(!NTN_InstallMode) == Update set StartLabel = upgradesoftware else-ifstr(i) $(!NTN_InstallMode) == bind set StartLabel = bindingadapter else-ifstr(i) $(!NTN_InstallMode) == configure set StartLabel = configureadapter else set StartLabel = installadapter endif goto $(StartLabel) ;------------------ removeadapter = + Debug-Output $(InfTitl)"label removeadapter" shell "subroutn.inf" PushBillBoard NETSTATUSDLG "Removing Equinox SST driver..." LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLeqninstalled Debug-Output $(InfTitl)"DLL eqninstalled returned "$(rslt) LibraryProcedure rslt $(LIBHANDLE) DLLeqnrm /noerr Debug-Output $(InfTitl)"DLLeqnrm rslt is: "$(rslt) LibraryProcedure rslt $(LIBHANDLE) DLLeqnreg /remove Debug-Output $(InfTitl)"DLLeqnreg rslt is: "$(rslt) FreeLibrary $(LIBHANDLE) shell "" RemoveFiles ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ;comment OUT if unattend install ;=-=-=-= disable SNMP Extension Agent, start with SOFTWARE key =-=-=-= OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Equinox" $(!REG_KEY_ALL_ACCESS) TempKey ifstr $(TempKey) != $(KeyNull) DeleteRegTree $(TempKey) "SuperSerialAgent" CloseRegKey $(TempKey) endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\SNMP\Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPKeyHndl ifstr $(SNMPKeyHndl) != $(KeyNull) ;=-=-=-= now do the SNMP branch key =-=-=-= set ValueSetData = "SOFTWARE\Equinox\SuperSerialAgent\CurrentVersion" set SNMPValueList = {} EnumRegValue $(SNMPKeyHndl) SNMPValueList set ValueItem = "" set ValueData = "" ForListDo $(SNMPValueList) set ValueItem = $($) ;get list element set ValueData = *($(ValueItem), 4) ;look at data value ifstr $(ValueData) == $(ValueSetData) ;is it our entry? DeleteRegValue $(SNMPKeyHndl) *($(ValueItem),1) ;yes, delete it endif EndForListDo CloseRegKey $(SNMPKeyHndl) endif Shell $(UtilityInf), RemoveService, "EqmStart", "YES" ;to here ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= shell "subroutn.inf" PopBillBoard return STATUS_SUCCESSFUL ;------------------ upgradesoftware = + Debug-Output $(InfTitl)"label upgradeadapter" read-syms ProgressCopyENG install "Install-Upgrade" ; update SOFTWARE\Equinox\eqn\CurrentVersion\VersionText Debug-Output $(InfTitl)"EQNversion: "$(EQNversion) set ProductKeyName = $(!NTN_SoftwareBase)"\Equinox\eqn\CurrentVersion" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct ifstr $(KeyProduct) == $(KeyNull) Debug-Output $(InfTitl)"Unable to open "$(ProductKeyName) else set VERlist = { "VersionText", 0, $(!REG_VT_EXPAND_SZ), $(EQNversion) } SetRegValue $(KeyProduct) $(VERlist) CloseRegKey $(KeyProduct) endif ;=-=-=-=-= change originally bound inf file for upgrade inf file =-=-=-=-= OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_ALL_ACCESS) OEMKey ifstr $(OEMKey) != $(KeyNull) GetRegValue $(OEMKey) "EQNnetcard" OEMlist set OEMnetcard = *($(OEMlist),4) CloseRegKey $(OEMKey) set BindPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards" ;=-=-= open main bind key =-=-= OpenRegKey $(!REG_H_LOCAL) "" $(BindPath) $(!REG_KEY_ALL_ACCESS) BPKeyHndl ifstr $(BPKeyHndl) != $(KeyNull) EnumRegKey $(BPKeyHndl) BPValueList ;enumerate all sub keys into list set ValueItem = "" set ValueName = "" set ValueData = "" ForListDo $(BPValueList) set ValueItem = $($) ;get list element set ValueName = *($(ValueItem), 1) ;look at keyname ;=-=-= open 1st bind sub key =-=-= OpenRegKey $(BPKeyHndl) "" $(ValueName) $(!REG_KEY_ALL_ACCESS) BPSub1KeyHndl ifstr $(BPSub1KeyHndl) != $(KeyNull) ;=-=-=-= get the "Manufacturer" value name =-=-=-= GetRegValue $(BPSub1KeyHndl) "Manufacturer" Valuedatalist ifstr $(RegLastError) == $(!REG_ERROR_SUCCESS) set ValueData = *($(Valuedatalist), 4) ;=-=-= test if it is our entry =-=-=-= ifstr(i) $(ValueData) == "Equinox" ;=-=-= open 2nd bind sub key =-=-= OpenRegKey $(BPSub1KeyHndl) "" "NetRules" $(!REG_KEY_ALL_ACCESS) BPValueHndl ifstr $(BPValueHndl) != $(KeyNull) set NewBPValue = $(!STF_CWDDIR)"oemnad"$(OEMnetcard)".inf" set BPValue = {"InfName",0,$(!REG_VT_SZ),$(NewBPValue)} SetRegValue $(BPValueHndl) $(BPValue) CloseRegKey $(BPValueHndl) else read-syms CustomMessageDlg9 ; load "CustomMessageDlgxx template ui start "CustomMessageBox" ; display dialog box endif endif ;ENDif our "Equinox" entry else read-syms CustomMessageDlg11 ; load binding GetValue error template ui start "CustomMessageBox" ; display dialog box endif ;ENDif LastError OK CloseRegKey $(BPSub1KeyHndl) else read-syms CustomMessageDlg10 ; load template ui start "CustomMessageBox" ; display dialog box endif ;ENDif Subkey1 opened EndForListDo CloseRegKey $(BPKeyHndl) else read-syms CustomMessageDlg8 ; load couldn't open main bind key template ui start "CustomMessageBox" ; display dialog box endif ;ENDif main bind path opened endif ;ENDif OEMkey opened ;=-=-=-= see if SNMP services are installed =-=-=-= ;comment OUT if unattend install ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\SNMP\Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPKeyHndl ; ifstr $(SNMPKeyHndl) == $(KeyNull) ; ;=-=-=-= key doesn't exist, tell someone about it =-=-= ; read-syms CustomMessageDlg5 ; load SNMP not loaded template ; ui start "CustomMessageBox" ; display dialog box ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(!REG_KEY_ALL_ACCESS) TempKey ; ifstr $(TempKey) != $(KeyNull) ; CloseRegKey $(TempKey) ; else ; read-syms CustomMessageDlg7 ; load could not open base service template ; ui start "CustomMessageBox" ; display dialog box ; endif ; else ; CloseRegKey $(SNMPKeyHndl) ; endif ;=-=-=-=-=-= pop up Configuration message box if necessary =-=-=-=-=-= OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_ALL_ACCESS) ParmKey ifstr $(ParmKey) != $(KeyNull) ;did we open the key? ;=-=-= driver has been installed, see if SNMP Extension Agent installed =-=-= GetRegValue $(ParmKey) "SNMPState" Statelist ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) ;=-=-= SNMP Extension Agent NOT installed =-=-= shell "" ConfigShell endif CloseRegKey $(ParmKey) endif ; Check to see if the EqmStart service is installed. If not, create it OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EqmStart" $(!REG_KEY_ALL_ACCESS) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Shell $(UtilityInf), CreateService, "EqmStart", "Equinox EV Plus Service", + "%SystemRoot%\System32\EqmStart.exe", "serviceauto", "", {}, "" Ifint $($ShellCode) != $(!SHELL_CODE_OK) read-syms CustomMessageDlg14 ; Could not create service ui start "CustomMessageBox" ; display dialog box Endif Else CloseRegKey $(ServiceKey) Endif LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLAddPCILOCK ifstr(i) $(rslt) != "ERROR" read-syms CustomMessageDlg12 ; boot.ini has been modified template ui start "CustomMessageBox" ; display dialog box endif ; check for Tcpip\Parameters key and set the NT RAS tunning values ; NumForwardPackets=500 (0x1F4) ; ForwardBufferMemory=742400 (0xB5400) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Tcpip\Parameters" $(!REG_KEY_ALL_ACCESS) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Debug-Output $(InfTitl)"Unable to open "$(!NTN_ServiceBase)"\Tcpip\Parameters key" set CA_STATUS = STATUS_FAILED CloseRegKey $(ServiceKey) else set theval = "0x1F4" LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(theval) set theval = $(rslt) set ADDRlist = { "NumForwardPackets", 0, $(!REG_VT_DWORD), $(theval) } Debug-Output $(InfTitl)"NumForwardPackets: "$(theval) SetRegValue $(ServiceKey) $(ADDRlist) set theval = "0xB5400" LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(theval) set theval = $(rslt) set ADDRlist = { "ForwardBufferMemory", 0, $(!REG_VT_DWORD), $(theval) } Debug-Output $(InfTitl)"ForwardBufferMemory: "$(theval) SetRegValue $(ServiceKey) $(ADDRlist) CloseRegKey $(ServiceKey) endif ;to here ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= return STATUS_SUCCESSFUL ;------------------ configureadapter = + Debug-Output $(InfTitl)"label configureadapter" shell "" ConfigShell return $(!CA_STATUS) ;------------------ installadapter = + Debug-Output $(InfTitl)"label installadapter" ; ; The identify section is not called when integrated ; in control panel. This setup file is dependent on this ; function being called. ; shell "" DebugExternalGlobals ; ; The BusType also must be set ; ifstr(i) $(!BusType) == "" set !BusType = $(!STF_BUSTYPE) set BusType = $(!STF_BUSTYPE) endif read-syms ProgressCopyENG OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(MAXIMUM_ALLOWED) ServiceKey ifstr $(ServiceKey) != $(KeyNull) Debug-Output $(InfTitl)"Able to open "$(!NTN_ServiceBase)"\eqn\Parameters key" Debug-Output $(InfTitl)"eqn already installed. Exit." shell "subroutn.inf" SetupMessage ENG STATUS "Equinox SST driver already installed." CloseRegKey $(ServiceKey) set Status = STATUS_FAILED return $(Status) else Debug-Output $(InfTitl)"eqn NOT already installed. Continue." endif install "Install-Files" Debug-Output $(InfTitl)"[do_eqn] being called|"$($0)"|"$(1) shell "" do_eqn set Status = $($R0) Debug-Output $(InfTitl)"do_eqn returned|"$(Status) ifstr $(Status) != STATUS_SUCCESSFUL set Status = STATUS_FAILED Debug-Output $(InfTitl)"[InstallOption] returning|"$(Status) return $(Status) endif ;=-=-=-= see if SNMP services are installed =-=-=-= ;comment OUT if unattend install ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\SNMP\Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPKeyHndl ; ifstr $(SNMPKeyHndl) == $(KeyNull) ; ;=-=-=-= key doesn't exist, tell someone about it =-=-= ; read-syms CustomMessageDlg5 ; load SNMP not loaded template ; ui start "CustomMessageBox" ; display dialog box ; OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(!REG_KEY_ALL_ACCESS) TempKey ; ifstr $(TempKey) != $(KeyNull) ; CloseRegKey $(TempKey) ; else ; read-syms CustomMessageDlg7 ; load could not open base service template ; ui start "CustomMessageBox" ; display dialog box ; endif ; else ; CloseRegKey $(SNMPKeyHndl) ; endif ;=-=-=-=-=-= pop up Configuration message box if necessary =-=-=-=-=-= OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_ALL_ACCESS) ParmKey ifstr $(ParmKey) != $(KeyNull) ;did we open the key? ;=-=-= driver has been installed, see if SNMP Extension Agent installed =-=-= GetRegValue $(ParmKey) "SNMPState" Statelist ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) ;=-=-= SNMP Extension Agent NOT installed =-=-= shell "" ConfigShell endif CloseRegKey $(ParmKey) endif ; Check to see if the EqmStart service is installed. If not, create it OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\EqmStart" $(!REG_KEY_ALL_ACCESS) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Shell $(UtilityInf), CreateService, "EqmStart", "Equinox EV Plus Service", + "%SystemRoot%\System32\EqmStart.exe", "serviceauto", "", {}, "" Ifint $($ShellCode) != $(!SHELL_CODE_OK) read-syms CustomMessageDlg14 ; Could not create service ui start "CustomMessageBox" ; display dialog box Endif Else CloseRegKey $(ServiceKey) Endif LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLAddPCILOCK ifstr(i) $(rslt) != "ERROR" read-syms CustomMessageDlg12 ; boot.ini has been modified template ui start "CustomMessageBox" ; display dialog box endif ; check for Tcpip\Parameters key and set the NT RAS tunning values ; NumForwardPackets=500 (0x1F4) ; ForwardBufferMemory=742400 (0xB5400) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Tcpip\Parameters" $(!REG_KEY_ALL_ACCESS) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Debug-Output $(InfTitl)"Unable to open "$(!NTN_ServiceBase)"\Tcpip\Parameters key" set CA_STATUS = STATUS_FAILED CloseRegKey $(ServiceKey) else set theval = "0x1F4" LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(theval) set theval = $(rslt) set ADDRlist = { "NumForwardPackets", 0, $(!REG_VT_DWORD), $(theval) } Debug-Output $(InfTitl)"NumForwardPackets: "$(theval) SetRegValue $(ServiceKey) $(ADDRlist) set theval = "0xB5400" LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(theval) set theval = $(rslt) set ADDRlist = { "ForwardBufferMemory", 0, $(!REG_VT_DWORD), $(theval) } Debug-Output $(InfTitl)"ForwardBufferMemory: "$(theval) SetRegValue $(ServiceKey) $(ADDRlist) CloseRegKey $(ServiceKey) endif ;to here ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= set Status = STATUS_SUCCESSFUL Debug-Output $(InfTitl)"[InstallOption] returning|"$(Status) return $(Status) ;------------------ bindingadapter = + Debug-Output $(InfTitl)"label bindingadapter" set Error = "Binding: Sorry, not yet implemented." shell "subroutn.inf" SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) set Status = STATUS_FAILED return $(Status) ;------------------------------------------------------------------------ [Date] ; detect section Now = {} ? $(!LIBHANDLE) GetSystemDate ;------------------------------------------------------------------------ [do_eqn] ; shell section read-syms DebugOptions read-syms FileConstants Debug-Output $(InfTitl)"[do_eqn] section" shell "subroutn.inf" PushBillBoard NETSTATUSDLG "Configuring Equinox SST driver..." ifint $($ShellCode) != $(!SHELL_CODE_OK) ifint $($ShellCode) == 1 read-syms CustomMessageDlg1 ; setup the message box variables (1) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else-ifint $($ShellCode) == 2 read-syms CustomMessageDlg2 ; setup the message box variables (2) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else-ifint $($ShellCode) == 3 read-syms CustomMessageDlg3 ; setup the message box variables (3) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else read-syms CustomMessageDlgx ; setup the message box variables (?) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) endif endif shell "utility.inf" AssignAdapterNumber ifint $($ShellCode) != $(!SHELL_CODE_OK) ifint $($ShellCode) == 1 read-syms CustomMessageDlg1 ; setup the message box variables (1) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else-ifint $($ShellCode) == 2 read-syms CustomMessageDlg2 ; setup the message box variables (2) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else-ifint $($ShellCode) == 3 read-syms CustomMessageDlg3 ; setup the message box variables (3) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) else read-syms CustomMessageDlgx ; setup the message box variables (?) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) endif endif Debug-Output $(InfTitl)"ShellCode = "$($ShellCode) Debug-Output $(InfTitl)"RegistryErrorIndex = "$($R0) ifint $($ShellCode) != $(!SHELL_CODE_OK) set Status = STATUS_FAILED return $(Status) endif set AdapterNumber = $($R1) Debug-Output $(InfTitl)"AdapterNumber = "$(AdapterNumber) ifstr $(AdapterNumber) == "" read-syms CustomMessageDlgTemp ; setup the message box variables (1) ui start "CustomMessageBox" set Status = STATUS_FAILED return $(Status) endif Debug-Output $(InfTitl)"date = "$(!NowDate) Debug-Output $(InfTitl)"INFfile = "$(STF_CONTEXTINFNAME) Debug-Output $(InfTitl)"BusType = "$(!BusType) set Address = 0 Debug-Output $(InfTitl)"Address = "$(Address) ; samples of running external probrams ; RunProgram ExitCode "" "" $(!STF_CWDDIR)\cmd.exe /c c:\mstools\bin\where.exe -r \ddk\src\eqn *.* ; RunProgram ExitCode "" "" c:\mstools\bin\where.exe -r \ddk\src\eqn *.* LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx Debug-Output $(InfTitl)"DLLeqncomx rslt is: "$(rslt) ifint $(rslt) < "3" set rslt = "3" endif set COMnbr = $(rslt) Debug-Output $(InfTitl)"COMnbr = "$(COMnbr) LibraryProcedure rslt $(LIBHANDLE) DLLeqnrm /noerr Debug-Output $(InfTitl)"DLLeqnrm rslt is: "$(rslt) LibraryProcedure rslt $(LIBHANDLE) DLLeqnreg /rem0ve Debug-Output $(InfTitl)"DLLeqnreg rslt is: "$(rslt) LibraryProcedure rslt $(LIBHANDLE) DLLeqnreg /install /$(!BusType)=$(Address) /COM$(COMnbr) /netcard=$(AdapterNumber) /date=$(!NowDate) /inf=$(STF_CONTEXTINFNAME) Debug-Output $(InfTitl)"DLLeqnreg rslt is: "$(rslt) shell "subroutn.inf" PopBillBoard ; --------------------- set Platform = "X86" Debug-Output $(InfTitl)"Platform is: "$(Platform) ifstr(i) $(Platform) == "X86" goto do_0 endif OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(MAXIMUM_ALLOWED) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Debug-Output $(InfTitl)"Unable to open "$(!NTN_ServiceBase)"\eqn\Parameters key" set CA_STATUS = STATUS_FAILED CloseRegKey $(ServiceKey) goto do_0 else set theaddr = "0xdc000" LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(theaddr) set theaddr = $(rslt) set ADDRlist = { "EQNaddr", 0, $(!REG_VT_DWORD), $(theaddr) } Debug-Output $(InfTitl)"EQNaddr: "$(theaddr) SetRegValue $(ServiceKey) $(ADDRlist) CloseRegKey $(ServiceKey) endif ; --------------------- do_0 = + shell "subroutn.inf" PushBillBoard NETSTATUSDLG "Loading Equinox SST driver..." LibraryProcedure rslt $(LIBHANDLE) DLLeqnld Debug-Output $(InfTitl)"DLLeqnld rslt is: "$(rslt) FreeLibrary $(LIBHANDLE) ; let the system run awhile with the driver loaded - if its going to crash ; on load, "start" will be left as SERVICE_DEMAND_START sleep 2 ; since system hasn't crashed, change "Start" field to SERVICE_AUTO_START set STF_VITAL = "" OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn" $(MAXIMUM_ALLOWED) ServiceKey ifstr $(ServiceKey) != $(KeyNull) GetRegValue $(ServiceKey) "Start" Slist set orgStart = *($(Slist),4) Debug-Output $(InfTitl)"orgStart is "$(orgStart) set newStart = $(!SERVICE_AUTO_START) set Slist = { "Start", 0, $(!REG_VT_DWORD), $(newStart) } SetRegValue $(ServiceKey) $(Slist) CloseRegKey $(ServiceKey) else Debug-Output $(InfTitl)"key eqn failed to open" endif shell "subroutn.inf" PopBillBoard shell "subroutn.inf" SetupMessage ENG STATUS "Equinox SST driver installed." RunProgram DummyCode "" "" $(!STF_CWDDIR)\cmd.exe /c start /min eqnlogr RunProgram DummyCode "" "" $(!STF_CWDDIR)\cmd.exe /c eqngrp $(!STF_CWDDIR) return STATUS_SUCCESSFUL ;------------------------------------------------------------------------------ ; option text section [OptionsTextENG] SST = "Equinox SST Serial Driver for Windows NT - "$(EQNversion) [Source Media Descriptions] 1 = "Equinox NT Driver Disk #1" , TAGFILE = rasdisk2.s [DebugOptions] ; read-syms section InfTitl = "EQN: " !DebugOutputControl = 1 ; send messages to debugger if loaded ; !DebugOutputControl = 0 ; no messages to debugger InfError = 0 ;----- debug code ------------------------------------------------------------- [DebugExternalGlobals] ; shell section read-syms DebugOptions Debug-Output $(InfTitl)"[DebugExternalGlobals] section" detect Date Debug-Output $(InfTitl)"Date "*($(Now),1) ; (($(Now),1) must be passed to eqnreg() set !NowDate = *($(Now),1) ; following seems to be only STF_ vars known Debug-Output $(InfTitl)"!STF_CONTEXTINFNAME = "$(!STF_CONTEXTINFNAME) Debug-Output $(InfTitl)"!STF_CWDDIR = "$(!STF_CWDDIR) Debug-Output $(InfTitl)"!LIBHANDLE = "$(!LIBHANDLE) return ;----- main entry here -------------------------------------------------------- ; this shell section called only if this .inf invoked directly from setup.exe ; this code is NOT executed from the control panel (ncpa) [Shell Commands] ; shell section "Main" read-syms DebugOptions set-title "Serial Setup" set-subst LF = "\n" set Exit_Code = 0 Debug-Output $(InfTitl)"[Shell Commands] called." LoadLibrary "x" $(!STF_CWDDIR)"\setupdll.dll" !LIBHANDLE shell "" Identify shell "" ReturnOptions ENG EISA shell "" InstallOption ENG SST c:\ddk\src\eqn\inf YES YES YES FreeLibrary $(!LIBHANDLE) LoadLibrary "x" $(!STF_CWDDIR)"\setupdll.dll" !LIBHANDLE LibraryProcedure rslt $(!LIBHANDLE) DLLeqncomx Debug-Output $(InfTitl)"DLLeqncomx rslt is: "$(rslt) set COMnbr = $(rslt) LibraryProcedure rslt $(!LIBHANDLE) DLLeqnrm /noerr Debug-Output $(InfTitl)"DLLeqnrm rslt is: "$(rslt) LibraryProcedure rslt $(!LIBHANDLE) DLLeqnreg /rem0ve Debug-Output $(InfTitl)"DLLeqnreg rslt is: "$(rslt) LibraryProcedure rslt $(!LIBHANDLE) DLLeqnreg /install /EISA=0 /COM$(COMnbr) /netcard=10 /date=0 /inf=file_name Debug-Output $(InfTitl)"DLLeqnreg rslt is: "$(rslt) LibraryProcedure rslt $(!LIBHANDLE) DLLeqnld Debug-Output $(InfTitl)"DLLeqnld rslt is: "$(rslt) FreeLibrary $(!LIBHANDLE) aexit = + ; this is a label! Debug-Output $(InfTitl)"[Shell Commands] returning." exit ; required in "main" routine ;------------------------------------------------------------------------------ [Install-Files] ; install section set STF_VITAL = "" ifstr(i) $(AddCopy) == "YES" set SrcDir = $(!SourceDir) Debug-Output $(InfTitl)"SrcDir is: "$(SrcDir) Debug-Output $(InfTitl)"Dest is: "$(!STF_CWDDIR) AddSectionFilesToCopyList Files-Resource $(SrcDir) $(!STF_CWDDIR) AddSectionFilesToCopyList Files-Resource2 $(SrcDir) $(!STF_CWDDIR)drivers set Platform = "X86" Debug-Output $(InfTitl)"Platform is: "$(Platform) ifstr(i) $(Platform) == "X86" AddSectionFilesToCopyList Files-Resource3 $(SrcDir) $(!STF_CWDDIR) else AddSectionFilesToCopyList Files-Resource4 $(SrcDir) $(!STF_CWDDIR) endif Debug-Output $(InfTitl)"Dest is: "$(!STF_CWDDIR) AddSectionFilesToCopyList Files-Resource5 $(SrcDir) $(!STF_CWDDIR) ifstr(i) $(DoCopy) == "YES" set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList else-ifstr(i) $(!NTN_InstallPhase) == primary set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList endif exit ; install sections use exit ;------------------------------------------------------------------------------ [Install-Upgrade] ; install section ; get value of oemnad??.inf and copy oemsetup.inf on top of old set STF_VITAL = "" OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(MAXIMUM_ALLOWED) ServiceKey ifstr $(ServiceKey) != $(KeyNull) GetRegValue $(ServiceKey) "EQNnetcard" NClist set netcard = *($(NClist),4) CloseRegKey $(ServiceKey) Debug-Output $(InfTitl)"NClist is "$(NClist) set SrcDir = $(!SourceDir) AddSectionFilesToCopyList Files-Resource $(SrcDir) $(!STF_CWDDIR) AddSectionFilesToCopyList Files-Resource2 $(SrcDir) $(!STF_CWDDIR)drivers AddSectionFilesToCopyList Files-Resource5 $(SrcDir) $(!STF_CWDDIR) AddSectionFilesToCopyList Files-Upgrade $(SrcDir) $(!STF_CWDDIR) CopyFilesInCopyList Debug-Output $(InfTitl)"rename src: "$(!STF_CWDDIR)"oemsetup.inf" Debug-Output $(InfTitl)"rename dest: "$(!STF_CWDDIR)"oemnad"$(netcard)".inf" LibraryProcedure Status, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"oemnad"$(netcard)".inf" LibraryProcedure Status $(!LIBHANDLE) RenFile $(!STF_CWDDIR)"oemsetup.inf" $(!STF_CWDDIR)"oemnad"$(netcard)".inf" endif exit ; install sections use exit ;------------------------------------------------------------------------------ [RemoveFiles] ; shell section read-syms DebugOptions Debug-Output $(InfTitl)"Entering [RemoveFiles]" RunProgram ExitCode "" "" $(!STF_CWDDIR)\cmd.exe /c eqngrp REMOVE LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\drivers\eqn.sys" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqndiag.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqnlogr.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqnloop.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\readeqn.wri" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqndll.dll" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqndde.dll" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqngrp.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqnchnl.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqntrace.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqnreset.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmmall.dll" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmmalnt.dll" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmagent.dll" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmatcmd.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmbusy.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmmprst.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmloop.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\eqmstart.exe" LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)"\ntmml.dll" ; don't remove MSVCRT20.DLL or CRTDLL.DLL (may have previously existed) return ;------------------------------------------------------------------------------ [Files-Resource] ; sizes need only be approximate (used for %complete estimates) 1,eqndiag.ex_, SIZE=120000, DECOMPRESS, RENAME=eqndiag.exe 1,eqnlogr.ex_, SIZE=97000, DECOMPRESS, RENAME=eqnlogr.exe 1,eqnloop.ex_, SIZE=180000, DECOMPRESS, RENAME=eqnloop.exe 1,readeqn.wri, SIZE=9000 1,eqndll.dl_, SIZE=130000, DECOMPRESS, RENAME=eqndll.dll 1,eqndde.dl_, SIZE=8000, DECOMPRESS, RENAME=eqndde.dll 1,eqngrp.ex_, SIZE=26000, DECOMPRESS, RENAME=eqngrp.exe 1,eqnchnl.ex_, SIZE=28000, DECOMPRESS, RENAME=eqnchnl.exe 1,eqnreset.ex_, SIZE=68000, DECOMPRESS, RENAME=eqnreset.exe 1,eqntrace.ex_, SIZE=70000, DECOMPRESS, RENAME=eqntrace.exe 1,eqnxfast.ex_, SIZE=140000 [Files-Resource2] 1,eqn.sy_, SIZE=450000, DECOMPRESS, RENAME=eqn.sys [Files-Resource3] 1,MSVCRT20.DL_, SIZE=240000, OVERWRITE=OLDER, DECOMPRESS, RENAME=MSVCRT20.DLL ; Intel [Files-Resource4] 1,CRTDLL.DL_, SIZE=240000, OVERWRITE=OLDER, DECOMPRESS, RENAME=CRLDLL.DLL ; Mips [Files-Resource5] 1,NTMML.DL_, SIZE=66000, DECOMPRESS, RENAME=NTMML.DLL ; EV+ 1.1 1,EQMMALL.DL_, SIZE=60000, DECOMPRESS, RENAME=EQMMALL.DLL ; EV+ 1,EQMMALNT.DL_, SIZE=90000, DECOMPRESS, RENAME=EQMMALNT.DLL ; EV+ 1,EQMAGENT.DL_, SIZE=6000, DECOMPRESS, RENAME=EQMAGENT.DLL ; EV+ 1,EQMATCMD.EX_, SIZE=35000, DECOMPRESS, RENAME=EQMATCMD.EXE ; EV+ 1,EQMBUSY.EX_, SIZE=40000, DECOMPRESS, RENAME=EQMBUSY.EXE ; EV+ 1,EQMMPRST.EX_, SIZE=36000, DECOMPRESS, RENAME=EQMMPRST.EXE ; EV+ 1,EQMLOOP.EX_, SIZE=72000, DECOMPRESS, RENAME=EQMLOOP.EXE ; EV+ 1,EQMSTART.EX_, SIZE=25000, DECOMPRESS, RENAME=EQMSTART.EXE ; EV+ [Files-Upgrade] 1,oemsetup.inf [ConfigShell] ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ;Comment OUT if unattend install set ForceInstall = {0} OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_ALL_ACCESS) ParmKey ifstr $(ParmKey) != $(KeyNull) ;did we open the key? ;=-=-= driver has been installed, see if SNMP Extension Agent installed =-=-= GetRegValue $(ParmKey) "SNMPState" Statelist ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) ;=-=-= SNMP Extension Agent NOT installed =-=-= ;=-=-= see if SNMP base services available =-=-= OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\SNMP\Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPKeyHndl ifstr $(SNMPKeyHndl) != $(KeyNull) set RadioIn = {1} ;set to enabled if SNMP services available set ForceInstall = {1} ;force the registry key updates CloseRegKey $(SNMPKeyHndl) else set RadioIn = {2} ;default to Disabled endif SetRegValue $(ParmKey) {"SNMPState",0,$(!REG_VT_SZ),$(RadioIn)} else ;=-=-=-= SNMP Extension Installed, get initial state =-=-=-= Set RadioIn = *($(Statelist),4) endif CloseRegKey $(ParmKey) endif ;To here ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= read-syms DialogConstantsENG read-syms FileDependentDlgENG LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx set Combo1Out = "COM"$(rslt) Debug-Output $(InfTitl)"initial COMPort: "$(Combo1Out) LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /address set Combo2Out = $(rslt) Debug-Output $(InfTitl)"initial ISA mem: "$(Combo2Out) FreeLibrary $(LIBHANDLE) ui start "InputDlg" ifstr(i) $(DLGEVENT) == "CONTINUE" Debug-Output $(InfTitl)"COMPort: "$(Combo1Out) Debug-Output $(InfTitl)"ISA mem: "$(Combo2Out) ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ;Comment OUT if unattend install ;=-=-=-= force registry update if first install =-=-=-= ifstr $(ForceInstall) == {1} set RadioIn = {2} set RadioOut = {1} endif ifstr(i) $(RadioOut) != $(RadioIn) ;=-=-=-= settings have been changed... which one? =-=-=-= OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_SET_VALUE) ParmKey ifstr $(ParmKey) != $(KeyNull) ;did we open the key? ;;; SetRegValue $(ParmKey) {"SNMPState",0,$(!REG_VT_SZ),$(RadioOut)} set SNMPKeyName = "SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents" set ValueSetData = "SOFTWARE\Equinox\SuperSerialAgent\CurrentVersion" OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\SNMP\Parameters\ExtensionAgents" $(!REG_KEY_ALL_ACCESS) SNMPKeyHndl ifstr $(SNMPKeyHndl) != $(KeyNull) ;=-=-=-=-= record for posterity, the Radio button value =-=-=-=-= SetRegValue $(ParmKey) {"SNMPState",0,$(!REG_VT_SZ),$(RadioOut)} ;=-=-= now enable or disable agent =-=-= ifstr $(RadioOut) == {1} ;=-=-= enable SNMP Extension Agent, start with SOFTWARE key =-=-= OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Equinox" $(!REG_KEY_ALL_ACCESS) TempKey ifstr $(TempKey) != $(KeyNull) CreateRegKey $(TempKey) {"SuperSerialAgent\CurrentVersion",0,GenericClass} "" + $(!REG_KEY_SET_VALUE) "" NewTempHndl ifstr $(NewTempHndl) != $(KeyNull) set NewNameValueList = {Pathname,0, $(!REG_VT_SZ),"%SystemRoot%\system32\EqmAgent.dll"} SetRegValue $(NewTempHndl) $(NewNameValueList) CloseRegKey $(NewTempHndl) endif CloseRegKey $(TempKey) endif ;=-=-=-= now do the SNMP branch =-=-=-= set SNMPValueList = {} EnumRegValue $(SNMPKeyHndl) SNMPValueList set RefValue = "0" set ValueItem = "" set ValueName = "" ForListDo $(SNMPValueList) set ValueItem = $($) set ValueName = *($(ValueItem), 1) ifint $(ValueName) >= $(RefValue) set RefValue = $(ValueName) endif EndForListDo ;=-=-= get next ASCII name and build the value list =-=-= set-add SNMPValueName = $(RefValue), 1 set SNMPNameValueList = {$(SNMPValueName) 0 $(!REG_VT_SZ) $(ValueSetData)} ;=-=-= write list to key =-=-= SetRegValue $(SNMPKeyHndl) $(SNMPNameValueList) CloseRegKey $(SNMPKeyHndl) else ;remove entries ;=-=-=-= disable SNMP Extension Agent, start with SOFTWARE key =-=-=-= OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Equinox" $(!REG_KEY_ALL_ACCESS) TempKey ifstr $(TempKey) != $(KeyNull) DeleteRegTree $(TempKey) "SuperSerialAgent" CloseRegKey $(TempKey) endif ;=-=-=-= now do the SNMP branch key =-=-=-= set SNMPValueList = {} EnumRegValue $(SNMPKeyHndl) SNMPValueList set ValueItem = "" set ValueData = "" ForListDo $(SNMPValueList) set ValueItem = $($) ;get list element set ValueData = *($(ValueItem), 4) ;look at data value ifstr $(ValueData) == $(ValueSetData) ;is it our entry? DeleteRegValue $(SNMPKeyHndl) *($(ValueItem),1) ;yes, delete it endif EndForListDo endif ;ENDelse RadioOut != 1 ; read-syms CustomMessageDlg4 ; setup the shutdown/reboot message box ; ui start "CustomMessageBox" ; display dialog box CloseRegKey $(SNMPKeyHndl) else ;=-=-=-= SNMP services NOT installed, tell the world =-=-=-= read-syms CustomMessageDlg5 ; load SNMP not loaded template ui start "CustomMessageBox" ; display dialog box ; set RadioIn = {2} ;really no need to set these ; set RadioOut = {2} endif ;ENDif SNMP key branch exists CloseRegKey $(ParmKey) endif ;ENDif ParmKey != KeyNull endif ;ENDif RadioOut != RadioIn ;To here ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ui pop 1 else set !CA_STATUS = STATUS_USERCANCEL ui pop 1 goto ca_end endif LoadLibrary "x" $(!STF_CWDDIR)"\eqndll.dll" LIBHANDLE LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /parse $(Combo1Out) set Combo1Out = $(rslt) ifstr $(Combo2Out) == "auto" set Combo2Out = "0" else LibraryProcedure rslt $(LIBHANDLE) DLLeqncomx /decimal $(Combo2Out) set Combo2Out = $(rslt) endif Debug-Output $(InfTitl)"COMPort: "$(Combo1Out) Debug-Output $(InfTitl)"ISA mem: "$(Combo2Out) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\eqn\Parameters" $(!REG_KEY_ALL_ACCESS) ServiceKey ifstr $(ServiceKey) == $(KeyNull) Debug-Output $(InfTitl)"Unable to open "$(!NTN_ServiceBase)"\eqn\Parameters key" set CA_STATUS = STATUS_FAILED goto ca_end else set COMlist = { "EQNbaseComPort", 0, $(!REG_VT_DWORD), $(Combo1Out) } Debug-Output $(InfTitl)"COMPort: "$(Combo1Out) SetRegValue $(ServiceKey) $(COMlist) set ADDRlist = { "EQNaddr", 0, $(!REG_VT_DWORD), $(Combo2Out) } Debug-Output $(InfTitl)"ISA mem: "$(Combo2Out) SetRegValue $(ServiceKey) $(ADDRlist) CloseRegKey $(ServiceKey) endif set !CA_STATUS = STATUS_SUCCESSFUL ca_end = + return $(!CA_STATUS) ;=-=-=-=-=-=-=-=-=-=-= debug message box code =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ; read-syms CustomMessageDlgxx ; load "CustomMessageDlgxx template ; ui start "CustomMessageBox" ; display dialog box ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [ProgressCopyENG] ; read-syms section ProCaption = "Equinox SST File Setup" ProCancel = "Cancel" ProCancelMsg = "Equinox is not correctly installed. Are you sure you want "+ "to cancel copying files?" ProCancelCap = "Setup Message" ProText1 = "Copying:" ProText2 = "To:" ;---------------- [DialogConstantsENG] ; read-syms section Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" [FileDependentDlgENG] ; read-syms section DlgType = "RadioCombination" DlgTemplate = "DEC_SETUP" Caption = "Equinox SST Configuration" Group1 = "SNMP Extension Agent" Radio1 = "&Enabled" Radio2 = "&Disabled" Label1 = "First COM&Port:" Label2 = "ISA &Memory Block:" ISAList = { auto, 0xc0000, 0xc4000, 0xc8000, 0xcc000, + 0xd0000, 0xd4000, 0xd8000, 0xdc000, + 0xe0000, 0xe4000, 0xe8000, 0xec000 } COMxList = { COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, + COM9, COM10, COM11, COM12, COM13, COM14, COM15, COM16, + COM17, COM18, COM19, COM20, COM21, COM22, COM23, COM24, + COM25, COM26, COM27, COM28, COM29, COM30, COM31, COM32, + COM33, COM34, COM35, COM36, COM37, COM38, COM39, COM40, + COM41, COM42, COM43, COM44, COM45, COM46, COM47, COM48, + COM49, COM50, COM51, COM52, COM53, COM54, COM55, COM56, + COM57, COM58, COM59, COM60, COM61, COM62, COM63, COM64, + COM65, COM66, COM67, COM68, COM69, COM70, COM71, COM72, + COM73, COM74, COM75, COM76, COM77, COM78, COM79, COM80, + COM81, COM82, COM83, COM84, COM85, COM86, COM87, COM88, + COM89, COM90, COM91, COM92, COM93, COM94, COM95, COM96, + COM97, COM98, COM99, COM100, COM101, COM102, COM103, COM104, + COM105, COM106, COM107, COM108, COM109, COM110, COM111, COM112, + COM113, COM114, COM115, COM116, COM117, COM118, COM119, COM120, + COM121, COM122, COM123, COM124, COM125, COM126, COM127, COM128, + COM129, COM130, COM131, COM132, COM133, COM134, COM135, COM136, + COM137, COM138, COM139, COM140, COM141, COM142, COM143, COM144, + COM145, COM146, COM147, COM148, COM149, COM150, COM151, COM152, + COM153, COM154, COM155, COM156, COM157, COM158, COM159, COM160, + COM161, COM162, COM163, COM164, COM165, COM166, COM167, COM168, + COM169, COM170, COM171, COM172, COM173, COM174, COM175, COM176, + COM177, COM178, COM179, COM180, COM181, COM182, COM183, COM184, + COM185, COM186, COM187, COM188, COM189, COM190, COM191, COM192, + COM193, COM194, COM195, COM196, COM197, COM198, COM199, COM200, + COM201, COM202, COM203, COM024, COM205, COM206, COM207, COM208, + COM209, COM210, COM211, COM212, COM213, COM214, COM215, COM216, + COM217, COM218, COM219, COM220, COM221, COM222, COM223, COM224, + COM225, COM226, COM227, COM228, COM229, COM230, COM231, COM232, + COM233, COM234, COM235, COM236, COM237, COM238, COM239, COM240, + COM241, COM242, COM243, COM244, COM245, COM246, COM247, COM248, + COM249, COM250, COM251, COM252, COM253, COM254, COM255, COM256 } Combo1List = $(COMxList) Combo2List = $(ISAList) ComboListItemsIn = {Combo1List, Combo2List} ComboListItemsOut = {Combo1Out, Combo2Out} EditTextIn = "" EditTextLim = "" CBOptionsGreyed = {} NotifyFields = {NO, NO} HelpContext = "" RCCtlFocusOn = 403 ;----- leave blank lines here -------------------------------------------------Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.