Release Notes Broadcom BCM5700 SCO Unixware 7/Caldera Open Unix 8 driver Broadcom Corporation 16215 Alton Parkway, Irvine, CA 92619-7013 Copyright (c) 2000-2006 Broadcom Corporation All rights reserved v9.0.4 (February 28, 2006) ============================= Enhancements: ------------- 1) Change : Remove support for BCM5755. Impact : None. v9.0.3 (January 19, 2006) ============================= Fixes: ------------- 1) Problem : (CQ22582) Link messages flood the console when 5714S and 5715S devices are configured back-to-back. Cause : Code which was meant to ensure link stability was not being executed. Change : Enable the link stability code. Impact : None. v9.0.2 (January 16, 2006) ============================= Fixes: ------------- 1) Problem : (CQ14603) Driver reports link down messages when failover device is activated. Cause : When the driver evaluates the PHY's configuration settings, it reports a mismatch if there is one. This state was improperly being stored in the link status tracking field, instead of the more generic "link down" state. Change : If the link is not up, store a "link down" state to the link status tracking field. Impact : None. v9.0.1 (January 12, 2006) ============================= Fixes: ------------- 1) Problem : (CQ22582) Link messages flood the console when 5714S and 5715S devices are configured back-to-back. Cause : The driver contains code which resets the PHY when the device acquires link. This code was incorrectly being applied to 5714S and 5715S devices. Change : Only reset the PHY on 5703, 5704, and 5705 PHYs when link is acquired. Impact : None. 2) Problem : The driver intermittently fails to track and notate the true link status of 5714S and 5715S devices. Cause : The use of the PHY_STATUS register to determine the link status is unreliable. Change : Use a MAC register to more competently determine the link status. Impact : None. v9.0.0 (January 6, 2006) ============================ Fixes: ------------- 1) Problem : (Cont14603) Link down messages are showing during failover when configured in team. Cause : Recent link reporting changes introduced the bug. Change : Assume link is down when device is opened. Impact : None. Enhancements: ------------- 1) Change : Added 5755 support. Impact : None. v8.3.6 (January 17, 2006) ============================= Fixes: ------------- 1) Problem : (CQ22582) Link messages flood the console when 5714S and 5715S devices are configured back-to-back. Cause : Code which was meant to ensure link stability was not being executed. Change : Enable the link stability code. Impact : None. v8.3.5 (January 12, 2006) ============================= Fixes: ------------- 1) Problem : (CQ22582) Link messages flood the console when 5714S and 5715S devices are configured back-to-back. Cause : The driver contains code which resets the PHY when the device acquires link. This code was incorrectly being applied to 5714S and 5715S devices. Change : Only reset the PHY on 5703, 5704, and 5705 PHYs when link is acquired. Impact : None. 2) Problem : The driver intermittently fails to track and notate the true link status of 5714S and 5715S devices. Cause : The use of the PHY_STATUS register to determine the link status is unreliable. Change : Use a MAC register to more competently determine the link status. Impact : None. 3) Problem : (Cont14603) Link down messages are showing during failover when configured in team. Cause : Recent link reporting changes introduced the bug. Change : Assume link is down when device is opened. Impact : None. v8.3.4 (December 20, 2005) ============================= Fixes: ------------- 1) Problem : Driver does not load on 5715S devices. Cause : There are preprocessor definitions in the code which selectively include or exclude support for 5714S and 5715S devices. The preprocessor condition was inverted such that these devices were improperly being excluded from the build. Change : Fix the preprocessor definition. Impact : None. v8.3.3 (December 15, 2005) ============================= Enhancements: ------------- 1) Change : Added 5714S and 5715S support. Impact : None. v8.3.2 (October 21, 2005) ============================ Fixes: ------------- 1) Problem : Excessive link down messages output to the console. Cause : The fix for #1 below exposed another scenario where the device is constantly being opened and closed. In this case, the link state initializer was incorrectly altering the variable the device uses to track the link state. Change : Correct the link state variable in the open routine. Reliable link state tracking begins when the device is CFG_ADDed into the system. Impact : None. 2) Problem : Module fails to load due to a linker error. Cause : Undefined symbol. Change : Replace the code which uses the missing symbol with a generic equivalent. Impact : None. v8.3.1 (October 17, 2005) ============================ Fixes: ------------- 1) Problem : (CQ13567) Link down messages are not displayed immediately after adapter reset. Cause : The reset code explicitly records the link state as down without issuing a corresponding message. Change : Use another link state initializer in the reset code. The PHY code will then see the state mismatch and issue the appropriate link state message. Impact : None. 2) Problem : The PHY registers can become corrupted on all 5714S, 5715S, and 5780S devices. Cause : The periodic link check code does not acquire the phy lock before performing its task. Change : Add phy lock acquisition and release code around the link check function call. Impact : 5714/5715/5780 fiber. Enhancements: ------------- 1) Change : Removed 5903 support. Impact : None. 2) Problem : Health monitoring software does not register link restoration events. Change : Add code to the driver to send a message to the health monitor software when link is restored. Impact : None. 3) Change : Added ECD13216 fix for SERDES crosstalk problem. Impact : None. 4) Change : Removed 5714S and 5715S support. Impact : None. v8.3.0 (August 23, 2005) =========================== Fixes: ------------- 1) Problem : (CQ13636) Removing the driver package while a device is configured causes the OS to lock the driver directory and never free it. Cause : The return code issued by the driver's preremove script causes the systems behavior. Change : Change the preremove script's return code from one to four. Impact : None. 2) Problem : (CQ13033) ASF "Alive" heartbeat constant has changed. Cause : Programmatic inconsistencies in previous implementation forced the redefinition. Change : Change driver to use the new constant. Impact : None. 3) Problem : (CQ13779) Poor performance on 5714 family devices. Cause : DMA settings suboptimal in DmaReadWriteCtrl and GrcLocalCtrl registers. Change : Adjust DMA tuning bits in the DmaReadWriteCtrl and GrcLocalCtrl registers. Impact : None. Enhancements: ------------- 1) Change : Add 5903F and 5903M support to the driver. Impact : None. v8.2.11 (August 10, 2005) =========================== Fixes: ------------- 1) Problem : Driver fails SCO certification tests. Cause : Driver symbol does not conform to mandated symbol standards. Change : Rename symbol. Impact : None. v8.2.10 (August 02, 2005) =========================== Fixes: ------------- 1) Problem : (CQ10476) Tx statistic counters incorrect. Cause : Tx statistic counters are overflowing in hardware. Change : Reduce the statistic refresh interval. Impact : None. v8.2.9 (August 01, 2005) =========================== Fixes: ------------- 1) Problem : (CQ11321) 5700 fails to initialize. Cause : The 5700 DmaTest() function was incorrectly failing due to DMA timeout. Change : Change the code to return a success on DMA transation timeout. The data validation step that follows will catch any DMA errors. Impact : None. 2) Problem : (CQ13576) 5704S fails flow control test. Cause : The 5704 code was using the flow control definitions of a different register. Change : Use correct flow control definitions. Impact : None. v8.2.8 (July 22, 2005) =========================== Fixes: ------------- 1) Problem : (CQ13461) 5701 fails to receive traffic when configured to 10Mbps, half-duplex, link forced. Cause : The 5701 requires that the driver commit each direct register write by performing a dummy read to that same register. The compiler was optimizing the dummy read away, since the read value was not being used. Change : Force the compiler to keep the dummy read by adding the "volatile" keyword to the destination variable. Impact : None. v8.2.7 (July 20, 2005) =========================== Enhancements: ------------- 1) Change : Remove 5714 and 5715 support from the driver. Impact : None. v8.2.6 (July 14, 2005) =========================== Fixes: ------------- 1) Problem : Serdes 325i devices not recognized correctly. Cause : The driver's device list incorrectly linked HP's serdes 325i subsystem device ID to Broadcom's copper device ID. Change : Point HP's serdes 325i subsystem device ID to the correct Broadcom device ID. Impact : None. v8.2.5 (July 08, 2005) =========================== Fixes: ------------- 1) Problem : (CQ13319) Flow control fails to work in "auto" mode. Cause : The new flow control code requires that the link's duplex configuration be known. The existing code failed to determine this. Change : Determine the link's duplex setting before setting up the flow control. Impact : None. 2) Problem : (CQ12986) 5714 devices do not fall back to forced link if PCS_SYNCED is detected. Cause : Incorrect detection of PCS_SYNCED and RECEIVING_CFGS states. Change : Modified code to get these states from the PHY. Impact : None. v8.2.4 (June 20, 2005) =========================== Fixes: ------------- 1) Problem : (CQ13161) Certification test fails after performing the symbol checking stage. Cause : This bug is another instance of CQ12922 for OpenServer. When resetting the chip, the driver never reclaimed the packet resources. When the driver attempts to fill the buffer rings afterwards, there are no available resources. Change : Fix the ResetAdapter() logic to reclaim packet resources before resetting the chip. Impact : None. 2) Problem : (CQ12986) 5714 devices do not fall back to forced link if PCS_SYNCED is detected. Cause : Feature omission. Change : Added force link fallback code. Impact : None. v8.2.3 (June 13, 2005) =========================== Fixes: ------------- 1) Problem : (CQ13078) Jumbo frame size option missing on 5714 / 5715 devices. Cause : Missing configuration file option. Change : Add the configuration file option. Impact : None. 2) Problem : (CQ13057) Firmware version string missing product name on 5714 devices. Cause : The code that determines which version string extraction method incorrectly chooses the wrong method. Change : Correct the method classification code to include the 5714. Impact : None. 3) Problem : (CQ13022) 5703B1S never gets link. Cause : The firmware autonegotiation code was bouncing the link due to invalid flow control configuration. Change : Correct the flow control configuration code. Impact : None. 4) Problem : 5704S devices showing link up when link is still being negotiated. Cause : Code that forces link as a fallback does not detect valid link up conditions strictly enough. Change : Only fallback to force link up if autonegotiation is not in progress. Impact : None. v8.2.2 (May 6, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12822) Flow control automation test fails. Cause : The code, which classified what flow control abilities the link partner was capable of, had recently been rewritten. In the case of unidirectional flow control, the new code accidentally classified the link partner's flow control capabilities to the wrong direction. Change : Correct the misclassification. Impact : None. Enhancements: ------------- 1) Change : Added support for new HP NC32Xi products. Impact : None. v8.2.1 (April 27, 2005) =========================== Enhancements: ------------- 1) Change : Added 5715X support into driver. Impact : None. v8.2.0 (April 22, 2005) =========================== Enhancements: ------------- 1) Change : Added 5714X / 5780X support into driver. Impact : None. v8.1.8 (April 5, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12586) PCIE devices lock-up. Cause : Hardware posts infinite data credits during PCIE posted transactions. Change : Find all locations where the chipset might consolidate PCIE transactions and force them to be separate. Force setup code to read back all register writes. Impact : Minor performance impact on initialization. v8.1.7 (March 31, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12151) Link negotiation fails when 5751 LOM is connected back-to-back with another device. Cause : Driver was mistakenly forced to use the MI interrupt mode. Change : Correct the code so that it uses the "link ready" mode. Impact : None. 2) Problem : (CQ12158) Driver incorrectly limits the number of receive rules available for the 5714 family of devices. Cause : The code which sets the limit on the number of receive rules incorrectly categorized 5714 family devices. Change : Correct the categorization code. Impact : None. 3) Problem : (CQ12156) ATI transmit timeout - "NETDEV WATCHDOG". Cause : The ATI chipset did not call the driver ISR after the ISR did not service an INTx interrupt. Change : The driver will check a register to determine if the INTx should be claimed if the status block has not been updated on ISR entry. Impact : This fix may improve system performance on some systems as it reduces the amount of spurious or unclaimed interrupts. Enhancements: ============= 1) Problem : Jumbo frame support on some systems caused device counters to increment CRC errors. Change : Set TX elasticity bit in PHY when using jumbo frames. Impact : None. 2) Problem : 5714 device support needs to be removed for the 8.1b driver release. Change : Removed 5714 family devices. Impact : None. v8.1.6 (March 24, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12399) 5714 not detected. Cause : Missing configuration file. Change : Added configuration file. Impact : None. 2) Problem : (CQ12486) ndstat -l reports strange link speeds. Cause : Code that updates link speed incorrectly updated the field that reports the new speed. Change : Added code to update the link speed field. Impact : None. 3) Problem : (CQ12370) Systems with more than one adapter refuse to accept configuration changes. Cause : Configuration settings were not revisited when the device was reopened. Change : Added code to obtain the configuration settings every time the device is opened. Impact : None. Enhancements: ============= 1) Problem : Driver missing new HT-LE device IDs. Change : Added missing device IDs. Impact : None. v8.1.5 (March 2, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12303) Firmware version not displayed for EEPROM devices. Cause : Code failed to put EEPROM NVRAMs on newer devices into the newer access mode. Change : Ensure EEPROMS on newer devices are accessed using the newer method. Impact : Firmware version now displays correctly. v8.1.4 (March 1, 2005) =========================== Fixes: ------------- 1) Problem : Driver crashes. Cause : Not enough memory allocated for device structures. Change : Fix code to allocate the appropriate amount of memory. Impact : None. 2) Problem : (CQ11893) ASF not supported. Cause : Driver detects ASF and refuses to load. Change : Add code to send ASF heartbeats. Impact : Driver and ASF can now coexist. v8.1.3 (March 1, 2005) =========================== Fixes: ------------- 1) Problem : (CQ12160) Capacitive coupling and preserve preemphasis settings may be set incorrectly. Cause : NVRAM configuration bits were not validated before being used. Change : Validate configuration bits before use. Impact : Configuration bits set as expected. 2) Problem : (CQ8960) ndstat does not show the correct link speed. Cause : Link speed is queried to soon on interface open. The status is never revisited. Change : With the use of a new primitive, the driver now sends a message to the upper layers whenever a link event happens. Impact : ndstat shows correct link speed. v8.1.2 (February 7, 2005) =========================== Enhancements: ------------- 1) Change : Added support for jumbo frames for 5714X and HT2000 devices. Impact : None. v8.1.1 (January 11, 2005) =========================== Enhancements: ------------- 1) Change : Added support for 5714X and HT2000 devices. Impact : None. v8.1.0 (January 07, 2005) =========================== Enhancements: ------------- 1) Change : Added support for 5752 devices. Impact : None. 2) Change : Updated copyright strings. Impact : None. v7.7.7 (December 14, 2004) =========================== Fixes: ------------- 1) Problem : (CQ11636) Device fails to get link when connection is forced to 10Mbps. Cause : Code which programs the LEDs programmed the wrong shadow register. Change : Changed code to program the correct shadow register. Impact : Device acquires link as expected. v7.7.6 (December 2, 2004) =========================== Enhancements: ------------- 1) Problem : (CQ11011) PLL clock unstable. Change : Set some hardware bits to stabilize the clock. Impact : Device works as expected. v7.7.5 (November 29, 2004) =========================== Fixes: ------------- 1) Problem : (CQ11448) 5704 LOM interfaces will not ping. Cause : Peer device can hold NVRAM lock, which prevents correct operation. Change : Release NVRAM lock after reset. Impact : Devices work as expected. v7.7.4 (November 29, 2004) =========================== Enhancements: ------------- 1) Change : Added support for more NVRAM types. Impact : More NVRAM types supported. v7.7.3 (November 9, 2004) ========================== Fixes: ------ 1) Problem : (CQ11088) Force the NC150T to autonegotiate its linkspeed and duplex settings. Cause : The 150T is a "LOM" connected to an onboard switch. Any other settings will cause a link failure. Change : Detect the NC150T and prevent changes to requested link speed / duplex and autoneg settings. Impact : The NC150T will autoneg or fail to link. v7.7.2 (November 8, 2004) ========================== Fixes: ------ 1) Problem : (CQ11219) Driver freezes machine under stress. Cause : Error in resource release code. Change : Changed code so that previously erroneous test will work. Impact : All resources can be released properly. Driver works as expected. 2) Problem : (CQ11270) Driver will not load on a BCM5700B2 Cause : BCM5700B2s do not have a valid EEPROM signature. Change : Changed code to prevent an error return when BCM5700 devices fail EEPROM signature check. Impact : BCM5700 devices work once again. 3) Problem : Firmware version number not displayed on 5750 family of devices. Cause : NVRAM on 5750 family devices requires the "access enable" bit to be set before performing a read. Change : Set the access enable bit. Also averted an offset calculation on 5753 devices. Impact : Firmware version shod up on both devices. Enhancements: ------------- 1) Change : Added firmware version to banner string. Impact : It should be clearer which version of the firmware is on the device. 2) Problem : (CQ#11117) Preemphasis settings, set by the firmware, need to be preserved. Change : Added code to preserve preemphasis settings enabled by the bootcode, when requested. Impact : Better waveforms on particular serdes implementations. v7.7.1 (October 25, 2004) ========================== Fixes: ------ 1) Problem : Machine crashes when doing UDP performance testing. Cause : Streams queues were being corrupted when putbq() was being called incorrectly. Change : Recoded the tx path to remove the violation. Impact : Crashing condition removed. 2) Problem : 5753 series devices have a banner string identifying the devices as "Unknown". Cause : Omitted code to recognize the new devices. Change : New defines. Impact : New devices recognized. 3) Problem : Performance considerably slower on 5750 family of devices. Cause : 5750 family devices need to be programmed differently than other legacy devices. Change : Added new code to program 5750 family devices correctly. Impact : Performance back up to par. v7.7.0 (October 15, 2004) ========================== Enhancements: ------------- 1) Change : Added support for 5753 series devices. Impact : New devices supported. 2) Change : Backend (LM) code is now shared with UnixWare and OpenServer. Impact : Less maintenance overhead and speeds bugfix and feature enhancement migration. 3) Change : Separated OpenServer and UnixWare frontends. Impact : Enhanced platform flexibility at the expense of a little maintenance overhead. v7.5.16 (April 27, 2004) ========================= Fixes: ------ 1) Problem : ethernet@wirespeed does not work. Cause : Support for this feature was removed for higher reliability. Change : Added a setting in the GUI to enable or disable this feature. Added code to adjust hwfail notification timeouts accordingly. Impact : If desired, ethernet@wirespeed can be enabled. It is recommended that e@w not be enabled if the interface is to be configured in team. v7.5.15 (April 24, 2004) ========================= Fixes: ------ 1) Problem : When a machine is filled with NICs, all of which have their cables detached, most of the interfaces will disappear from the system. Cause : Hardware failure notifications were issued too soon after a configuration or boot. When the system notices failures during this "inspection period", it attempts to reset the interface three times before removing it from the system. Change : The appropriate timeout varies depending on the number of devices installed. The worst case will cause delays to long to tolerate. The workaround is to remove the sleep in the open call. Impact : The workaround closes the "inspection window" down to a reasonable size. The only side effects are that ethernet@wirespeed cannot work and the link speed report can be false. v7.5.14 (April 23, 2004) ========================= Fixes: ------ 1) Problem : If two interfaces are configured in team and the primary cable is detached on bootup, the system will no longer be able to issue the command 'nd failback netX' and expect the interface to work. Cause : Upper layers apparently need more time to set up a valid connection after reporting the link speed. Change : Delay for 14 seconds before sending a hardware failure notification message. Impact : Failovers will take a little longer to work on bootup and during configuration. There are no adverse effects during normal operation. 2) Problem : (CQ9955) 5751M chips have not been tested. Cause : No hardware available to test against. Change : Remove 5751M support from driver. Impact : 5751M chips will no longer be recognized by this driver. v7.5.13 (April 19, 2004) ========================= Fixes: ------ 1) Problem : Bit error rate too high in certain situations. Cause : Corner cases causing bad hw interactions. Change : Write several phy registers. Impact : Corner cases correctly covered. 2) Problem : nd subsystem does not properly failback under certain corner cases. Cause : hwfail notification happens too soon after a successful speed report. Change : Issue a hwfail notification from a short timeout. Impact : Interface now fails back correctly. v7.5.12 (April 16, 2004) ========================= Fixes: ------ 1) Problem : The data LED of the NIC flashes too quickly when the NIC is configured for Shared Traffic LED mode. Cause : Hardware bug. Change : Manually program the PHY for this mode. Impact : Shared Traffic mode data LED works as expected. 2) Problem : (CQ9878) Failover not functioning correctly. Cause : To fix bug CQ9749 (see release 7.5.10 notes below) we had to add a fake speed report. In a failover situation, the fake speed report would be issued after the hardware failure notification. The upper layers seem to interpret this as a valid link. Change : Send the fake link speed first, followed by the hardware failure notification. Impact : Device fails over as expected. The device still shows in 'ifconfig -a' output. 3) Problem : BCM5700 and BCM5701 NICs have high number of errors with long cables. Cause : These NICs cannot read the shadow registers, so they must be blindly hard-coded. (no read-modify-write) Change : Write hard-coded values into shadow registers if these NICs are detected. Impact : Errors subside with long cables. v7.5.11 (April 6, 2004) ======================== Enhancements: ------------- 1) Problem : Product banner message unsupported. Change : Add product banner message. Impact : New banner messages. v7.5.10 (April 1, 2004) ======================== Fixes: ------ 1) Problem : (CQ9749) DLPI displays "Timeout error" Cause : When an interface is configured without the network cable being attached, the driver was changed to report a zero (current) maximum speed and send a link failure message back up the stream stack. The upper layers do not seem to like zero link speeds. Change : Report a bogus link speed if the cable is detatched. Impact : 'ifconfig -a' once again shows our interface, ethernet@wirespeed works, and the "Timeout error" messages are gone. Enhancements: ------------- 1) Problem : LEDs illuminated incorrectly. Change : Moved LED configuration back under driver control. Impact : LEDs illuminate as they should for each mode. v7.5.9 (March 30, 2004) ======================== Fixes: ------ 1) Problem : (CQ7836) Remote link LED does not illuminate on some fiber switches when a device, configured in team, has failed over, but has its network cable reattached. Cause : Devices are not fully closed during failover conditions. Software autonegotiation does not work, and link cannot be established. Change : If available, let firmware do autonegotiation. Impact : With firmware handling autonegotiation, the link will correctly be established, even if the device is not currently (re)opened. 2) Problem : (CQ7836) Management software cannot get the status of the secondary controller when a 570X device is configured as a failover device. Cause : The link is not yet established at the time of the status query. Change : Wait in the open() call until link is established. Impact : The link is guaranteed to either be established or known to be invalid at the time of a status query. 3) Problem : (CQ8742) ethernet@wirespeed does not work. Cause : When a valid scenario where e@w can help, the link can take a long time to establish. Under such conditions, the OS times out before link has been established and prematurely deems the device unavailable. Change : Wait in the open() call until link is established. Impact : Waiting in the open() call give the device enough time to allow e@w to work. v7.5.8 (March 15, 2004) ======================== Fixes: ------ 1) Problem : 5750 A1 devices hang on initialization. Cause : PCIE "preserve data link" flag mistakenly applied to standard PCI cases. Change : Limit the PCIE fix to PCIE devices. Impact : Device operates as suspected. PCIE devices unaffected. 2) Problem : LEDs illuminate incorrectly. Cause : Undetermined Change : Starting with 575X and 572X NICs, the driver lets the firmware control how the LEDs are set. Impact : Firmware LED fixes will be universal to all drivers. v7.5.7 (March 5, 2004) ======================= Fixes: ------ 1) Problem : 5750 family link LED does not illuminate to the correct color in wireless combo mode. Cause : Applied fix to wrong location. Impact : LED modes should work as expected. v7.5.6 (March 4, 2004) ======================= Fixes: ------ 1) Problem : 5750 family link LED does not illuminate to the correct color in wireless combo mode. Cause : Old LED mode bits need to be set to 1's in order for new LED modes to be enabled. Change : Set old LED bits to ones when a new 5750 family LED mode is selected. Impact : LED modes should work as expected. v7.5.5 (February 25, 2004) =========================== Fixes: ------ 1) Problem : 575X devices not displayed in netcfg. Cause : Misnamed configuration file. Change : Corrected configuration file name. Impact : 575X devices will be recognized. Enhancements ------------ 1) Change : Set a register flag to facilitate PCIE debugging, should a problem occur. Impact : No impact to performance. Easier debugging. v7.5.4 (February 23, 2004) =========================== Fixes: ------ 1) Problem : 5721 is displayed as 575X device. Cause : All 5750 family device IDs were lumped into one configuration file with one descriptive string. Change : Separate 572X devices into a separate configuration file. Impact : 572X devices will correctly be displayed as such. 2) Problem : Driver crashes on unload. Cause : A race condition in the unload routine. Change : The unload routine sets a flag to notify other threads that the device is no longer accessible. This flag was simply moved earlier in the unload routine. Impact : Race condition eliminated. 3) Problem : GetAdapterInfo locks up system. Cause : PXE sometimes does not shutdown properly. Change : Detect improper shutdown conditions and issue a GRC reset. Impact : Chips is reset to a known state, and initialization can continue. Enhancements ------------ 1) Problem : Driver missing 575X and 572X A1 support. Change : Added code for 5750A1 family devices. Impact : 5750A1 family devices properly supported. v7.5.3 (January 26, 2004) =========================== Fixes: ------ 1) Problem : Normal TCP and UDP traffic not seen when adapter is put into promiscuous mode. Cause : Internal receive flags were not being preserved when promiscuous mode was enabled. Change : Preserve receive flags. Impact : All cards. 2) Problem : System hangs when loading the driver on a PCIE system. Cause : PCIE detection code incorrect, causing PCIE specific codepaths not to be executed. Change : Fix PCIE detection code. Impact : All PCIE devices. v7.5.2 (January 13, 2004) =========================== Fixes: ------ 1) Problem : 575X devices fail after GRC reset. Change : Changed delay to 500 msec after GRC reset. Impact : All 575X, and 572X cards. 2) Problem : Some register writes fail on 575X cards. Change : Add register read back on PCIE systems. Impact : All PCIE devices. 3) Problem : Some register writes fail on SMP systems. Change : Make driver single threaded. Impact : All PCIE devices. 4) Problem : No Link interrupts are delivered. Change : Added code to poll for link interrupts. Impact : All PCIE devices. 5) Problem : Asf fails after GRC reset. Change : Moved KevT assignment to before GRC reset. Impact : All cards. Enhancements: ------------- 1) Problem : 575X cards missing new LED modes. Change : Added new 5750 family LED modes. Impact : All 575X, and 572X cards. v7.5.1 (December 11, 2003) =========================== Fixes: ------ 1. Problem : Cardbus event register not accepting "INTERRUPT ENABLE" bit. Cause : Hardware bug. Change : Changed the register write routine from a config space write to a memory space write. Impact : All 5750, 5750M, 5751, 5751M, 5720, and 5721 chips. v7.5.0 (November 21, 2003) =========================== Enhancements: ------------- 1. Problem : Driver needed 5750 family support. Change : Integrated all 5750 family related changes. Impact : All 5750, 5750M, 5751, 5751M, 5720, and 5721 chips. v7.0.7 (October 23, 2003) ========================== Fixes: ------ 1. Problem : (CQ8673) When the 5701 is configured in team and is not the active adapter, the driver logs too many link messages. Cause : Phy contention. Change : Insert spinlocks to protect the phy. Impact : All 5701 cards. v7.0.6 (October 20, 2003) ========================== Fixes: ------ 1. Problem : Kernel intermittently panics on a driver unconfigure. Cause : Not all timeouts are accounted for before driver memory is freed. Change : Wait for all timeouts before permitting a driver uninstall. Impact : All cards. v7.0.5 (October 17, 2003) ========================== Fixes: ------ 1. Problem : The Ethernet@WireSpeed fix, as well as the "unable to get the status of the secondary" fix is causing problems. Cause : The fix for the previous issue was to insert a sleep at the end of the open() function until either a link has been aquired or a timeout happens. This has unexpected side effects. Change : Back out the fix until all the sie effects of the change can be accounted for. Impact : ndstat will report inaccurate link speed. The status of a secondary controller configured in team will not be determinable. v7.0.4 (October 13, 2003) ========================== Fixes: ------ 1. Problem : (CQ8596) Driver does not reliably failover to secondary. Cause : New hwfail code failed to reproduce a condition of the original code. Change : Add missing condition to new code. Impact : All cards. Enhancements: ------------- 1. Problem : Missing some initialization strings for the 5705 A3. Change : Added missing 5705 A3 initialization strings. Impact : All 5705 A3 cards. v7.0.3 (October 8, 2003) ========================= Fixes: ------ 1. Problem : (CQ8526) Ethernet@WireSpeed does not work. Cause : It can take up to ~20 seconds to get a link if Ethernet@WireSpeed is turned on with a faulty setup. The driver was not waiting for link long enough. This in turn caused the controlling application to close the interface prematurely. Change : Wait longer in the bcmeopen() call. Impact : All Ethernet@WireSpeed enabled devices. 2. Problem : (CQ8052) NC7770 ACT and 10 LEDS blink during link drop. Cause : Unknown. Change : The symptom CQ7836 addresses is one of many problems caused by returning from bcmeopen() before a link has been established. Before the fix for this bug was implemented, the driver was forced to return a bogus link status, which reported that the link was up. It is likely the case that the guarantee of an accurate link status, and consequently the removal of the bogus link status, has altered the behavior of the upper layers and fixed this bug. Impact : NC7770 cards. Enhancements: ------------- 1. Problem : (CQ8553) The bcme package is not installing / deinstalling itself cleanly. Change : Added a preinstall script which checks : 1) To see if a bcme device is configured and prompts the administrator to remove it. 2) Checks if a bcme package already exists in the system and asks the administrator to remove it. 3) Checks if files normally owned by the bcme package are owned by the nd package and asks the administrator if he / she wishes to disassociate those files. Impact : All future bcme packages. v7.0.2 (October 2, 2003) ========================= Fixes: ------ 1. Problem : (CQ8535) Boot time message identifies 5705 A3 chip as as "unknown". Cause : The device ID for the 5705 A3 changed from previous versions of the chip. The chip identification and reporting code failed to check for the new device ID. Change : Add the new device ID into the chip ID code. Impact : All 5705 A3 chips. 2. Problem : (CQ7836) Cannot get the status of a secondary controller when configured as a failover controller. Cause : In order to check the status of the secondary controller, the device must be opened. When the NIC is opened, the controller is reset. After a reset, it can take several seconds for a link to stabilize. Because of this, the driver returns from the open() before the link has stabilized, so the system can do more useful work. Semantically though, a return from the open() call has been taken to mean controller is ready for use. The problem here is that software querying the status of the secondary controller, queries the status too soon after the open() call, thus forcing the driver to report an erroneous status. Change : Force the driver to sleep() in the open() call until link has stabilized, or the system times out 5 seconds later. Impact : All chips. Enhancements: ------------- 1. Problem : (CQ8553) The bcme driver is missing a preinstall script. Change : A preinstall script is added. This script aborts if it finds a bcme package already installed, and deletes conflicting files if the administrator approves. Impact : All chips. v7.0.1 (August 26, 2003) ========================= Fixes: ------ 1. Problem : (CQ8353) 5704S secondary port cannot pass traffic when set to forced speed. Cause : The driver failed to preserve some critical bits during the 1.2V change. Change : Preserve the critical bits. Impact : 5704S B0. v7.0.0 (August 22, 2003) ========================= Fixes: ------ 1. Problem : (CQ8338) Missing man page Cause : A problem with the build environment. Change : Fixed build environment. Impact : All cards. 2. Problem : (CQ8367) HP Management agents report duplicate port numbers. Cause : Port number was always being assigned "1" in driver. Change : Assign actual port number in driver. Impact : All cards. 3. Problem : (CQ8353) 5704S secondary port cannot pass traffic when set to forced speed. Cause : 5704S 1.2V adjustment. Change : Remove the adjustment, for now. Impact : 5704S B0. v6.1.0 (August 13, 2003) ========================= Fixes: ------ 1. Problem : (CQ7591) Port numbers need to be "one" based. Cause : Confusion regarding new standard. Change : Add one to port number before reporting. Impact : All cards. 2. Problem : Driver sometimes gets a MAC address of all zeroes. Cause : In some rare timing related situations, the firmware is behind in providing the MAC address for the driver at the MAC control registers. Change : Driver will get the MAC address from NVRAM when the MAC address read from the MAC control registers is all zeros. Impact : All cards. 3. Problem : On 5704 AX chips, a DMA transfer that uses the last byte on the 4G boundary will trigger a "Host address overflow" error. This has been fixed in 5704 B0, so we do not want the workaround enabled for this ASIC revision. Cause : A bug in earlier versions of the chip. Change : Change the code to detect only 5704 AX parts and only enable the fix under those circumstances. Impact : 5704 B0 chips only. Enhancements: ------------- 1. Problem : Transmission error rate and permissible cable lengths suboptimal. Change : Add code to modify default hardware configuration. Impact : All 5702/3/4 AX copper chips. 2. Problem : Serdes drive level change for 5704S and 5704CIOBES. Change : Change drive transmission level to 1.2V. Impact : 5704S and 5704CIOBES chips. v6.0.17 (August 05, 2003) ========================= Fixes: ------ 1. Problem : (CQ8047) Inconsistent messaging for copper and fiber cards. Cause : There was a test for the existence of an upqueue stream (needed later) that caused the reporting function to exit prematurely. Change : The test was also performed closer to where it was needed. The earlier test was deleted. Impact : 5701 and 5703 fiber cards. 2. Problem : (CQ7591) Link messages missing slot and port numbers. Cause : Feature request. Change : Added slot and port numbers to link messages. Impact : All chips. 3. Problem : (CQ7588) Broadcom driver does not support event logging. Cause : Feature request. Change : Added a function which calls a kernel facility, if present, to report link failure. Impact : All chips. 4. Problem : (CQ8043) Fiber LED not illuminating when link restored when configured in team. Cause : The LED mode was overridden to accomodate another feature. Upon link down when configured in team, the management software closes the interface to the primary card. When the link was restored, the LED would not illuminate because they were still overridden. Change : Restore LED mode to default upon interface closure. Impact : All fiber cards. 5. Problem : No support for 5704 B0 cards. Cause : New product. Change : Added code to support 5704 B0. Impact : 5704 B0 6. Problem : (CQ8048) Link drop warning is logged twice. Cause : Warning messages are always linked twice. Change : Change the link drop message back down to a notice. Impact : All chips. v6.0.16 (July 02, 2003) ====================== Fixes: ------ 1. Problem: Kernel panics when calling bcopy to copy a transmit buffer (SCO fz 527593). Cause: Double copy buffers not always big enough for the entire packet. Change: Removed PREQS_PHYSCONTIG flag in the tx buffer requirement. Added check to make sure the pre-allocated buffer is big enough. Impact: Better tx performance in addition to fixing the bug. v6.0.15 (June 16, 2003) ====================== Fixes: ------ 1. Problem: Link toggles continuously when configuring 5703S or another fiber NIC that is directly connected to another fiber NIC running Unixware. Cause: Because link is immediately up after driver reset, and may go down afterwards, the special logic to defer the first MAC_HWFAIL_IND does not adequately prevent spurious MAC_HWFAIL_IND. Change: Modified the logic to defer the first MAC_HWFAIL_IND in all cases after driver reset. This will prevent any spurious MAC_HWFAIL_IND during the first few seconds after driver reset when the link is unstable. Impact: None. v6.0.14 (June 16, 2003) ====================== Fixes: ------ 1. Problem: (CQ8026) 5703S does not failover when cable is disconnected. Cause: Fiber NICs do not lose their links when reset, exposing a bug in the driver's logic to report MAC_HWFAIL_IND. Change: Fixed bug in the code that determines whether or not to send MAC_HWFAIL_IND. Impact: None. v6.0.12 (June 12, 2003) ====================== Fixes: ------ 1. Problem: Test suite reported symbol error. Cause: One global symbol does not have bcme prefix. Change: Changed the symbol to static. Impact: None. 2. Problem: Workaround needed for 5704 AX 4G boundary hardware bug. Cause: HW bug. Change: Added software workaround. Impact: Some performance hit when tx buffers end at around 4GB boundary. v6.0.11 (June 12, 2003) ====================== Fixes: ------ 1. Problem: Unable to resume a suspended driver. Cause: The device's key in the resource manager was locked while calling devmem_mapin. This caused deadlock on the resource manager. Change: Changed code to call devmem_mapin before getting a lock on the device manager. Impact: None. v6.0.10 (June 10, 2003) ====================== Fixes: ------ 1. Problem: Unreliable failover to standby in some cases. Cause: MAC_HWFAIL_IND is not always reliably sent when the link goes down due to bug in driver. Change: Added changes to fix the bug. Impact: None. v6.0.9 (June 09, 2003) ====================== Fixes: ------ 1. Problem: (CQ #7980) Continuous link up/link down when 2 NICs are connected directly back-to-back. Cause: MAC_HWFAIL_IND message from the driver when link goes down. When netcfg configures a NIC, the driver resets the NIC and the other side connected directly will see a link down. The other sides sends MAC_HWFAIL_IND, causing that NIC to be reset and link to go down. This cycle of link down will repeat and never stabilize when NICs are directly connected to each other. Change: Added logic to prevent sending MAC_HWFAIL_IND in the first 5 seconds after driver reset. This breaks the vicious cycle. Impact: None. v6.0.8 (June 06, 2003) ===================== Fixes: ------ 1. Problem: (CQ #7960) Netcfg hangs during configuration of second NIC with no link. Problem: Fail back from standby to primary unreliable. Cause: Spurious MAC_HWFAIL_IND message from the driver. Change: Added code to delay the first MAC_HWFAIL_IND after reset. Reset causes link to go down and the new code will prevent a spurious MAC_HWFAIL_IND. Impact: Only affects the first few seconds after driver reset. 2. Problem: (SCO #527901) Panic during bootup. Cause: Null queue pointer passed to putnext from ISR. Although the receive routine checks the queue pointer before proceeding to process the receive packets, the queue pointer may get cleared by the close routine while the receive routine is still running. Change: Added check in the bcmeclose routine to busy wait for the receive routine to complete before clearing the queue pointer. Impact: None. v6.0.6 (June 02, 2003) ===================== Fixes: ------ 1. Problem: (CQ #7350) When configured as primary with a standby, NIC becomes unstable when primary cable is unplugged in certain cases. Cause: Driver reports default line speed of 1Gbps right after reset when link is unknown. Change: Added a timeout function to send MAC_HWFAIL_IND a few seconds after reset if link is still down. Impact: Link changes and driver installation. Enhancements: ------------- 1. Problem: (CQ 7196) Multiple NICs are detected when subvendor and subsystem IDs conflict with the NIC devices. Change: Changed AOF files to use vendor and device IDs. Impact: Only netconfig. 2. Problem: (CQ7347) Link down messages are displayed at NOTICE level. Change: Changed link down messages to WARNING. Impact: None. v6.0.4 (May 16, 2003) ===================== Enhancements: ------------- 1. Problem: Driver does not have OEM IDs for 5703 B0 devices Change: Added new OEM IDs. v6.0.3 (May 08, 2003) ===================== Fixes: ------ 1. Problem: (CQ #7690) Driver panics in some rare cases when loading the driver. Cause: Driver calls cm_begin_trans while holding a spinlock. This is not allowed as cm_begin_trans may block. Change: Changed locking scheme to call cm_begin_trans first if necessary before getting spinlocks. Impact: Affects driver loading only. v6.0.2 (April 29, 2003) ======================= Fixes: ------ 1. Problem: In some extremely rare situations, 5703, 5704, and 5705 Copper NICs may not link up after a PHY reset. Cause: On these PHY cores, there is a small probability of lock up after a PHY reset. Change: Added code to detect PHY lock up after a PHY reset and reset again if lock up is detected. Impact: The added lock up detection and recovery code affects driver reset and link down events where PHY resets are performed. v6.0.1 (02/25/03) - Added a new OEM ID in bcfg file. - Fixed 5704S link up problem when it is set to autoneg and link partner has autoneg disabled. v6.0.0 (02/14/03) - Added new IDs for 5705 A2 and some new OEM IDs. v5.0.10 (01/31/03) - Added new OEM IDs in bcfg files. v5.0.9 (01/10/03) - Added 5704S autoneg. workaround. - Fixed problem detecting 5782. v5.0.8 (12/20/02) - Added new OEM IDs. - Improved flow control. v5.0.7 (12/13/02) - Updated with latest OEM IDs. v5.0.6 (11/15/02) - Updated driver for 5705 A1. - Added new OEM IDs. - Fixed 5704S link up problem. v5.0.4 (10/18/02) - Fixed a link related problem on 5704S. - Created new bcfg files for fiber NICs. v5.0.3 (10/11/02) - Added support for 5704S hardware autoneg. - Fixed jumbo frames problem. - Fixed symbol errors in MDI cert. test. v5.0.0 (09/05/02) - Added support for 5705. v3.0.2 (07/22/02) - Fixed hot plug panic. - Fixed problem with 5704. v3.0.1 (07/18/02) - Adjusted coalescing parameters. - Added vendor/device/subvendor/subsystem IDs in bcfg files for OU801. v3.0.0 (05/15/02) - Added support for 5704. v2.2.13 (7/23/02) - Adjusted coalescing parameters. - Added vendor/device/subvendor/subsystem IDs in bcfg files for OU801. - Fixed hot-plug panic. v2.2.12 (05/23/02) - Fixed some OEM info. in bcfg files. v2.2.11 (05/14/02) - Added new OEM IDs. - Added html help page. v2.2.10 (04/12/02) - Fixed some Fiber related problems. - Added the required delay after changing GPIOs. v2.2.9 (04/03/02) - Added new OEM subsystem IDs. - Fixed linkup problem with a fiber switch. - Fixed flow control problems when autoneg. is disabled. v2.2.8 (03/28/02) - Added new device IDs. v2.2.7 (03/22/02) - Fixed problem auto-negotiating with 3Com fiber switch. - Implemented new LED scheme. v2.2.6 (03/12/02) - Added fix for certification synch up problems. v2.2.5 (03/08/02) - Completed fix for 10Mb certification panic problem. v2.2.4 (03/08/02) - Fixed 10Mb certification problem. - Improved fiber auto negotiation. - Fixed hang problem when installing 5702/5703 cards. v2.2.3 (02/27/02) - Added new PCI IDs for 5702/5703. - Added Ethernet@WireSpeed. - Fixed parity errors on 5703 in PCIX systems. v2.2.1 (02/06/02) - Fixed some problems with speed settings. v2.2.0 (02/01/02) - Fixed problems with 5702/5703. v2.0.24 (01/10/02) - Fixed a hang problem when fiber cable is disconnected. - Added an ioctl call for an OEM. v2.0.22 (12/12/01) - Fixed panic problem during driver removal. v2.0.21 (10/26/01) - Added support for 5702. v2.0.20 (09/24/01) - Fixed a panic caused by loading the driver with no cable attached. v2.0.19 (09/20/01) - Fixed hot plug problems. - Added failover feature. v2.0.18 (09/11/01) - Fixed the problem of over counting CRC errors. - Fixed the problem of late collisions at 1000 Mbps half duplex. v2.0.16 (08/25/01) - Fixed a hang problem on 5701A3 fiber cards. v2.0.14 (08/13/01) - Fixed an interrupt sharing problem at boot up time. v2.0.13 (08/06/01) - Fixed a hang problem on some machines that boot up with no fibre cable connected. v2.0.12 (08/03/01) - Fixed various fibre connection problems. v2.0.7 (07/16/01) - Fixed a multiple card problem. v2.0.6 (07/05/01) - Fixed the unit number for multiple boards. v2.0.5 (06/28/01) - Added support for more boards. - Fixed some instability problems when running Ganymede Chariot. v2.0.3 (06/04/01) - Added OEM support. v2.0.1 (05/23/01) - Fixed some MP locking problems. v1.0.9 (05/16/01) - Fixed problems in mdi and dlpmdi tests. v1.0.8 (05/15/01) - Added support for BCM5701. v1.7 (03/30/01) - Added fix for Athlon systems. v1.6 (03/23/01) - Fixed symbol conflict problem. v1.5 (03/15/01) - Added Jumbo frame support. - Added fibre support. - Improved performance. v1.4 (02/23/01) - Added support for PCIX systems. v1.3 (02/12/01) - Fixed pkg corruption problem after running netcfg to remove the driver. - Fixed packet loss error and multicast errors reported by the test suite. - Added console messages for link changes. v1.2 (01/25/01) - Improved performance by adding copy threshold parameters in space.c. v1.1 (01/15/01) - Fixed Multiprocessor hang problem. - Fixed line-speed setting problem. v1.0 (01/11/01) - First Release.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.