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.