;*********************************************************************** ; ; Module Name: OEMSETNT.INF ; Author: Huntsville Development Center ; $Archive: /Projects/Tigris and Derivatives Branches/Branch099/Reference Designs/Tigris/Install Files/INF/LAN/NT4/oemsetnt.inf $ ; $Date: 11/08/02 11:04a $ ; ; Copyright © Conexant Systems Inc. 1999 - 2002. All rights reserved ; ; Module Description: ; WinNT4 installation file for the ; Conexant AccessRunner PCI ADSL LAN Adapter ; ;*********************************************************************** ;*********************************************************************** ; OPTION TYPE ; ----------- ; This identifies the Option type we are dealing with. The different ; possible types are: ; ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ... ; ; Types specific to networking: ; ; NetAdapter, a netcard / adapter combination or just a netcard ; NetDriver, just a netcard driver ; NetTransport, a complete NDIS-compliant TDI transport stack ; NetService, an NT networking service ; NetWork, a complete network ensemble. ; NetProvider a complete network which supports NT MPR protocol ;*********************************************************************** [Identification] OptionType = NetAdapter ;*********************************************************************** ; PlatformsSupported ; ------------------ ; This identifies the platforms supported by the adapter card. ; Possible types are: ; ; ISA, EISA, MCA, and PCI ;*********************************************************************** [PlatformsSupported] PCI ;*********************************************************************** ; OPTION LIST ; ----------- ; This section lists the OEM Option key names. These keys are locale ; independent and used to represent the option in a locale independent ; manner. ; ;*********************************************************************** [Options] Conexant_PCI_ADSL_LAN_Driver ;*********************************************************************** ; ;*********************************************************************** ;ToDo Add new registry entry default values here [FileConstants] ; LED/Relay Enable. ; Set LED_RELAY_ENABLE = LED_HW if hardware supports LEDs. ; Otherwise set LED_RELAY_ENABLE = RELAY_HW RELAY_HW = 0 LED_HW = 1 LED_RELAY_ENABLE = $(RELAY_HW) InfName = "Conexant_PCI_ADSL_LAN_Driver.INF" UtilityInf = "UTILITY.INF" ParamInf = "NCPARAM.INF" subroutineinf = "SUBROUTN.INF" SoftwareType = "driver" Exit_Code = 0 NetEventDLL = "%SystemRoot%\System32\netevent.dll" IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll" Manufacturer = "Conexant" ProductCode = "5" HardwareCode = "1" ProductMajorVersion = "2" ProductMinorVersion = "099" ProductVersion = $(ProductCode)"."$(HardwareCode)"."$(ProductMajorVersion)"."$(ProductMinorVersion) ProductSoftwareName = "CnxTgN" ProductSoftwareImagePath = "\SystemRoot\System32\drivers\CnxTgN.sys" NetRuleSoftwareType = "Conexant_PCI_ADSL_LAN_DriverSys ndisDriver Conexant_PCI_ADSL_LAN_DriverDriver" NetRuleSoftwareUse = $(SoftwareType) NetRuleSoftwareBindForm = """Conexant_PCI_ADSL_LAN_DriverSys"" yes no container" NetRuleSoftwareClass = {"Conexant_PCI_ADSL_LAN_DriverDriver basic"} NetRuleSoftwareBindable = {"Conexant_PCI_ADSL_LAN_DriverDriver Conexant_PCI_ADSL_LAN_DriverAdapter non exclusive 100"} NetRuleHardwareBindForm = " yes yes container" NetRuleHardwareType = "Conexant_PCI_ADSL_LAN_Driver Conexant_PCI_ADSL_LAN_DriverAdapter" NetRuleHardwareClass = {"Conexant_PCI_ADSL_LAN_DriverAdapter basic"} DeviceMap = "HARDWARE\DEVICEMAP" ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion" DeviceKeyName = "Device" CurrentControlSet = "SYSTEM\CurrentControlSet" ServicesBaseName = $(CurrentControlSet)"\Services" ; Microsoft Run Key MicrosoftRunKey = $(!NTN_SoftwareBase)"\Microsoft\Windows\CurrentVersion\Run" ; Product Software Registry Key for Applications CompanySoftwareSubkey = "Conexant" ; Do not modify this string ProductSoftwareSubkey = "AccessRunner ADSL" ; Do not modify this string CompanySoftwareKey = $(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey) ProductSoftwareKey = $(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey)"\"$(ProductSoftwareSubkey) ProductId = "20" ; 0x00000020 ; Product Shortcuts Registry Key ProductShortcutsSubkey = "Shortcuts" ProductShortcutsKey = $(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey)"\"$(ProductSoftwareSubkey)"\"$(ProductShortcutsSubkey) ; Shortcuts AutologShortcutLocations = "8" ; Bitmask of shortcut locations in hexadecimal ControlPanelAppletShortcutLocations = "18" ; Bitmask of shortcut locations in hexadecimal HelpShortcutLocations = "8" ; Bitmask of shortcut locations in hexadecimal TaskBarAppShortcutLocations = "8" ; Bitmask of shortcut locations in hexadecimal UninstallShortcutLocations = "8" ; Bitmask of shortcut locations in hexadecimal ;Product Run Registry Values CnxDslTaskBar = "CnxDslTb.exe" ;Library Driver LibraryDriverName = "CnxTgS" ;SYSTEM\CurrentControlSet\Services\CnxTgS LibraryServicesKey = $(ServicesBaseName)"\"$(LibraryDriverName) ;Arbitrator 0 Driver Arbitrator0DriverName = "CnxTgR" Arbitrator0SubKeyName = $(Arbitrator0DriverName)"0" ;SYSTEM\CurrentControlSet\Services\CnxTgR Arbitrator0ServicesKey = $(ServicesBaseName)"\"$(Arbitrator0DriverName) ;SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgR0 Arbitrator0ServicesSubKey = $(Arbitrator0ServicesKey)"\"$(DeviceKeyName)"\"$(Arbitrator0SubKeyName) ;Arbitrator 1 Driver Arbitrator1DriverName = "CnxTgR" Arbitrator1SubKeyName = $(Arbitrator1DriverName)"1" ;SYSTEM\CurrentControlSet\Services\CnxTgR Arbitrator1ServicesKey = $(Arbitrator0ServicesKey) ;SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgR0 Arbitrator1ServicesSubKey = $(Arbitrator1ServicesKey)"\"$(DeviceKeyName)"\"$(Arbitrator1SubKeyName) ;Pump Controller Driver PumpControllerDriverName = "CnxTgP" PumpControllerSubKeyName = $(PumpControllerDriverName)"0" ;SYSTEM\CurrentControlSet\Services\CnxTgP PumpControllerServicesKey = $(ServicesBaseName)"\"$(PumpControllerDriverName) ;SYSTEM\CurrentControlSet\Services\CnxTgP\Device\CnxTgP0 PumpControllerServicesSubKey= $(PumpControllerServicesKey)"\"$(DeviceKeyName)"\"$(PumpControllerSubKeyName) ;ADSL Driver AdslDriverName = "CnxTgN" ; Services Defaults ; Library ProductTgSGroup = "PNP_TDI" ProductTgSStart = 1 ;SERVICE_SYSTEM_START ProductTgSTag = 1 ProductTgSType = 1 ;SERVICE_KERNEL_DRIVER ProductTgSErrorControl = 1 ; Arbitrator ProductTgRGroup = "NDIS" ProductTgRStart = 1 ;SERVICE_SYSTEM_START ProductTgRTag = 1 ProductTgRType = 1 ;SERVICE_KERNEL_DRIVER ProductTgRErrorControl = 1 ; Pump Controller ProductTgPGroup = "NDIS" ProductTgPStart = 1 ;SERVICE_SYSTEM_START ProductTgPTag = 2 ProductTgPType = 1 ;SERVICE_KERNEL_DRIVER ProductTgPErrorControl = 1 ; Services SubKey Defaults ProductFirmWare = "CnxTgF.hex" ProductFunctionIdentifier0 = 0 ProductFunctionIdentifier1 = 1 ProductFunctionIdentifier2 = 2 ProductFunctionIdentifier3 = 3 ProductGpioDirectionMask = 383 ;0x17F ProductGpioEdgeMask = 0 ProductGpioADSLFunctionMask = 383 ;0x17F ProductGpioARMFunctionMask = 256 ;0x100 ProductHwDebugFlag = 0 ProductHwIdArb0 = 351344144 ;0x14f11610 ProductHwIdArb1 = 351344145 ;0x14f11611 ProductNumberOfChildren = 0 ProductPhysicalDriverType = 1 ; Network Device Parameter Defaults ProductAddressList = "1 0 0*1 1 0*" ProductAdvancedKeys = 85 ProductAdvancedMode = 0 ProductAdvancedTabs = 32768 ProductAdvancedTabsA = 11856 ProductAdvancedTabsC = 33088 ProductAdvancedTabsE = 999423 ProductAdvancedTabsP = 540497 ProductAdslHeadEnd = 0 ProductAdslHeadEndEnvironment = 0 ProductAdslTelcoId = 0 ProductAdslOption1 = 0 ProductAdslOption2 = 0 ProductAdslOption3 = 10 ProductAdslOption4 = 12 ProductAdslOption5 = 2 ProductAdslOption6 = 3 ProductAdslOption7 = 0 ProductAdslOption8 = 0 ProductAdslOption9 = 0 ProductAdslOption10 = 0 ProductAdslOption11 = 0 ProductAdslOption12 = 0 ProductAdslOption13 = 0 ProductAdslOption14 = 0 ProductAdslOption15 = 0 ProductAdslOption16 = 0 ProductAdslOption17 = 0 ProductAdslOption18 = 0 ProductAdslOption19 = 0 ProductAdslOption20 = 0 ProductAutoSenseInitialTimeout = 0 ProductAdslCRCIncrementFar = 0 ProductAdslCRCRetrainThresholdFar = 0 ProductAdslCRCThresholdFar = 0 ProductAdslCRCThresholdNear = 14 ProductAdslSESRetrainThresholdNear = 5 ProductAdslSNRMarRetrainThresholdNear = 0 ProductAdslSNRMarThresholdNear = 0 ProductASHandshakeMode = 0 ProductASWiringMode = 0 ProductASWiringSelection = 1 ProductASWiringComboGPIO = {03,03,03,03,05,05,05,05,00,00,00,00,00,00,00,00} ProductASWiringRelayDelay = 200 ProductASWiringRelayEnergized = 1 ProductASWiringOrder = {01,02,00,00} ProductDebugFlag = 0 ProductDisplayExtPhysLayerStats = 0 ProductEncapsulationMode = 2 ProductHardwareName = "CnxTgN" ProductHwIdPumpController = 351344144 ;0x14f11610 ProductHwIdDSL = 351344145 ;0x14f11611 ProductMaxTransmit = 800 ProductOAMFaultManagementControl = "3" ProductPciVendorId = "14F1" ProductPciDeviceId = "1611" ProductRxMaxFrameSize = 1500 ProductRxBufAllocLimit = 500 ProductSoundKeyName = "ConexantADSL" ; Do not modify this string ProductTxMaxFrameSize = 1500 ProductVcDisconnectDelay = 0 ProductVcList = "0 23 0 8 2B 0" ProductVendorDescription = "Conexant Systems, Inc." ProductVendorId = "ROK" ProductWanAddress = "ROKID0" DiskName = "Conexant AccessRunner Installation Disk" ; LED Option Parameter Defaults ProductLedASWiringNumCombos = 0 ProductLedLinkStatusEnable = 1 ProductLedDataTrafficEnable = 1 ; Relay Option Parameter Defaults ProductRelayASWiringNumCombos = 2 ProductRelayLinkStatusEnable = 0 ProductRelayDataTrafficEnable = 0 ; ADSL Parameter Defaults ;*********************************************************************** ; ;*********************************************************************** [GeneralConstants] from = "" to = "" ExitCodeOk = 0 ExitCodeCancel = 1 ExitCodeFatal = 2 KeyNull = "" MAXIMUM_ALLOWED = 33554432 RegistryErrorIndex = NO_ERROR KeyProduct = "" KeyParameters = "" LibraryKeyParameters = "" Arb0KeyParameters = "" Arb1KeyParameters = "" PumpControllerKeyParameters = "" ServicesKeyParameters = "" TRUE = 1 FALSE = 0 NoTitle = 0 ExitState = "Active" OldVersionExisted = $(FALSE) DriverPath = $(!STF_NTPATH)\drivers ;*********************************************************************** ; ;*********************************************************************** [Date] Now = {} ? $(!LIBHANDLE) GetSystemDate ;*********************************************************************** ; ;*********************************************************************** [Identify] Read-Syms Identification Set Status = STATUS_SUCCESSFUL Set Identifier = $(OptionType) Set Media = #("Source Media Descriptions", 1, 1) Return $(Status) $(Identifier) $(Media) ;*********************************************************************** ; ;*********************************************************************** [ReturnOptions] Set Status = STATUS_FAILED Set OptionList = {} Set OptionTextList = {} Set LanguageList = ^(LanguagesSupported, 1) IfContains(i) $($0) in $(LanguageList) IfStr(i) $($1) == "" GoTo SetOptions EndIf Set PlatformList = ^(PlatformsSupported, 1) IfContains(i) $($1) in $(PlatformList) GoTo SetOptions Else Set Status = STATUS_NOTSUPPORTED GoTo ExitReturnOptions EndIf Else Set Status = STATUS_NOLANGUAGE GoTo ExitReturnOptions EndIf SetOptions = + Set OptionList = ^(Options, 1) Set OptionTextList = ^(OptionsText$($0), 1) Set Status = STATUS_SUCCESSFUL ExitReturnOptions = + Return $(Status) $(OptionList) $(OptionTextList) ;*********************************************************************** ; ;*********************************************************************** [InstallOption] Set Status = STATUS_FAILED ; Setup passes the following parameters to the [InstallOption] section: Set Option = $($1) ; OptionID to install Set SourceDirectory = $($2) ; SourceDirectory Set AddCopy = $($3) ; AddCopy (YES | NO) Set DoCopy = $($4) ; DoCopy (YES | NO) Set DoConfig = $($5) ; DoConfig (YES | NO) Set LanguageList = ^(LanguagesSupported, 1) IfContains(i) $($0) NOT-IN $(LanguageList) Return STATUS_NOLANGUAGE EndIf Set OldDebugControl = $(!DebugOutputControl) Set !DebugOutputControl = 1 Set-Subst LF = "\n" Read-Syms GeneralConstants Read-Syms FileConstants Read-Syms DialogConstants$(!STF_LANGUAGE) IfStr(i) $(!NTN_Origination) == "NCPA" Set Continue = $(OK) EndIf Read-Syms FileConstants$(!STF_LANGUAGE) Detect Date Set-Title $(FunctionTitle) Set to = Begin Set from = Begin Set CommonStatus = STATUS_SUCCESSFUL EndWait ;*********************************************************************** ; ;*********************************************************************** Begin = + Debug-Output $(InfName)": 220 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 StartLabel = ConfigureAdapter Set ActivateDetection = TRUE Set CommonStatus = STATUS_REBOOT IfStr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error: cannot get an error string." GoTo ShellCodeError EndIf Set Error = $($R0) Set from = end Set to = end GoTo NonFatalInfo EndIf Else Set StartLabel = InstallAdapter Set ActivateDetection = TRUE Set OEM_ABANDON_OPTIONS = {} Set OEM_ABANDON_SOFTWARE = FALSE Set OEM_ABANDON_ON = TRUE EndIf Set DetectedCard = FALSE IfStr(i) $(ActivateDetection) != TRUE Debug-Output $(InfName)": Setting DetectedCard to FALSE ." GoTo $(StartLabel) EndIf IfStr(i) $(!STF_NCDETECT) == YES IfStr(i) $(!STF_NCOPTION) == $(Option) Set DetectedCard = TRUE Debug-Output $(InfName)": Setting DetectedCard to TRUE" EndIf EndIf ; (THD) 12.9. ; Shell "" DebugConfiguration "After parameter querying" Set from = FatalError Set to = FatalError GoTo $(StartLabel) ;*********************************************************************** ; ;*********************************************************************** InstallAdapter = + ; Install CnxTgS, CnxTgR and CnxTgP Services ; Install the DSL driver Debug-Output $(InfName)": 375 InstallAdapter" OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct IfStr $(KeyProduct) != $(KeyNull) CloseRegKey $(KeyProduct) IfStr(i) !(NTN_RegBase) == $(ProductKeyName) Debug-Output $(InfName)": 279 ProductKeyName exists" Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+ $(ProductVersion) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error: cannot get an error string." GoTo ShellCodeError EndIf GoTo end Else Shell $(UtilityInf), CardExistedDlg IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error: cannot get an error string." GoTo ShellCodeError EndIf IfStr(i) $($R1) != "OK" Set CommonStatus = STATUS_USERCANCEL GoTo end EndIf Set OldVersionExisted = $(TRUE) EndIf EndIf Set CurrParamSettings = {} Debug-Output $(InfName)": 302 Set Current Parameter Settings." GoTo AdapterSetup EndIf StartWait Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD) EndWait IfStr(i) $($R0) != STATUS_SUCCESSFUL GoTo AdapterSetup EndIf Set DetectedParams = $($R1) Debug-Output $(InfName)": Calling Param_SetDefaults to merge detected params" Shell $(ParamInf) Param_SetDefaults $(DetectedParams) GoTo AdapterSetup ;*********************************************************************** ; ;*********************************************************************** ; REG_H_LOCAL Handle to top of HKEY_LOCAL_MACHINE registry tree. ConfigureAdapter = + Debug-Output $(InfName)": 413 Configure Adapter." IfStr $(KeyProduct) == $(KeyNull) OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct IfStr $(KeyProduct) == $(KeyNull) Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output $(InfName)": Cannot find component product key" GoTo FatalRegistry EndIf EndIf Debug-Output $(InfName)": Shelling to FindService" Shell $(UtilityInf) FindService, $(KeyProduct) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": FindService shell failure" GoTo ShellCodeError EndIf IfStr(i) $($R0) != NO_ERROR Debug-Output $(InfName)": FindService Shell error: "$($R0) GoTo FatalRegistry EndIf Set KeyParameters = $($R2) CloseRegKey $($R1) IfStr $(KeyParameters) == $(KeyNull) Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE Debug-Output $(InfName)": Cannot find component service" GoTo FatalRegistry EndIf Set OldVersionExisted = $(TRUE) Set ValueName = "" Set ValueData = "" Set ValueStr = "" Set ValueList = {} EnumRegValue $(KeyParameters) ValueList ForListDo $(ValueList) Set ValueItem = $($) Set ValueName = *($(ValueItem),1) Set ValueData = *($(ValueItem),4) Debug-Output $(InfName)": "$(ValueName)"="$(ValueData) ; (THD) IfStr(i) $(ValueName) == "BusNumber" Debug-Output $(InfName)": 367 Set BusNumber." set BusNumber = $(ValueData) Else-IfStr(i) $(ValueName) == "BusType" Debug-Output $(InfName)": 368 Set BusType." set BusType = $(ValueData) EndIf EndForListDo Shell $(ParamInf) Param_SaveValues Set CurrParamSettings = $($R0) ;*********************************************************************** ; ;*********************************************************************** AdapterSetup = + ; (THD) 12.9. ; Shell "" DebugConfiguration "before displaying dialog" Set from = AdapterOptions Shell $(ParamInf) Param_ParameterConfidence IfStr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output $(InfName)": parameter confidence too low to bypass configuration" GoTo AdapterOptions EndIf IfStr(i) $(DetectedCard) == TRUE IfStr(i) $(!STF_INSTALL_MODE) != CUSTOM GoTo AdapterVerify EndIf EndIf ;*********************************************************************** ; ;*********************************************************************** AdapterOptions = + ; ; 5 -> PCI Bus ; Set BusType = 5 ; ; VendorID is decimal for 0x14F1 (PCI Vendor ID) ; DeviceID is decimal for 0x1610 (PCI Device ID) ; Set VendorID = 5361 Set DeviceID = 5648 Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Set ShellErrorLoc = S08 GoTo ShellCodeError EndIf ; Check to see if found any cards IfStr(i) $($R0) == {} set Error = $(NoHardwareFound) set CommonStatus = USER_CANCEL set from = end Goto NonFatalInfo EndIf ForListDo $(AdapterList) Set BusNumber = *($($),1) Set DeviceNumber = *($($),2) Set FunctionNumber = *($($),3) EndForListDo ;*********************************************************************** ; ;*********************************************************************** AdapterVerify = + ; (THD) 12.9. ; Shell "" DebugConfiguration "after running dialog" Debug-Output $(InfName)": 377 Adapter Verify." IfStr(i) $(DetectedCard) != TRUE Shell $(ParamInf) Param_SaveValues Set NewParamSettings = $($R0) IfStr(i) $(CurrParamSettings) == {} Set DiffParamSettings = $(NewParamSettings) Else Shell $(ParamInf) Param_DiffValues $(CurrParamSettings) Set DiffParamSettings = $($R0) EndIf Debug-Output $(InfName)": Calling Param_VerifyResources" Shell $(ParamInf) Param_VerifyResources $(DiffParamSettings) IfStr(i) $($R0) == STATUS_SUCCESSFUL Debug-Output $(InfName)": Param_VerifyResources succeeded" GoTo SkipOptions EndIf Else Set CardVerifyIndex = $(!STF_NCDETCARD) Debug-Output $(InfName)": Calling Param_VerifyCard" Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD) IfStr(i) $($R0) == STATUS_SUCCESSFUL Debug-Output $(InfName)": Param_VerifyCard succeeded" GoTo SkipOptions EndIf EndIf Set from = AdapterOptions Set to = SkipOptions Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error: cannot get an error string." GoTo ShellCodeError EndIf Set Error = $($R0) GoTo WarningMsg ;*********************************************************************** ; ;*********************************************************************** SkipOptions =+ Debug-Output $(InfName)": 451 Skip Options " IfInt $(OldVersionExisted) == $(TRUE) IfStr(i) $(!NTN_InstallMode) == configure Debug-Output $(InfName)": 454 NTN_InstallMode == configure " GoTo WriteParameters EndIf EndIf StartWait IfInt $(OldVersionExisted) == $(FALSE) IfStr(i) $(!NTN_InstallMode) == "install" IfStr(i) $(DoCopy) == "YES" Debug-Output $(InfName)": 462 DoCopy == YES " Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SourceDirectory) 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 FatalError Else-IfStr(i) $($R0) == STATUS_USERCANCEL GoTo SuccessfulOption EndIf Set SourceDirectory = $($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 FatalError EndIf EndIf ;*********************************************************************** ; ; Create Product Software Keys and SubKeys for Applications ; ;*********************************************************************** Debug-Output $(InfName)": Create Product Software Keys" OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(!REG_KEY_CREATE_SUB_KEY) hSoftwareKey IfStr $(hSoftwareKey) != "" Debug-Output $(InfName)": Add Company Software subkey." EndIf ; Create Company Registry Subkey CreateRegKey $(hSoftwareKey) {$(CompanySoftwareSubkey), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCompanyKey Debug-Output $(InfName)": "$(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey) Debug-Output $(InfName)$(hCompanyKey) IfInt $(RegLastError) != 0 Debug-Output $(InfName)": RegLastError = "$(RegLastError) ; Open the Company subkey OpenRegKey $(!REG_H_LOCAL) "" $(CompanySoftwareKey) $(!REG_KEY_CREATE_SUB_KEY) hCompanyKey Debug-Output $(InfName)": Open Company Software subkey: "$(CompanySoftwareKey) Debug-Output $(InfName)$(hCompanyKey) IfInt $(RegLastError) != 0 Debug-Output $(InfName)": RegLastError = "$(RegLastError) EndIf EndIf IfStr $(hCompanyKey) != "" Debug-Output $(InfName)": Add Company Product subkey." EndIf ; Create Product Registry Subkey CreateRegKey $(hCompanyKey) {$(ProductSoftwareSubkey), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hProductKey Debug-Output $(InfName)": "$(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey)"\"$(ProductSoftwareSubkey) Debug-Output $(InfName)$(hProductKey) IfInt $(RegLastError) != 0 Debug-Output $(InfName)": RegLastError = "$(RegLastError) EndIf IfStr $(hProductKey) != "" Debug-Output $(InfName)": Company Product subkey created" EndIf ; Create Product Shortcuts Registry Subkey CreateRegKey $(hProductKey) {$(ProductShortcutsSubkey), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hProductShortcutsKey Debug-Output $(InfName)": "$(!NTN_SoftwareBase)"\"$(CompanySoftwareSubkey)"\"$(ProductSoftwareSubkey)"\"$(ProductShortcutsSubkey) Debug-Output $(InfName)$(hProductShortcutsKey) IfInt $(RegLastError) != 0 Debug-Output $(InfName)": RegLastError = "$(RegLastError) EndIf IfStr $(hProductShortcutsKey) != "" Debug-Output $(InfName)": Product Shortcuts subkey created" EndIf CloseRegKey $(hProductsShortcutsKey) CloseRegKey $(hProductKey) CloseRegKey $(hCompanyKey) CloseRegKey $(hSoftwareKey) OpenRegKey $(!REG_H_LOCAL) "" $(ProductSoftwareKey) $(!REG_KEY_SET_VALUE) hProductKey ;ToDo Add Product Software Key registry values here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewProductSoftwareValueList = {+ {CompanyName, $(NoTitle), $(!REG_VT_SZ), $(CompanyName) },+ {DeviceName, $(NoTitle), $(!REG_VT_SZ), $(ProductHardwareTitle) },+ {ProductId, $(NoTitle), $(!REG_VT_SZ), $(ProductId) },+ {ProductName, $(NoTitle), $(!REG_VT_SZ), $(ProductName) },+ {ShortProductName, $(NoTitle), $(!REG_VT_SZ), $(ShortProductName) },+ {TaskbarAppTitle, $(NoTitle), $(!REG_VT_SZ), $(TaskbarAppTitle) },+ {CustomerVersion, $(NoTitle), $(!REG_VT_SZ), $(CustomerVersion) }+ } Debug-Output $(InfName)": Add Registry Values to Product Software Key." Set ProductSoftwareKeyParameters = $(hProductKey) Shell $(UtilityInf), AddValueList, $(ProductSoftwareKeyParameters), $(NewProductSoftwareValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add Product Software Key registry value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Product Software Key registry values" GoTo FatalRegistry EndIf CloseRegKey $(hProductKey) ;*********************************************************************** ; ; Create Product Shortcuts registry values ; ;*********************************************************************** Debug-Output $(InfName)": Create Product Shortcuts registry values" OpenRegKey $(!REG_H_LOCAL) "" $(ProductShortcutsKey) $(!REG_KEY_SET_VALUE) hProductShortcutsKey ;ToDo Add Product Shortcuts Key registry values here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewProductShortcutsValueList = {+ {ShortcutFolderName, $(NoTitle), $(!REG_VT_SZ), $(ShortcutFolderName) },+ {AutologShortcutDescription, $(NoTitle), $(!REG_VT_SZ), $(AutologShortcutDescription) },+ {AutologShortcutLocations, $(NoTitle), $(!REG_VT_SZ), $(AutologShortcutLocations) },+ {ControlPanelAppletShortcutDescription, $(NoTitle), $(!REG_VT_SZ), $(ControlPanelAppletShortcutDescription) },+ {ControlPanelAppletShortcutLocations, $(NoTitle), $(!REG_VT_SZ), $(ControlPanelAppletShortcutLocations) },+ ; {HelpShortcutDescription, $(NoTitle), $(!REG_VT_SZ), $(HelpShortcutDescription) },+ ; uncomment this line if installing help ; {HelpShortcutLocations, $(NoTitle), $(!REG_VT_SZ), $(HelpShortcutLocations) },+ ; uncomment this line if installing help {TaskBarAppShortcutDescription, $(NoTitle), $(!REG_VT_SZ), $(TaskBarAppShortcutDescription) },+ {TaskBarAppShortcutLocations, $(NoTitle), $(!REG_VT_SZ), $(TaskBarAppShortcutLocations) },+ {UninstallShortcutDescription, $(NoTitle), $(!REG_VT_SZ), $(UninstallShortcutDescription) },+ {UninstallShortcutLocations, $(NoTitle), $(!REG_VT_SZ), $(UninstallShortcutLocations) }+ } Debug-Output $(InfName)": Add Registry Values to Product Shortcuts Key." Set ProductShortcutsKeyParameters = $(hProductShortcutsKey) Shell $(UtilityInf), AddValueList, $(ProductShortcutsKeyParameters), $(NewProductShortcutsValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add Product Shortcuts Key registry value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Product Shortcuts Key registry values" GoTo FatalRegistry EndIf CloseRegKey $(hProductShortcutsKey) ;*********************************************************************** ; ; Create Run registry entries ; ;*********************************************************************** Debug-Output $(InfName)": Create Run registry entries" OpenRegKey $(!REG_H_LOCAL) "" $(MicrosoftRunKey) $(!REG_KEY_SET_VALUE) hRunKey IfStr $(hRunKey) != "" Debug-Output $(InfName)": Add Run value" EndIf ;ToDo Add Run Key registry values here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewRunValueList = {+ {CnxDslTaskBar, $(NoTitle), $(!REG_VT_SZ), $(CnxDslTaskBar) }+ } Debug-Output $(InfName)": Add Registry Values to Microsoft Run Key." Set RunKeyParameters = $(hRunKey) Shell $(UtilityInf), AddValueList, $(RunKeyParameters), $(NewRunValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add Microsoft Run Key registry value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Microsoft Run Key registry values" GoTo FatalRegistry EndIf CloseRegKey $(hRunKey) ;*********************************************************************** ; ; Create Services Keys and Sub Keys ; ;*********************************************************************** Debug-Output $(InfName)": Create Services Keys" OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services" $(!REG_KEY_WRITE) hServicesKey ifstr $(hServicesKey) != "" Debug-Output $(InfName)": Add Cnx service keys." ; ; Create Arbitrator Keys ; ; SYSTEM\CurrentControlSet\Services\CnxTgR CreateRegKey $(hServicesKey) {$(Arbitrator0DriverName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgrDeviceKey Debug-Output $(InfName)": SYSTEM\CurrentControlSet\Services\CnxTgR" Debug-Output $(InfName)$(hCnxTgrDeviceKey) ; SYSTEM\CurrentControlSet\Services\CnxTgR\Device CreateRegKey $(hCnxTgrDeviceKey) {$(DeviceKeyName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgrServicesKey Debug-Output $(InfName)": SYSTEM\CurrentControlSet\Services\CnxTgR\Device" Debug-Output $(InfName)$(hCnxTgrServicesKey) ; SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgR0 CreateRegKey $(hCnxTgrServicesKey) {$(Arbitrator0SubKeyName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgr0ServicesSubKey Debug-Output $(InfName)": SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgR0" Debug-Output $(InfName)$(hCnxTgr0ServicesSubKey) ; SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgR1 CreateRegKey $(hCnxTgrServicesKey) {$(Arbitrator1SubKeyName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgr1ServicesSubKey ; ; Create Library Keys ; ; SYSTEM\CurrentControlSet\Services\CnxTgS CreateRegKey $(hServicesKey) {$(LibraryDriverName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgsServicesKey ; ; Create Pump Controller Keys ; ; SYSTEM\CurrentControlSet\Services\CnxTgP CreateRegKey $(hServicesKey) {$(PumpControllerDriverName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgpDeviceKey ; SYSTEM\CurrentControlSet\Services\CnxTgS\Device CreateRegKey $(hCnxTgpDeviceKey) {$(DeviceKeyName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgpServicesKey ; SYSTEM\CurrentControlSet\Services\CnxTgR\Device\CnxTgP0 CreateRegKey $(hCnxTgpServicesKey) {$(PumpControllerSubKeyName), 0, GenericClass} "" $(!REG_KEY_CREATE_SUB_KEY) "" hCnxTgpServicesSubKey endif CloseRegKey $(hCnxTgsServicesKey) CloseRegKey $(hCnxTgr0ServicesSubKey) CloseRegKey $(hCnxTgr1ServicesSubKey) CloseRegKey $(hCnxTgrDeviceKey) CloseRegKey $(hCnxTgrServicesKey) CloseRegKey $(hCnxTgpServicesSubKey) CloseRegKey $(hCnxTgpServicesKey) CloseRegKey $(hCnxTgpDeviceKey) CloseRegKey $(hServicesKey) ;Library Driver OpenRegKey $(!REG_H_LOCAL) "" $(LibraryServicesKey) $(!REG_KEY_SET_VALUE) hCnxTgsServicesKey ;Arbitrator 0 Driver OpenRegKey $(!REG_H_LOCAL) "" $(Arbitrator0ServicesKey) $(!REG_KEY_SET_VALUE) hCnxTgrServicesKey OpenRegKey $(!REG_H_LOCAL) "" $(Arbitrator0ServicesSubKey) $(!REG_KEY_SET_VALUE) hCnxTgr0ServicesSubKey ;Arbitrator 1 Driver OpenRegKey $(!REG_H_LOCAL) "" $(Arbitrator1ServicesSubKey) $(!REG_KEY_SET_VALUE) hCnxTgr1ServicesSubKey ;Pump Controller Driver OpenRegKey $(!REG_H_LOCAL) "" $(PumpControllerServicesKey) $(!REG_KEY_SET_VALUE) hCnxTgpServicesKey OpenRegKey $(!REG_H_LOCAL) "" $(PumpControllerServicesSubKey) $(!REG_KEY_SET_VALUE) hCnxTgpServicesSubKey ;*********************************************************************** ; ;ToDo Add services registry entries here ; ;*********************************************************************** ;ToDo Add CnxTgR service registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewCnxTgRValueList = {+ {Group, $(NoTitle), $(!REG_VT_SZ), $(ProductTgRGroup) },+ {Start, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgRStart) },+ {Tag, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgRTag) },+ {Type, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgRType) },+ {ErrorControl, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgRErrorControl) }+ } Debug-Output $(InfName)": Add CnxTgR service." Set ServicesKeyParameters = $(hCnxTgrServicesKey) Shell $(UtilityInf), AddValueList, $(ServicesKeyParameters), $(NewCnxTgRValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Outpuut $(InfName)": Registry error: Add CnxTgR service list" Debug-Output $(InfName)$(hCnxTgrServicesKey) Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add CnxTgR service registry entries" GoTo FatalRegistry EndIf ;ToDo Add CnxTgP service registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewCnxTgPValueList = {+ {Group, $(NoTitle), $(!REG_VT_SZ), $(ProductTgPGroup) },+ {Start, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgPStart) },+ {Tag, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgPTag) },+ {Type, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgPType) },+ {ErrorControl, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgPErrorControl) }+ } Debug-Output $(InfName)": Add CnxTgP service." Set ServicesKeyParameters = $(hCnxTgpServicesKey) Shell $(UtilityInf), AddValueList, $(ServicesKeyParameters), $(NewCnxTgPValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add CnxTgP service list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add CnxTgP service registry entries" GoTo FatalRegistry EndIf ;ToDo Add CnxTgS service registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewCnxTgSValueList = {+ {Group, $(NoTitle), $(!REG_VT_SZ), $(ProductTgSGroup) },+ {Start, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgSStart) },+ {Tag, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgSTag) },+ {Type, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgSType) },+ {ErrorControl, $(NoTitle), $(!REG_VT_DWORD), $(ProductTgSErrorControl)}+ } Debug-Output $(InfName)": Add CnxTgS service." Set ServicesKeyParameters = $(hCnxTgsServicesKey) Shell $(UtilityInf), AddValueList, $(ServicesKeyParameters), $(NewCnxTgSValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)$(ServicesKeyParameters) Debug-Output "RegLastError "$(RegLastError) Debug-Output $(InfName)": Registry error: Add CnxTgS service list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add CnxTgS service registry entries" GoTo FatalRegistry EndIf ;*********************************************************************** ; ;ToDo Add Services Subkey registry entries here ; ;*********************************************************************** ;ToDo Add CnxTgR0 Subkey registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewArb0ValueList = {+ {FirmWare, $(NoTitle), $(!REG_VT_SZ), $(ProductFirmWare) },+ {FunctionIdentifier, $(NoTitle), $(!REG_VT_DWORD), $(ProductFunctionIdentifier0) },+ {GpioDirectionMask, $(NoTitle), $(!REG_VT_DWORD), $(ProductGpioDirectionMask) },+ {GpioEdgeMask, $(NoTitle), $(!REG_VT_DWORD), $(ProductGpioEdgeMask) },+ {GpioADSLFunctionMask, $(NoTitle), $(!REG_VT_DWORD), $(ProductGpioADSLFunctionMask) },+ {GpioARMFunctionMask, $(NoTitle), $(!REG_VT_DWORD), $(ProductGpioARMFunctionMask) },+ {HwDebugFlag, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwDebugFlag) },+ {HwId, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwIdArb0) },+ {NumberOfChildren, $(NoTitle), $(!REG_VT_DWORD), $(ProductNumberOfChildren) },+ {PhysicalDriverType, $(NoTitle), $(!REG_VT_DWORD), $(ProductPhysicalDriverType) }+ } Set Arb0KeyParameters = $(hCnxTgr0ServicesSubKey) Shell $(UtilityInf), AddValueList, $(Arb0KeyParameters), $(NewArb0ValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Arbitrator 0 registry entries" GoTo FatalRegistry EndIf ;ToDo Add CnxTgR1 Subkey registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewArb1ValueList = {+ {FunctionIdentifier, $(NoTitle), $(!REG_VT_DWORD), $(ProductFunctionIdentifier1) },+ {HwDebugFlag, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwDebugFlag) },+ {HwId, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwIdArb1) },+ {NumberOfChildren, $(NoTitle), $(!REG_VT_DWORD), $(ProductNumberOfChildren) },+ {PhysicalDriverType, $(NoTitle), $(!REG_VT_DWORD), $(ProductPhysicalDriverType) }+ } Set Arb1KeyParameters = $(hCnxTgr1ServicesSubKey) Shell $(UtilityInf), AddValueList, $(Arb1KeyParameters), $(NewArb1ValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" Debug-Output $(InfName)$(hCnxTgr1ServicesSubKey) Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Arbitrator 1 registry entries" GoTo FatalRegistry EndIf ;ToDo Add CnxTgP0 Subkey registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewPumpControllerValueList = {+ {AdslHeadEnd, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslHeadEnd) },+ {AdslHeadEndEnvironment, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslHeadEndEnvironment)},+ {AdslTelcoId, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslTelcoId)},+ {AdslOption1, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption1)},+ {AdslOption2, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption2)},+ {AdslOption3, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption3)},+ {AdslOption4, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption4)},+ {AdslOption5, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption5)},+ {AdslOption6, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption6)},+ {AdslOption7, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption7)},+ {AdslOption8, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption8)},+ {AdslOption9, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption9)},+ {AdslOption10, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption10)},+ {AdslOption11, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption11)},+ {AdslOption12, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption12)},+ {AdslOption13, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption13)},+ {AdslOption14, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption14)},+ {AdslOption15, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption15)},+ {AdslOption16, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption16)},+ {AdslOption17, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption17)},+ {AdslOption18, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption18)},+ {AdslOption19, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption19)},+ {AdslOption20, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption20)},+ {AutoSenseInitialTimeout, $(NoTitle), $(!REG_VT_DWORD), $(ProductAutoSenseInitialTimeout)},+ {AdslCRCIncrementFar, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslCRCIncrementFar)},+ {AdslCRCRetrainThresholdFar, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslCRCRetrainThresholdFar)},+ {AdslCRCThresholdFar, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslCRCThresholdFar)},+ {AdslCRCThresholdNear, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslCRCThresholdNear)},+ {AdslSESRetrainThresholdNear, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslSESRetrainThresholdNear)},+ {AdslSNRMarRetrainThresholdNear, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslSNRMarRetrainThresholdNear)},+ {AdslSNRMarThresholdNear, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslSNRMarThresholdNear)},+ {AutoSenseHandshakeMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductASHandshakeMode) },+ {AutoSenseWiringMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringMode) },+ {AutoSenseWiringSelection, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringSelection) },+ {AutoSenseWiringComboGPIO, $(NoTitle), $(!REG_VT_BIN), $(ProductASWiringComboGPIO) },+ {AutoSenseWiringRelayDelay, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringRelayDelay) },+ {AutoSenseWiringRelayEnergized, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringRelayEnergized)},+ {AutoSenseWiringOrder, $(NoTitle), $(!REG_VT_BIN), $(ProductASWiringOrder) },+ {FunctionIdentifier, $(NoTitle), $(!REG_VT_DWORD), $(ProductFunctionIdentifier3) },+ {HwDebugFlag, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwDebugFlag) },+ {PhysicalDriverType, $(NoTitle), $(!REG_VT_DWORD), $(ProductPhysicalDriverType) }+ } Set PumpControllerKeyParameters = $(hCnxTgpServicesSubKey) Shell $(UtilityInf), AddValueList, $(PumpControllerKeyParameters), $(NewPumpControllerValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add Data Pump Controller registry entries" GoTo FatalRegistry EndIf IfInt $(LED_RELAY_ENABLE) == $(LED_HW) ; LED Option Parameters Set LedRelayValueList = {+ {AutoSenseWiringNumCombos, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedASWiringNumCombos) },+ {LinkStatusLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedLinkStatusEnable) },+ {DataTrafficLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedDataTrafficEnable) }+ } Else ; Relay Option Parameters Set LedRelayValueList = {+ {AutoSenseWiringNumCombos, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayASWiringNumCombos)},+ {LinkStatusLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayLinkStatusEnable) },+ {DataTrafficLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayDataTrafficEnable)}+ } EndIf Set PumpControllerKeyParameters = $(hCnxTgpServicesSubKey) Shell $(UtilityInf), AddValueList, $(PumpControllerKeyParameters), $(LedRelayValueList) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add LED/Relay registry entries" GoTo FatalRegistry EndIf CloseRegKey $(hCnxTgsServicesKey) CloseRegKey $(hCnxTgr0ServicesSubKey) CloseRegKey $(hCnxTgr1ServicesSubKey) CloseRegKey $(hCnxTgrServicesKey) CloseRegKey $(hCnxTgpServicesSubKey) CloseRegKey $(hCnxTgpServicesKey) ; Add CnxTgN Software Component Debug-Output $(InfName)": AddSoftwareComponent CnxTgN." Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), + $(ProductSoftwareName), + $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), + $(ProductSoftwareImagePath), "kernelautostart", "NDIS", {}, "",+ $(NetEventDLL) Set OEM_ABANDON_SOFTWARE = TRUE IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error" GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) Set KeyProduct = $($R1) Set SoftNetRulesKey = $($R2) CloseRegKey $($R3) CloseRegKey $($R4) CloseRegKey $($R5) IfStr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output $(InfName)": Registry error: add software components" CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) GoTo FatalRegistry EndIf Debug-Output $(InfName)": 517 Set NewValueList" 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 $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output $(InfName)": Registry error: add value list." CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) GoTo FatalRegistry EndIf Debug-Output $(InfName)": 539 Set NewValueList" 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 $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) CloseRegKey $(KeyProduct) CloseRegKey $(SoftNetRulesKey) IfStr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output $(InfName)": Registry error: add value list." GoTo FatalRegistry EndIf EndIf Debug-Output $(InfName)": 982 AddHardwareComponent" Debug-Output $(InfName)$(ProductKeyName) Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName) IfInt $($R4) != -1 Debug-Output $(InfName)": 986 Set OEM_ABANDON_OPTIONS" Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4)) EndIf IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": Cannot add hardware component" GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output $(InfName)": Registry error: add hardware component" CloseRegKey $($R1) CloseRegKey $($R2) CloseRegKey $($R3) GoTo FatalRegistry EndIf Debug-Output $(InfName)": 580 Set NewValueList" 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 $(InfName)": ShellCode error" GoTo ShellCodeError EndIf CloseRegKey $($R1) Debug-Output $(InfName)": 597 Add Value List" 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 $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR EndWait Debug-Output $(InfName)": Resgitry error: add value list." CloseRegKey $(KeyParameters) CloseRegKey $(KeyAdapterRules) GoTo FatalRegistry EndIf CloseRegKey $(KeyAdapterRules) ;************************************************************************* ; ;************************************************************************* WriteParameters = + ;(THD) Debug-Output $(InfName)": 1046 Write Parameters" ;ToDo Add ADSL registry entries here ;********************************************************************************************************* ; REGISTRY VALUE NAME DATA TYPE DEFAULT VALUE ;********************************************************************************************************* Set NewValueList = {+ {AddressList, $(NoTitle), $(!REG_VT_SZ), $(ProductAddressList) },+ {AdslHeadEnd, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslHeadEnd) },+ {AdslHeadEndEnvironment, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslHeadEndEnvironment) },+ {AdslTelcoId, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslTelcoId) },+ {AdslOption1, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption1)},+ {AdslOption2, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption2)},+ {AdslOption3, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption3)},+ {AdslOption4, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption4)},+ {AdslOption5, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption5)},+ {AdslOption6, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption6)},+ {AdslOption7, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption7)},+ {AdslOption8, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption8)},+ {AdslOption9, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption9)},+ {AdslOption10, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption10)},+ {AdslOption11, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption11)},+ {AdslOption12, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption12)},+ {AdslOption13, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption13)},+ {AdslOption14, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption14)},+ {AdslOption15, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption15)},+ {AdslOption16, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption16)},+ {AdslOption17, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption17)},+ {AdslOption18, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption18)},+ {AdslOption19, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption19)},+ {AdslOption20, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdslOption20)},+ {AdvancedKeys, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedKeys) },+ {AdvancedMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedMode) },+ {AdvancedTabs, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedTabs) },+ {AdvancedTabsA, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedTabsA) },+ {AdvancedTabsC, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedTabsC) },+ {AdvancedTabsE, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedTabsE) },+ {AdvancedTabsP, $(NoTitle), $(!REG_VT_DWORD), $(ProductAdvancedTabsP) },+ {AutoSenseHandshakeMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductASHandshakeMode) },+ {AutoSenseWiringMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringMode) },+ {AutoSenseWiringSelection, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringSelection) },+ {AutoSenseWiringComboGPIO, $(NoTitle), $(!REG_VT_BIN), $(ProductASWiringComboGPIO) },+ {AutoSenseWiringRelayDelay, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringRelayDelay) },+ {AutoSenseWiringRelayEnergized, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringRelayEnergized)},+ {AutoSenseWiringOrder, $(NoTitle), $(!REG_VT_DWORD), $(ProductASWiringOrder) },+ {BoardName, $(NoTitle), $(!REG_VT_SZ), $(ProductHardwareTitle) },+ {DebugFlag, $(NoTitle), $(!REG_VT_DWORD), $(ProductDebugFlag) },+ {DeviceName, $(NoTitle), $(!REG_VT_SZ), $(ProductHardwareTitle) },+ {DisplayExtPhysLayerStats, $(NoTitle), $(!REG_VT_DWORD), $(ProductDisplayExtPhysLayerStats) },+ {DriverDesc, $(NoTitle), $(!REG_VT_SZ), $(ProductHardwareTitle) },+ {HwId, $(NoTitle), $(!REG_VT_DWORD), $(ProductHwIdDSL) },+ {MaxTransmit, $(NoTitle), $(!REG_VT_DWORD), $(ProductMaxTransmit) },+ {OAMFaultManagementControl, $(NoTitle), $(!REG_VT_SZ), $(ProductOAMFaultManagementControl) },+ {PciVendorId, $(NoTitle), $(!REG_VT_SZ), $(ProductPciVendorId) },+ {PciDeviceId, $(NoTitle), $(!REG_VT_SZ), $(ProductPciDeviceId) },+ {RFCEncapsulationMode, $(NoTitle), $(!REG_VT_DWORD), $(ProductEncapsulationMode) },+ {RxMaxFrameSize, $(NoTitle), $(!REG_VT_DWORD), $(ProductRxMaxFrameSize) },+ {RxBufAllocLimit, $(NoTitle), $(!REG_VT_DWORD), $(ProductRxBufAllocLimit) },+ {SoundKeyName, $(NoTitle), $(!REG_VT_SZ), $(ProductSoundKeyName) },+ {TxMaxFrameSize, $(NoTite), $(!REG_VT_DWORD), $(ProductTxMaxFrameSize) },+ {VcDisconnectDelay, $(NoTitle), $(!REG_VT_DWORD), $(ProductVcDisconnectDelay) },+ {VcList, $(NoTitle), $(!REG_VT_SZ), $(ProductVcList) },+ {VendorDescription, $(NoTitle), $(!REG_VT_SZ), $(ProductVendorDescription) },+ {VendorId, $(NoTitle), $(!REG_VT_SZ), $(ProductVendorId) },+ {VendorNearId, $(NoTitle), $(!REG_VT_SZ), $(ProductNearVendorId) },+ {WanAddress, $(NoTitle), $(!REG_VT_SZ), $(ProductWanAddress) }+ } Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList) Debug-Output $(InfName)" AddValueList" Debug-Output $(InfName)$(KeyParameters) IfInt $($ShellCode) != $(!SHELL_CODE_OK) CloseRegKey $(KeyParameters) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR CloseRegKey $(KeyParameters) Debug-Output $(InfName)": Registry error: Add value list" GoTo FatalRegistry EndIf IfStr(i) $(!STF_IDW) == TRUE Set AddCopy = NO Set DoCopy = NO Set DoConfig = NO Else Set AddCopy = YES Set DoCopy = YES Set DoConfig = YES EndIf IfInt $(LED_RELAY_ENABLE) == $(LED_HW) ; LED Option Parameters Set LedRelayValueList = {+ {AutoSenseWiringNumCombos, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedASWiringNumCombos) },+ {LinkStatusLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedLinkStatusEnable) },+ {DataTrafficLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductLedDataTrafficEnable) }+ } Else ; Relay Option Parameters Set LedRelayValueList = {+ {AutoSenseWiringNumCombos, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayASWiringNumCombos)},+ {LinkStatusLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayLinkStatusEnable) },+ {DataTrafficLedEnable, $(NoTitle), $(!REG_VT_DWORD), $(ProductRelayDataTrafficEnable)}+ } EndIf Shell $(UtilityInf), AddValueList, $(KeyParameters), $(LedRelayValueList) CloseRegKey $(KeyParameters) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error." GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR Debug-Output $(InfName)": Registry error: Add value list" Shell $(subroutineinf), SetupMessage $(!STF_LANGUAGE) WARNING + "Could not Add LED/Relay registry entries" GoTo FatalRegistry EndIf GoTo SuccessfulOption ;*********************************************************************** ; ;*********************************************************************** BindingAdapter =+ Set Error = "Binding: Sorry, not yet implemented." GoTo FatalError ;*********************************************************************** ; ;*********************************************************************** RemoveAdapter = + IfStr(i) $(ProductKeyName) == $(!NTN_RegBase) Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": 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 $(InfName)": ShellCode error" GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR GoTo FatalRegistry EndIf EndIf ; RemoveService Parameters ; SvcName = $($0) ; UseDelSvc = $($1) Debug-Output $(InfName)": RemoveService LibraryDriverName" Shell $(UtilityInf), RemoveService, $(LibraryDriverName), "YES" Debug-Output $(InfName)": RemoveService Arbitrator0DriverName" Shell $(UtilityInf), RemoveService, $(Arbitrator0DriverName), "YES" Debug-Output $(InfName)": RemoveService Arbitrator1DriverName" Shell $(UtilityInf), RemoveService, $(Arbitrator1DriverName), "YES" Debug-Output $(InfName)": RemoveService PumpControllerDriverName" Shell $(UtilityInf), RemoveService, $(PumpControllerDriverName), "YES" ; ; Delete the Company Product Software Key used by Applications ; OpenRegKey $(!REG_H_LOCAL) "" $(CompanySoftwareKey) $(!REG_KEY_SET_VALUE) hCompanyKey DeleteRegTree $(hCompanyKey) $(ProductSoftwareSubkey) CloseRegKey $(hCompanyKey) ; ; Delete the Run entry for the DSL Taskbar Application ; OpenRegKey $(!REG_H_LOCAL) "" $(MicrosoftRunKey) $(!REG_KEY_SET_VALUE) hRunKey Ifstr(i) $(hRunKey) == $(KeyNull) Debug-Output $(InfName)": Cannot open Microsoft Run Key" Endif DeleteRegValue $(hRunKey) "CnxDslTaskBar" Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) Debug-Output $(InfName)": Cannot delete Taskbar Application Run Value" Endif CloseRegKey $(hRunKey) ; AddFileToDeleteList ; ; WARNING!!! ; Do NOT use AddFileToDeleteList if you want to be able to reinstall without rebooting ; If you reinstall without rebooting, the files marked for deletion will still be deleted ; on the next reboot. AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgN.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgR.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgP.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgS.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgF.hex" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxAdslC.cpl" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxDslWz.dll" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxHwIo.dll" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxAdslL.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxDslTb.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxUnist.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\logo.bmp" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Media\CnxDown.wav" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Media\CnxUp.wav" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Help\CnxAdslH.chm" GoTo end ;*********************************************************************** ; ;*********************************************************************** UpgradeSoftware = + IfStr(i) $(ProductKeyName) == $(!NTN_RegBase) OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct IfStr $(KeyProduct) != $(KeyNull) GetRegValue $(KeyProduct),"MajorVersion", VersionInfo Set Version = *($(VersionInfo), 4) Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error" 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 $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)} SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)} IfInt $(Version) != $(ProductVersion) EndIf CloseRegKey $(KeyProduct) Else GoTo FatalRegistry EndIf Else OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) + $(MAXIMUM_ALLOWED) NetworkCardKey IfStr(i) $(NetworkCardKey) != $(KeyNull) GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo Set ServiceName = *($(ServiceNameInfo), 4) OpenRegKey $(NetworkCardKey) "" "NetRules" + $(MAXIMUM_ALLOWED) NetRuleKey IfStr(i) $(NetRuleKey) != $(KeyNull) Else GoTo FatalRegistry EndIf CloseRegKey $(NetRules) CloseRegKey $(NetworkCardKey) Else GoTo FatalRegistry EndIf OpenRegKey $(!REG_H_LOCAL) "" + $(!NTN_ServiceBase)"\"$(ServiceName) + $(MAXIMUM_ALLOWED) ServiceKey IfStr(i) $(ServiceKey) != $(KeyNull) CloseRegKey $(ServiceKey) Else GoTo FatalRegistry EndIf EndIf GoTo end ;*********************************************************************** ; ;*********************************************************************** SuccessfulOption = + GoTo end ;*********************************************************************** ; ;*********************************************************************** Abandon = + ForListDo $(OEM_ABANDON_OPTIONS) Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), + $(ProductSoftwareName), $($) IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error" GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR GoTo FatalRegistry EndIf EndForListDo IfStr(i) $(OEM_ABANDON_SOFTWARE) == TRUE Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + $(ProductSoftwareName), FALSE IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error" GoTo ShellCodeError EndIf Set RegistryErrorIndex = $($R0) IfStr(i) $(RegistryErrorIndex) != NO_ERROR GoTo FatalRegistry EndIf EndIf ; RemoveService Parameters ; SvcName = $($0) ; UseDelSvc = $($1) Debug-Output $(InfName)": RemoveService LibraryDriverName" Shell $(UtilityInf), RemoveService, $(LibraryDriverName), "YES" Debug-Output $(InfName)": RemoveService Arbitrator0DriverName" Shell $(UtilityInf), RemoveService, $(Arbitrator0DriverName), "YES" Debug-Output $(InfName)": RemoveService Arbitrator1DriverName" Shell $(UtilityInf), RemoveService, $(Arbitrator1DriverName), "YES" Debug-Output $(InfName)": RemoveService PumpControllerDriverName" Shell $(UtilityInf), RemoveService, $(PumpControllerDriverName), "YES" ; ; Delete the Company Product Software Key used by Applications ; OpenRegKey $(!REG_H_LOCAL) "" $(CompanySoftwareKey) $(!REG_KEY_SET_VALUE) hCompanyKey DeleteRegTree $(hCompanyKey) $(ProductSoftwareSubkey) CloseRegKey $(hCompanyKey) ; ; Delete the Run entry for the DSL Taskbar Application ; OpenRegKey $(!REG_H_LOCAL) "" $(MicrosoftRunKey) $(!REG_KEY_SET_VALUE) hRunKey Ifstr(i) $(hRunKey) == $(KeyNull) Debug-Output $(InfName)": Cannot open Microsoft Run Key" Endif DeleteRegValue $(hRunKey) "CnxDslTaskBar" Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS) Debug-Output $(InfName)": Cannot delete Taskbar Application Run Value" Endif CloseRegKey $(hRunKey) ; AddFileToDeleteList ; ; WARNING!!! ; Do NOT use AddFileToDeleteList if you want to be able to reinstall without rebooting ; If you reinstall without rebooting, the files marked for deletion will still be deleted ; on the next reboot. AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgN.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgR.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgP.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgS.sys" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\drivers\CnxTgF.hex" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxAdslC.cpl" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxDslWz.dll" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxHwIo.dll" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxAdslL.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxDslTb.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\CnxUnist.exe" AddFiletoDeleteList $(!STF_WINDOWSSYSPATH)"\logo.bmp" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Media\CnxDown.wav" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Media\CnxUp.wav" AddFiletoDeleteList $(!STF_WINDOWSPATH)"\Help\CnxAdslH.chm" GoTo end ;*********************************************************************** ; ;*********************************************************************** WarningMsg = + 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) EndIf GoTo end ;*********************************************************************** ; ;*********************************************************************** NonFatalInfo = + Set Severity = STATUS Set CommonStatus = STATUS_USERCANCEL 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) EndIf GoTo end ;*********************************************************************** ; ;*********************************************************************** FatalRegistry = + Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) IfInt $($ShellCode) != $(!SHELL_CODE_OK) GoTo ShellCodeError EndIf Set Error = $($R0) GoTo FatalError ;*********************************************************************** ; ;*********************************************************************** FatalDetect = + Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT IfInt $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output $(InfName)": ShellCode error: cannot get an error string." GoTo ShellCodeError EndIf Set Error = $($R0) GoTo FatalError ;*********************************************************************** ; ;*********************************************************************** FatalError = + IfStr(i) $(Error) == "" Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" IfInt $($ShellCode) != $(!SHELL_CODE_OK) GoTo ShellCodeError EndIf Set Error = $($R0) EndIf Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) IfInt $($ShellCode) != $(!SHELL_CODE_OK) GoTo ShellCodeError EndIf GoTo SetFailed ;*********************************************************************** ; ;*********************************************************************** ShellCodeError = + Set DlgType = "MessageBox" Set STF_MB_TITLE = $(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 IfStr(i) $(OEM_ABANDON_ON) == TRUE Set OEM_ABANDON_ON = FALSE GoTo Abandon EndIf GoTo end ;*********************************************************************** ; ;*********************************************************************** end = + Set !DebugOutputControl = $(OldDebugControl) Return $(CommonStatus) ;*********************************************************************** ; ;*********************************************************************** [HtCreateRegKey] Debug-Output $(InfName)": Entering [HtCreateRegKey]" Set ECR_Result = NO_ERROR Set ECR_BaseKeyHandle = $($0) Set ECR_NewPath = $($1) Set KeyNull = "" Set MAXIMUM_ALLOWED = 33554432 Debug-Output $(InfName)": HtCreateRegKey - ECR_BaseKeyHandle = "$(ECR_BaseKeyHandle) Debug-Output $(InfName)": ECR_NewPath = "$(ECR_NewPath) Debug-Output $(InfName)": MAXIMUM_ALLOWED = "$(MAXIMUM_ALLOWED) Debug-Output $(InfName)": KeyNull = "$(KeyNull) OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_NewPath) $(MAXIMUM_ALLOWED) + ECR_BaseKey Debug-Output $(InfName)": ECR_BaseKey = "$(ECR_BaseKey) Debug-Output $(InfName)": OpenRegKey returned "$($R0) IfStr $(ECR_BaseKey) == $(KeyNull) Debug-Output $(InfName)": ECR_BaseKey == KeyNull" Else Debug-Output $(InfName)": ECR_BaseKey != KeyNull" Set ECR_KeyHandle = $(ECR_BaseKey) GoTo ECR_Return EndIf Set ECR_TmpPath = "" Split-String $(ECR_NewPath) "\" ECR_PList Debug-Output $(InfName)": ECR_PList = "$(ECR_PList) ForListDo $(ECR_PList) IfStr(i) $($) != "\" IfInt $(#) == 1 Set ECR_TmpPath = $($) Else Set ECR_TmpPath = $(ECR_TmpPath)"\"$($) EndIf Debug-Output $(InfName)": Determining if "$(ECR_TmpPath)" exists" OpenRegKey $(ECR_BaseKeyHandle) "" $(ECR_TmpPath) $(MAXIMUM_ALLOWED) ECR_BaseKey IfStr $(ECR_BaseKey) == $(KeyNull) Debug-Output $(InfName)": Creating "$(ECR_TmpPath) CreateRegKey $(ECR_BaseKeyHandle) {$(ECR_TmpPath),0,GenericClass} "" $(MAXIMUM_ALLOWED) "" ECR_KeyHandle IfStr(i) $(ECR_KeyHandle) == $(KeyNull) Set ECR_Result = $($R0) GoTo ECR_Return EndIf EndIf EndIf EndForListDo ECR_Return = + Return $(ECR_Result) $(ECR_KeyHandle) ;*********************************************************************** ; ;*********************************************************************** [DebugConfiguration] Return ;*********************************************************************** ; ;*********************************************************************** [Install-Option] Set STF_VITAL = "" IfStr(i) $(AddCopy) == "YES" AddSectionFilesToCopyList Files-$(Option) $(SourceDirectory) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Cpl $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-DLL $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Exe $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Bmp $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Wav $(SourceDirectory) $(!STF_WINDOWSPATH)\Media AddSectionFilesToCopyList Files-Chm $(SourceDirectory) $(!STF_WINDOWSPATH)\Help EndIf IfStr(i) $(DoCopy) == "YES" Set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList EndIf Exit ;*********************************************************************** ; ;*********************************************************************** [Install-Update] Set STF_VITAL = "" Set STF_OVERWRITE = "VERIFYSOURCEOLDER" AddSectionFilesToCopyList Files-$(Option) $(SourceDirectory) $(!STF_WINDOWSSYSPATH)\drivers AddSectionFilesToCopyList Files-Inf $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Cpl $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-DLL $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Exe $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Bmp $(SourceDirectory) $(!STF_WINDOWSSYSPATH) AddSectionFilesToCopyList Files-Wav $(SourceDirectory) $(!STF_WINDOWSPATH)\Media AddSectionFilesToCopyList Files-Chm $(SourceDirectory) $(!STF_WINDOWSPATH)\Help Set !STF_NCPA_FLUSH_COPYLIST = TRUE CopyFilesInCopyList Exit ;*********************************************************************** ; ;*********************************************************************** [Source Media Descriptions] 1 = $(DiskName) , TAGFILE = DISK1 ;*********************************************************************** ; ;*********************************************************************** [ProductType] STF_PRODUCT = Winnt STF_PLATFORM = I386 ;ToDo Add files to be copied here. ; ;ARG1: An integer ID that identifies the distribution disk on which the ; source file is located. ;ARG2: Specifies the base file name and extension (must be 8.3 FAT format) ; of the source file ;ARG3: SIZE = size of file and is used to update progress indicator. ;*********************************************************************** ; ;*********************************************************************** [Files-Inf] 1, oemsetnt.inf, SIZE=68000, RENAME=$(!UG_Filename) ;*********************************************************************** ; ;*********************************************************************** [Files-Conexant_PCI_ADSL_LAN_Driver] 1, CnxTgN.sys, SIZE=128000 1, CnxTgP.sys, SIZE=501000 1, CnxTgR.sys, SIZE=59000 1, CnxTgS.sys, SIZE=8000 1, CnxTgf.hex, SIZE=42000 ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-Cpl] 1, CnxAdslC.CPL, SIZE=596000 ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-Exe] 1, CnxAdslL.exe, SIZE=180000 1, CnxDslTb.exe, SIZE=332000 1, CnxUnist.exe, SIZE=136000 ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-DLL] 1, CnxDslWz.dll, SIZE=292000 1, CnxHwIo.dll, SIZE=112000 ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-Wav] ; 1, CnxDown.wav, SIZE=79000 ; uncomment this line if using a custom down wave ; 1, CnxUp.wav, SIZE=79000 ; uncomment this line if using a custom up wave ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-Chm] ; 1, CnxAdslH.chm, SIZE=201000 ; uncomment this line if installing help ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [Files-Bmp] ; 1, logo.bmp, SIZE=1000 ; uncomment this line if using a custom logo ; WARNING!!! Be sure to update AddFiletoDeleteList entries when adding files ;*********************************************************************** ; ;*********************************************************************** [LanguagesSupported] ENG ;*********************************************************************** ; ;*********************************************************************** [OptionsTextENG] ; The second argument is what will show up in the "Select OEM Option" dialog ; box when installing new hardware. "MC8000P ADSL" = "MC8000P PCI ADSL LAN Adapter" ;*********************************************************************** ; ;*********************************************************************** [FileConstantsENG] ProCaption = "Windows NT Setup" ProCancel = "Cancel" ProCancelMsg = "Windows NT Networking is not correctly installed. "+ "Are you sure you want to cancel copying files?" ProCancelCap = "Network Setup Message" ProText1 = "Copying:" ProText2 = "To:" FunctionTitle = "MC8000P PCI ADSL LAN Adapter Card Setup" ProductSoftwareDescription = "MC8000P PCI ADSL LAN Adapter Driver" ; This description is displayed in the "Item Notes" field in the Adapters properties dialog box ProductHardwareDescription = "MC8000P PCI ADSL LAN Adapter Driver" ProductSoftwareTitle = "MC8000P PCI ADSL LAN Adapter Driver" ; This description is displayed in the "Network Adapters" field in the Adapters properties dialog box ProductHardwareTitle = "MC8000P PCI ADSL LAN Adapter" ShellCodeErrorTitle = "Error: "$(FunctionTitle)) ShellCodeErrorText = "Shell Code Error." NoHardwareFound = "The PCI ADSL adapter is not present in the system" ; Applications Display ShortProductName = "MC8000P ADSL" ProductName = "MC8000P PCI ADSL LAN Adapter" CompanyName = "" TaskbarAppTitle = "MC8000P ADSL" CustomerVersion = "" ; Shortcuts ShortcutFolderName = "MC8000P DSL" AutologShortcutDescription= "MC8000P DSL Autolog" ControlPanelAppletShortcutDescription = "MC8000P Control Panel" HelpShortcutDescription = "MC8000P Help" TaskBarAppShortcutDescription = "MC8000P Task Bar" UninstallShortcutDescription = "Uninstall MC8000P DSL" ;*********************************************************************** ; ;*********************************************************************** [DialogConstantsENG] Help = "&Help" Exit = "Cancel" OK = "OK" HelpContext = "" Continue = "Continue" Cancel = "Cancel" ;*********************************************************************** ; ;***********************************************************************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.