Release Notes
=============
Broadcom Management Firmware
Copyright (c) 2008 Broadcom Corporation
All rights reserved.
------------------------------
Version 1.00.0 - June 28, 2008
------------------------------
Fixes:
======
1. Problem (CQ 36020 and CQ 36070):
Various b57diag operations (e.g. "nictest") would cause the management
firmware to not transmit or receive management packets. A system full
A/C power cycle was required to recover the management capability.
Cause:
b57diag uses the APE shared memory to gracefully halt the APE, but does
not deposit a valid "driver state" value. The APE firmware inspects
this area of the shared memory during initialization to determine if the
driver (and thus, the host OS) is running. If the "driver state" value
was invalid, the OS was assumed to be running in which case the firmware
does not transmit or receive DHCP or ICMP packets.
Change:
Assume the OS is absent when an invalid "driver state" is found in the
APE shared memory during initialization.
2. Problem (CQ 36074):
CIM_ComputerSystem.Dedicated value indicates Desktop (32) instead of
Laptop (33) on mobile systems.
Cause:
Erroneous mapping of SMBIOS structure information to CIM property value.
Change:
Fixed the mapping.
3. Problem (CQ 36080):
CIM_RoleBasedAuthorizationService.ModifyRole() method fails with return
value of 2 when attempting to modify role with many privileges.
Cause:
XML Namespace parsing did not reuse previously allocated strings causing
an out of memory condition.
Change:
Optimized XML namespace parsing to allow multiple duplicate namespace
declarations using significantly less memory.
4. Problem:
ICMPv6 (neighbor discovery) packets were transmitted by the firmware
even when IPv6 was disabled in the configuration.
Cause:
IPv6 was always enabled for the network device during firmware
initialization.
Change:
Only enable IPv6 in the device initialization when IPv6 is enabled in
the management firmware configuration.
Impact:
Changing the IPv6 enable/disable state now causes the firmware to
self-reset (gracefully).
5. Problem:
Malformed (invalid base64-encoded) WS-Management requests could cause
firmware crash.
Cause:
Lack of base64 decoding failure checking.
Change:
Check that the base64 decode is successful before using the result.
6. Problem:
ASF SMBus boot options requests stopped working as of v0.97.0.
Cause:
Excessive processing in the SMBus interrupt handler to support
WS-Eventing boot progress event subscriptions.
Change:
Optimized handling of SMBus boot options requests.
7. Problem:
PLDM over shared memory would stop working after APE reset.
Cause:
"BIOS POST complete" state flag value was not maintained across APE
resets.
Change:
Store this state flag in the APE shared memory.
8. Problem:
When using SMBus ARP, SMBus communications would stop working after
APE reset.
Cause:
ARP-assigned SMBus addresses were not maintained across APE resets.
Change:
Store SMBus ARP state (including assigned addresses) in APE shared
memory.
9. Problem:
Various CIM Association Instances existed with invalid endpoints.
Change:
Validate endpoints before creating association instances.
10. Problem:
Incomplete OMData write when writing beyond an NVRAM page boundary.
Cause:
Unhandled boundary condition.
Change:
Fixed.
11. Problem:
Invalid XML DateTime and Duration representation in WS-Management
responses.
Cause:
Invalid XML generation.
Change:
Add the appropriate XML child tag.
12. Problem:
Various CIM class instances would exist when unsupported by the system
or the configuration.
Cause:
Instantiating classes without first validating support.
Change:
Validate support for classes before instantiating them.
13. Problem:
When the firmware was halted by b57diag (e.g. during tests, NVRAM
programming, or with the "apectl -h" command), the GRC Reset mutex was
left locked by the firmware until reset.
Cause:
The GRC Reset mutex was locked before checking for the shared memory
halt request signature during initialization.
Change:
Lock the GRC Reset mutex after the checking of the shared memory for
the halt request signature during firmware initialization.
14. Problem:
Boot progress events WS-Eventing subscriptions did not function.
Cause:
ASF boot options SMBus responses contained incorrect IANA enterprise
number when subscriptions for boot progress events existed.
Change:
Fixed the encoding of the ASF IANA enterprise number.
15. Problem:
Watchdog 2 PET Alerts would be transmitted by the firmware even though
the watchdog timer had been stopped by the system (e.g. BIOS).
Cause:
The watchdog timer was never stopped.
Change:
Stop the watchdog timer when the ASF "Stop Watchdog" SMBus message
is received by the MC (e.g. from the BIOS).
16. Problem:
Received Telnet CR/NUL sequence in Telnet Server did not translate to
carriage return (ASCII 13).
Cause:
The NUL character was not stripped.
Change:
Translate a received CR/NUL sequence to ASCII 13 in the Telnet server.
17. Problem:
Dynamic enabling/disabling of SSH Text Console Redirection SAP would
cause the Telnet port to not accept incoming connections.
Cause:
Receive filter management.
Change:
Fixed the management of the SSH and Telnet receive filters.
18. Problem:
Modifying CIM Boolean property values did not work.
Cause:
Incorrect value parsing.
Change:
Fixed CIM Boolean value parsing.
Enhancements:
=============
1. WS-Eventing Filter Collections now allow subscriptions to all possible
combinations of event classes.
2. Consistent and unique CIM InstanceID, DeviceID, and Tag property values.
3. CIM Alert Indications: Added support for generic event type mapping.
------------------------------
Version 0.99.0 - June 20, 2008
------------------------------
Fixes:
======
1. Problem (CQ 35977):
Unable to view instance of BRCM_OOBManagementService using DashMgmtCon.
Cause:
BRCM_OOBManagementService UpTime and CurrentTime properties are CIM
DateTime properties and the firmware did not support converting DateTime
values to strings.
Change:
Implement DateTime to string conversion in firmware.
2. Problem (CQ 35933):
Execution of CIM_AccountManagementService.CreateAccount() method will
crash firmware if INPUT Account Template contains no key values.
Cause:
NULL pointer passed to create function of AccountTemplate has no
properties.
Change:
Added handing for AccountTemplate instance with no properties.
3. Problem (CQ 35965):
Unable to read Opaque Management Data instance data larger than 6 bytes.
Cause:
Not enough memory was allocated to hold the read OMD data back out.
Change:
Fix limit on size of output parameter in WS-Man/SOAP server.
4. Problem (CQ 35884):
Intermittently sends out 3 consecutive WS-Man heartbeat events.
Cause:
Similar symptoms found when the event pipe contains heartbeats from a
previous subscription. Can only be reproduced by doing a manual
unsubscribe then resubscribing after the heartbeat interval but before
the connect/retry timeout.
Change:
Timing sensitive problem with stale heartbeat indications fixed.
5. Problem (CQ 34883):
No host or mgmt traffic when Linux tg3 driver is loaded.
Cause:
Link down and link up event happen, firmware was reading wrong link
up/down value from MII register, which causes device flag to stay down.
Change:
Read CPMU status register in firmware to determine current link up/down
status.
6. Problem:
Linear slow down in TCP session handling for every TCP socket created.
Cause:
TCP/IP stack select() implementation bug.
Change:
Use poll() implementation instead.
Enhancements:
=============
1. OpaqueManagementDataService:
Changed the CIM_OMDService class to allow non-Admin user to execute the
OMDRead, Write, etc. This will allow the testing of
CIM_OpaqueManagementDataService.SetAssocatedPrivilege() method properly.
2. BRCM_OOBManagementService:
a. Make DHCPEnabled property read only in BRCM_OOBManagementIPv4Setting
and BRCM_OOBManagementIPv6Setting classes
b. define all services that are dependent upon the
BRCM_OOBMANAGEMENTSERVICE class in the CIM_ServiceServiceDependency
association class.
c. Updated CIM_RegisteredProfile class to reflect the Broadcom OOB
Management Service Profile.
d. Changed BRCM_OOBManagementSecureRMCPSetting Key properties to
uint_8[] OctetStrings.
------------------------------
Version 0.98.0 - June 13, 2008
------------------------------
Fixes:
======
1. Problem (CQ 35765):
With account encryption enabled, modifying an account property caused
all the properties of the account to revert back to default values.
Problem (CQ 35768):
With account encryption enabled, CIM_AccountManagementService
.CreateAccount() would cause a loss of management connection.
Cause:
Account records were being inadvertently changed to un-encrypted records
whenever modified.
Change:
No longer change record attributes when saving account record changes.
2. Problem (CQ 35784):
CIM_TCPProtocolEndpoint instances to not have a unique key value.
Cause:
Name property was not unique.
Change:
Fix generation of Name property.
3. Problem (CQ 35876):
Missing CIM_AssociatedSensor class.
Cause:
Not implemented.
Change:
Added implementation of CIM_AssociatedSensor class.
4. Problem:
The emulator crashes when an associators/associatorNames without any
filtering for the following object path.
http://localhost:623/BRCM/implementation:CIM_ComputerSystem
.CreationClassName="CIM_ComputerSystem",Name="192.168.0.2"
Cause:
Infinitely growing enumeration context.
Change:
Validate enumeration context against the pull selector set.
5. Problem:
CIM_RegisteredProfile.InstanceID values should not use CIM as a prefix.
Per the MOF description of InstanceID, the prefix should be "Broadcom"
or some other copyright value.
Change:
Do not prefix InstanceIDs with CIM: unless the instance is defined in a
MOF from the DMTF
6. Problem:
CIM_RegisteredProfile.AdvertiseTypes/AdvertiseTypeDescriptions was not
meant for scoping algo. It is meant for protocol level discovery.
Change:
Set CIM_RegisteredProfile.AdvertiseTypes to 2 and no longer set a
value for AdvertiseTypeDescriptions.
7. For the ManagedElement property, added service class instance for
Opaque Management Data and OOB Management Service profiles.
8. Added HostedService association to the BRCM_OOBManagementService class.
9. Problem:
APE "GRC Reset" mutex locking errors in b57diag.
Change:
GRC Reset Mutex is released while generating self-signed SSL certificate
and private key.
Enhancements:
=============
1. Added BRCM_OOBManagementServiceCapabilities class.
2. Added reloading of PLDM BIOS and SMBIOS meta records when there are any
changes to the DASH config file.
3. Added missing properties to BRCM_OOBManagementService.
4. Added CIM_AssociatedCooling class.
-----------------------------
Version 0.97.0 - June 6, 2008
-----------------------------
Fixes:
======
1. Problem: (CQ 35270)
There is an instance of CIM_RunningOS even when the host OS (e.g.
Windows) is not running.
Cause:
Management firmware was erroneously basing the OS Enabled status
on the ASF System State being S0 rather than network controller driver
presence.
Change:
The CIM_RunningOS instance will only exist when the host OS (e.g.
Windows) driver is present and has communicated its status to the
management firmware.
2. Problem: (CQ 35334)
CIM_ComputerSystem.RequestStateChange method invocation with
RequestedState parameter set to 2 (power-up), returns 2 (failure) on
some platforms.
Cause:
ASF SMBus message sent to the remote control device after a
GPIO/LOMAlert initiated power-up was being NAK'd.
Change:
If VMain is restored within one second after the GPIO/LOMAlert assertion
event, do not send the ASF SMBus message to the remote control device
servicing the power-up function advertised in the system's ASF_RCTL
table.
3. Problem: (CQ 35444)
Text console redirection sessions using the SSH protocol would drop.
Cause:
When characters were received very quickly by the network controller's
UART, SSH would fail due to a short socket send() result.
Change:
The send() function used by SSH will now retry the send when a short
send or EWOULDBLOCK is detected.
4. Problem (CQ 35476)
Changing Text console redirection CIM_TCPProtocolEndpoint.PortNumber
property value set incorrect value.
5. Problem (CQ 35530)
Invocation of CIM_RoleBasedAuthorizationService.ShowRoles() method
returns 2 when INPUT.subject = NULL.
6. Problem (CQ 35633)
Continue to receive WS-Eventing heartbeats after deletion of listener
destination.
7. Problem (CQ 35751)
Unable to authenticate after encrypting account records.
8. Problem (CQ 35752)
Microsoft DHCP server allocating 2 IP addresses for the same system when
DHCPv4 is enabled in the Windows network stack and in the management
firmware.
Cause:
Management firmware was using an RFC4361-based "client-identifier" DHCP
option value while Windows was using an RFC2131-based value. This caused
the Microsoft DHCP server to consider the different DHCP clients as
different systems and assign them each a separate IP address lease.
Change:
Management firmware now uses the RFC2131-based "client-identifier" DHCP
option value.
Enhancements:
=============
1. Sensors CIM Profile support on platforms that support PLDM Sensors
(Monitor & Control) and Broadcom-defined SMBIOS extensions.
2. Opaque Management Data CIM Profile support.
3. PET destination address may be IPv6 address or hostname.
4. Additional support for Broadcom OOB Management Service CIM Profile.
5. Support for HTTP basic authentication during WS-Eventing Push delivery.
6. 2x CIM Enumeration performance improvement.
-----------------------------
Version 0.96.0 - May 15, 2008
-----------------------------
Fixes:
======
1. Problem: (CQ 35090)
System does not power up when
CIM_ComputerSystem.RequestStateChange(RequestedState=11) is invoked
as required by DSP1058
Cause:
ASF_RCTL entries are used for power control. The ASF spec does not
define the actions of power reset when in S4 or S5 states, and on
some platforms the system does not power up.
Change:
When the system is in S4, S5, or Legacy Off states, issue a power
up command rather than a power reset command.
Impact:
Fixed behavior of CIM_ComputerSystem.RequestStateChange() for all
platforms.
2. Problem: (CQ 35335 and 35238)
CIM_ComputerSystem.RequestStateChange(RequestedState=3) returns
incorrectly formatted message
Cause:
A flaw in the TCP stack implementation could cause the same data to
be sent multiple times if link is lost while in the send() call
Change:
Fix TCP stack to prevent duplicate sends.
Impact:
Connections can now persist across link state and routing table
changes.
3. Problem: (CQ 34884, 34950 and 35072)
APE can hang under specific circumstances.
Cause:
Contention accessing GRC registers while the GRC is being reset by
another entity (e.g. diag or driver) or external event (e.g. power-state
transition).
Change:
Mutex-protect the GRC registers/reset.
Impact:
Requires NDIS6 v10.96 or NDIS5 v10.83 and b57diag v11.06.16 or later.
4. Various BIOS Management and Boot Control CIM Profile fixes.
Enhancements:
=============
1. IPv6 supported using static IP address and stateless auto-configuration
with link local address. OS network stack IPv6 configuration propagation
(e.g. with bmcc or BrcmMgmtAgent) not yet supported.
2. Hostnames supported in WS-Event subscription "NotifyTo" address.
3. Text Console Redirection CIM Profile support.
4. SSH protocol for console redirection support.
5. Dynamic configuration changes supported (without resetting APE).
6. Offline web data support (in APE_WEB_DATA NVRAM directory entry), so
large (e.g. > 32K) web data is now supported. Requires b57diag v11.06.16
or later to import the BMCFG_RECORD_WEBDATA record from a dashfw.cfg
file into the APE_WEB_DATA NVRAM directory entry using the "mancfg -i"
command. Use the "bmcc web" command to import web file(s) into a
dashfw.cfg file. The dashfw.exe firmware emulator may be used to
test/view the web data embedded in the dashfw.cfg file.
7. The System Memory CIM_Memory.ConsumableBlocks value is now derived from
what Windows reports when "bmcc sync" or BrcmMgmtAgent is executed.
-------------------------------
Version 0.95.0 - April 16, 2008
-------------------------------
Fixes:
======
1. Problem:
Telnet Server (for Text Console Re-direction) does not function.
2. Problem: (CQ 33985)
Loss of management traffic connection after NDIS driver is disabled.
3. Problems with SMBus ARP fixed. Including Get UDID return 0s.
4. CIM_BIOSPassword will return values for properties CurrentValue
and PendingValue if it exist. Before was always returning empty array.
5. Problems with Boot Control Profile implementation fixed.
6. Only advertise BIOS Management Profile if there is a CIM_BIOSAttribute
instance.
7. Problem:
Console side recv() processing delay.
Cause:
Due to the design of the TCP stack, the TCP PUSH flag was sometimes not
set for the last packet in a response. This caused the console side to
begin a timeout waiting for a packet with the PUSH flag set.
Change:
Ensure PUSH flag is set for the last packet of the response.
Impact:
Fixes console side recv() delay
8. Problem:
Console side transmit delay.
Cause:
The firmware was using the RFC recommended 200ms ACK timeout for delayed
ACK. At the same time, the console left Nagle's Algorithm enabled on the
socket. Further, the request contained more than MSS bytes. Because of
Nagle, the console was waiting for the ACK from the previous packet
before sending the next packet. The firmware was waiting for 200ms for
data to be sent to the console (TCP Delayed ACK enabled). This caused a
needless 200ms delay before the last packet of a request was sent from
the console.
Change:
Lower Delayed ACK timeout to 2ms.
Impact
Fixes console side transmit delay.
9. Problem:
CIM_ConcreteComponent EPRs missing most of the key values
Cause:
CIM_ConcreteComponent internal MOF representation did not contain the
correct key qualifiers for the class
Change:
Set key qualifiers correctly
Impact:
CIM_ConcreteComponent EPRs now correct
10. Problem:
AssociatedInstance queries can not cross namespace boundaries. This
results in a broken object model.
Cause:
The DMTF preliminary DSP0227 specification restricts all classes URI
results to a single namespace. This has the effect of constraining
AssociatedInstances query results which MUST be targeted to the all
classes URI. As a result, it is not possible to use this method to
traverse cross namespace associations.
Change:
Assuming that this will be fixed in DSP0227, we now constrain only the
Object parameter to the specified namespace, not the results.
Impact:
AssociatedInstance queries now behave differently than previously and
do not follow the current DSP0227 requirements.
Enhancements:
=============
1. Firmware files (dash*.bin) are now digitally-signed (public key
available) and use an IEEE standard CRC-32 for the file checksum
value.
Impact:
You must use b57diag v11.06 (04/16/08) or later to program the
firmware into the device's NVRAM (i.e. with the "seprg -a" command) or
you will get an "invalid CRC" error and may not upgrade the firmware.
2. Wait for Interrupt (WFI) power-saving feature can now be disabled
persistently (e.g. using b57diag "mancfg->advanced" menu).
-------------------------------
Version 0.94.0 - March 26, 2008
-------------------------------
Fixes:
======
1. CQ 34390
ASF2.0 secure connection after 10 seconds, all management traffic stops.
2. CQ 33983
With DHCP enabled, discovery methods and heartbeat PETs do not work.
3. CQ 33908
Management traffic does not resume after "bmcc enable".
4. ASF "Set System State" SMBus message from BIOS did not work.
5. "bmcc sync" caused firmware hang.
6. Problems parsing association key values in header fixed.
7. Problems handing Unsubscribe and Renew requests fixed.
8. If an XML tag used a new XML namespace prefix and defined
a default XML namespace, the tag was parsed using the new default
namespace instead of the one specified by the prefix.
9. EnumerationContext was incorrectly returned in a PullResponse when
the EndOfSequence marker was present.
Enhancements:
=============
1. Added OS Status CIM Profile support.
2. Added CIM_OOBAlertService instance.
3. Added CIM_EthernetPort instance.
4. Support for PLDM BIOS over MCTP/SMBus based on PLDM for BIOS spec v0.5.0
(2/4/2008). Does not include support for MC/BIOS authentication.
5. Support for SMBus ARP.
6. Initial support for PLDM SMBIOS over shared memory based on PLDM for
SMBIOS Specification version 0.5.0 (2/1/2008).
7. Support for Boot Control Profile.
You can use CIM_BootConfigSetting.ChangeBootOrder() and
CIM_ElementSettingData.ModifyInstance() on the IsNext property to change
the boot order.
All changes are pending until system reset.
8. Support for BIOS Control Profile.
You can use CIM_BIOSService.SetBIOSAttribute() to change BIOS attributes.
All changes are pending until system is reset.
9. Returned EPRs now always include a namespace.
10. Default (implementation) namespace is now named instead of anonymous.
New name is "BRCM/implementation".
11. The SubscriptionManager returned in a SubscriptionResponse is now the
FilterCollectionSubscription instance which corresponds to the newly
created Subscription.
12. Association queries now cross namespace boundaries.
13. CIM_RegieredProfile.RegisteredName properties no longer contain the
word "Profile".
----------------------------------
Version 0.93.0 - February 15, 2008
----------------------------------
Fixes:
======
1. CQ 33134
ARP reply always contains MAC address 00:10:18:00:00:00.
2. CQ 33152
Force vaux link does not function properly on various platforms.
3. CQ 33184
Cannot obtain an IP from a DHCP server.
4. CQ 33186
B57Diag mancfg reports incorrect IP address when DHCP is set to enabled.
Enhancements:
=============
1. Dynamic web (HTML) user interface content with modifiable property values
and method invocation (e.g. remote power control).
2. WS-Eventing/indications subscription and delivery support.
3. Date and time tracking.
4. Additional CIM Profiles support.
----------------------------------
Version 0.92.0 - December 12, 2007
----------------------------------
Fixes:
======
1. Firmware crash when NIC was jumpered for mission mode and there was
no Ethernet link.
Cause:
Firmware was clearing CPMU policy register APE field which is reserved
in some policies.
Enhancements:
=============
1. Added default Web (HTML) user interface using static/canned pages
for demo purposes only.
This feature can be disabled by setting "b57diag mancfg" or
"bmcfg edit" WS-Management->HTTP Get to "Disabled".
2. HTTPS Basic authentication support can be disabled (for enhanced
security) by setting WS-Management->HTTP Digest Authentication Only
to "Enabled".
3. Role Based Authorization Profile (RBAP) and Simple Identity Management
Profiles (SIMP) should now be feature-complete:
You can use ModifyRole(), ShowAccess(), ShowRoles(), Create/Delete
Accounts.
4. Text Console (UART) Redirection via Telnet can be enabled using the
"Console Redirection" mancfg menu (for demo/testing purposes).
Since the CIM Text Console Redirection Profile is not currently
implemented, you must set "Telnet Auto-Listen" to Enabled for this
feature to work. A custom serial port driver is required for Windows and
Linux to use the UART.
SSH is not currently implemented.
5. Initial support for PLDM-BIOS over MCTP/SMBus.
6. Sets link speed based on configuration settings when in Vaux power mode.
7. Implemented ASF/RMCP "best guess" system state function (based on
OS/driver presence and VMain presence). CIM_ComputerSystem.EnableState
and CIM_AssociatedPowerManagementService.PowerState also expose the
current system state based on this best guess (if not set by the
BIOS with the ASF "Set System State" SMBus Message).
/* End of File */
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.