'// *************************************************************************************
'//
'// Copyright (c) 2002 Broadcom Corporation.
'//
'// File: BASFRCfg.vbs
'//
'// Description:
'// BASFRCfg.vbs is a windows script that allows users to configure ASF on
'// Broadcom adapter remotely. It requires Windows WMI and Broadcom CIM
'// provider.
'//
'// Usage:
'// cscript.exe BASFRCfg.vbs [options]
'//
'// [-enableasf:true|false] - Enable/disable ASF
'// [-h:] - Display this help
'// [-hbintvl:<interval>] - Set heart beat interval between
'// 0 and 600 in second
'// [-mgmtip:<mgmtip>] - Set IP address of management console
'// [-user:<username> [-password:<password>]] - Username and password
'// [-petintvl:<interval>] - Set PET retransmit interval between
'// 1 and 29 in second
'// [-pollintvl:<interval>] - Set legacy device poll interval between
'// 0 and 255 in second
'// [-servername:<name>] - System name that you are going to connect
'// [-sethb:true|false] - Enable/disable heart beat
'// [-setrmcp:true|false] - Enable/disable RMCP
'// [-setwol:true|false] - Enable/disable ASF WoL on ARP/RMCP
'// [-snmpcom:<name>] - Set SNMP community name. The SNMP name
'// length limits to 19 characters.
'//
'// Programmer:
'// Daniel Tran
'//
'// Version History:
'// 3.02 - Supports SNMP community name up to 19 characters (08/23/02)
'// 3.01 - Fixed username and password issues (08/22/02)
'// 3.00 - Supports SNMP community name (08/21/02)
'// 1.01 - First release (07/19/02)
'//
'// *************************************************************************************
Option Explicit
Dim strNameSpace
Dim strClassName
Dim strAdapterInstanceName
Dim objInstance
Dim ObjServices
Dim ObjLocator
Dim method
Dim inParam
Dim outParam
Dim strServerName
Dim strUserName
Dim strPassword
Dim strSNMPCom
Dim intPropEnableASFValue
Dim strPropDestinationIPValue
Dim intPropPetIntervalValue
Dim intPropPollIntervalValue
Dim intPropHBEnableValue
Dim intPropHBIntervalValue
Dim intPropRMCPEnableValue
Dim intPropWoLEnableValue
If (LCase(Right(WScript.FullName, 11)) = "wscript.exe" ) Then
Call Usage()
WScript.Quit
End If
If (WScript.Arguments.Count = 0) Then
Call Usage()
WScript.Quit
End If
strNameSpace = "root/cimv2"
strClassName = "BRCM_ASFOOBAlertService"
strAdapterInstanceName = "[0008] Broadcom NetXtreme Gigabit Ethernet #5"
strServerName = "localhost"
Dim i
for i = 0 to WScript.Arguments.Count-1
if Left(LCase(WScript.Arguments(i)), 11) = "-enableasf:" then
if LCase(Mid(WScript.Arguments(i), 12)) = "true" then
intPropEnableASFValue = 1
elseif LCase(Mid(WScript.Arguments(i), 12)) = "false" then
intPropEnableASFValue = 0
else
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 6) = "-user:" then
strUserName = Mid(WScript.Arguments(i), 7)
elseif Left(LCase(WScript.Arguments(i)), 10) = "-password:" then
if (strUserName <> "") then
strPassword = Mid(WScript.Arguments(i), 11)
else
Call Usage()
WScript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 12) = "-servername:" then
strServerName = Mid(WScript.Arguments(i), 13)
elseif Left(LCase(WScript.Arguments(i)), 7) = "-sethb:" then
if LCase(Mid(WScript.Arguments(i), 8)) = "true" then
intPropHBEnableValue = 1
elseif LCase(Mid(WScript.Arguments(i), 8)) = "false" then
intPropHBEnableValue = 0
else
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 9) = "-hbintvl:" then
intPropHBIntervalValue = Mid(WScript.Arguments(i), 10)
if (intPropHBIntervalValue < 0) or (intPropHBIntervalValue > 600) then
WScript.Echo "Heartbeat interval value is out of range."
WScript.Echo VBCRLF
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 8) = "-mgmtip:" then
strPropDestinationIPValue = Mid(WScript.Arguments(i), 9)
elseif Left(LCase(WScript.Arguments(i)), 10) = "-petintvl:" then
intPropPetIntervalValue = Mid(WScript.Arguments(i), 11)
if (intPropPetIntervalValue < 1) or (intPropPetIntervalValue > 29) then
WScript.Echo "PET interval value is out of range."
WScript.Echo VBCRLF
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 11) = "-pollintvl:" then
intPropPollIntervalValue = Mid(WScript.Arguments(i), 12)
if (intPropPollIntervalValue < 0) or (intPropPollIntervalValue > 255) then
WScript.Echo "Poll interval value is out of range."
WScript.Echo VBCRLF
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 9) = "-setrmcp:" then
if LCase(Mid(WScript.Arguments(i), 10)) = "true" then
intPropRMCPEnableValue = 1
elseif LCase(Mid(WScript.Arguments(i), 10)) = "false" then
intPropRMCPEnableValue = 0
else
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 8) = "-setwol:" then
if LCase(Mid(WScript.Arguments(i), 9)) = "true" then
intPropWoLEnableValue = 1
elseif LCase(Mid(WScript.Arguments(i), 9)) = "false" then
intPropWoLEnableValue = 0
else
Call Usage()
Wscript.Quit
end if
elseif Left(LCase(WScript.Arguments(i)), 9) = "-snmpcom:" then
strSNMPCom = Mid(WScript.Arguments(i), 10)
if (Len(strSNMPCom) > 19) then
WScript.Echo "SNMP community name is out of range."
Call Usage()
Wscript.Quit
end if
strSNMPCom = strSNMPCom & Null
else
Call Usage()
Wscript.Quit
end if
next
Set ObjLocator = CreateObject("Wbemscripting.SWbemLocator")
Set ObjServices = ObjLocator.ConnectServer( strServerName, strNameSpace, strUserName, strPassword)
If (IsObject(ObjServices) = FALSE) Then
WScript.Echo Err.Description
WScript.Quit
End If
ObjServices.Security_.ImpersonationLevel = 3 'impersonate
ObjServices.Security_.AuthenticationLevel = 4 'connect
Set objInstance = ObjServices.Get(strClassName & ".Name=" & Chr(34) & strAdapterInstanceName & Chr(34))
If (IsObject(ObjInstance) = FALSE) Then
WScript.Echo Err.Description
WScript.Quit
End If
if intPropEnableASFValue <> "" then
if intPropEnableASFValue = 1 then
Set method = objInstance.Methods_("EnableASF")
Set inParam = method.InParameters.SpawnInstance_()
Set outParam = objInstance.ExecMethod_("EnableASF", inParam)
If (outParam.ReturnValue <> 0) Then
Select Case outParam.ReturnValue
Case 2
WScript.Echo "Enable ASF."
WScript.Quit
Case 3
WScript.Echo "Other software is accessing the adapter. Try again later."
WScript.Quit
Case 4
WScript.Echo "System does not support ASF."
WScript.Quit
Case 5
WScript.Echo "ASF can not be started because ASF had enabled on other adapter."
WScript.Quit
Case 6
WScript.Echo "ASF failed to start."
WScript.Quit
End Select
End If
end if
if intPropEnableASFValue = 0 then
objInstance.ExecMethod_("StopService")
WScript.Echo "Disable ASF" & VBCRLF
If Err.Number <> 0 Then
WScript.Echo "Setting ASF failed."
WScript.Echo Err.Description
WScript.Quit
Else
WScript.Echo "Current ASF setting of " & strAdapterInstanceName & ":" & VBCRLF
WScript.Echo " ASF is disabled"
WScript.Quit
End If
end if
end if
if intPropHBEnableValue <> "" then
if intPropHBEnableValue = 1 then
objInstance.EnableHeartBeat = "true"
WScript.Echo "Enable Heartbeat"
end if
if intPropHBEnableValue = 0 then
objInstance.EnableHeartBeat = "false"
WScript.Echo "Disable Heartbeat"
end if
end if
if intPropHBIntervalValue <> "" then
objInstance.HeartBeatTimeValue = intPropHBIntervalValue
WScript.Echo "Set Heartbeat interval to " & intPropHBIntervalValue
end if
if strPropDestinationIPValue <> "" then
objInstance.DestinationAddress = strPropDestinationIPValue
WScript.Echo "Set Management IP to " & strPropDestinationIPValue
end if
if intPropPetIntervalValue <> "" then
objInstance.RetryInterval = intPropPetIntervalValue
WScript.Echo "Set PET interval to " & intPropPetIntervalValue
end if
if intPropPollIntervalValue <> "" then
objInstance.LegacyPollTimeValue = intPropPollIntervalValue
WScript.Echo "Set Poll interval to " & intPropPollIntervalValue
end if
if intPropRMCPEnableValue <> "" then
if intPropRMCPEnableValue = 1 then
objInstance.EnableRMCP = "true"
WScript.Echo "Enable RMCP"
end if
if intPropRMCPEnableValue = 0 then
objInstance.EnableRMCP = "false"
WScript.Echo "Disable RMCP"
end if
end if
if strSNMPCom <> "" then
objInstance.SNMPCommunityName = strSNMPCom
WScript.Echo "Set SNMP community name: " & strSNMPCom
end if
if intPropWoLEnableValue <> "" then
if intPropWoLEnableValue = 1 then
objInstance.EnableASFWoL = "true"
WScript.Echo "Enable WoL"
end if
if intPropWoLEnableValue = 0 then
objInstance.EnableASFWoL = "false"
WScript.Echo "Disable WoL"
end if
end if
objInstance.Put_
If Err.Number <> 0 Then
WScript.Echo VBCRLF
WScript.Echo "Setting ASF failed."
WScript.Echo Err.Description
WScript.Quit
Else
Call GetASF()
End If
Sub GetASF()
WScript.Echo VBCRLF
If objInstance.Started = true Then
WScript.Echo "Current ASF setting of " & strAdapterInstanceName & ":" & VBCRLF
WScript.Echo " ASF Enabled: " & objInstance.Started
WScript.Echo " ASF Heartbeat Enabled: " & objInstance.EnableHeartBeat
WScript.Echo " ASF Heartbeat Interval: " & objInstance.HeartBeatTimeValue
WScript.Echo " ASF Mangement Console IP: " & objInstance.DestinationAddress
WScript.Echo " ASF PET Interval: " & objInstance.RetryInterval
WScript.Echo " ASF Poll Interval: " & objInstance.LegacyPollTimeValue
WScript.Echo " ASF RMCP Enabled: " & objInstance.EnableRMCP
WScript.Echo " ASF SNMP Community Name: " & objInstance.SNMPCommunityName
WScript.Echo " ASF WoL Enabled: " & objInstance.EnableASFWoL
End If
If Err.Number <> 0 Then
WScript.Echo "Setting ASF failed."
End If
End Sub
Sub Usage()
Dim strMessage
strMessage = "cscript.exe BASFRCfg.vbs [options]" & VBCRLF & VBCRLF & _
" [-enableasf:true|false] - Enable/disable ASF" & VBCRLF & _
" [-h:] - Display this help" & VBCRLF & _
" [-hbintvl:<interval>] - Set heart beat interval between" & VBCRLF & _
" 0 and 600 in second" & VBCRLF & _
" [-mgmtip:<mgmtip>] - Set IP address of management console" & VBCRLF & _
" [-user:<username> [-password:<password>]] - Username and password" & VBCRLF & _
" [-petintvl:<interval>] - Set PET retransmit interval between" & VBCRLF & _
" 1 and 29 in second" & VBCRLF & _
" [-pollintvl:<interval>] - Set legacy device poll interval between" & VBCRLF & _
" 0 and 255 in second" & VBCRLF & _
" [-servername:<name>] - System name that you are going to connect" & VBCRLF & _
" [-sethb:true|false] - Enable/disable heart beat" & VBCRLF & _
" [-setrmcp:true|false] - Enable/disable RMCP" & VBCRLF & _
" [-setwol:true|false] - Enable/disable ASF WoL on ARP/RMCP" & VBCRLF & _
" [-snmpcom:<name>] - Set SNMP community name. The SNMP name" & VBCRLF & _
" length limits to 19 characters."
WScript.Echo strMessage
End Sub
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.