============================ R E L E A S E N O T E S ============================ Broadcom Ethernet Driver for DOS ODI Copyright (c) 2002-2009 Broadcom Corporation All rights reserved. Revision History ================ Version 12.0.2 March 27, 2009 ----------------------------- Enhancements: ============= 1. Added support for BCM5785 10/100 controllers. Notes: ====== 1. No release for v12.0.1, adjust version number to match with NDIS2. Version 12.0.0 March 12, 2009 ----------------------------- Notes: ====== 1. Adjust version number to match with NDIS2. Version 11.9.7 January 5, 2009 ------------------------------ Enhancements: ============= 1. Added support for BCM5761S controllers. 2. Updated Copyright banner to reflect year of 2009. Version 11.9.6 December 2, 2008 ------------------------------- 1. Problem: CQ #38770 - ODI-16: Driver is unable to recognize BCM5785. Cause: Driver found device when specified the PCI bus number in NET.CFG. When search from the system, driver mistaken for non-support device. Change: When search from the system, driver identified BCM5785 accordingly. Impact: None. Version 11.9.5 November 18, 2008 -------------------------------- 1. Problem: CQ #38565 - ODI/NDIS2: No LEDs are lit when after loading driver. Cause: Driver did not preserve the Miscellaneous Local Control register. Change: Driver performs read and modify when setting the Miscellaneous Local Control register. Impact: None. Version 11.9.4 November 7, 2008 ------------------------------- 1. Problem: Driver takes up to two minutes or longer to load when loading from floppy drive. Cause: Delay macro MM_Wait() uses 16 bit value instead of 32 bit value as the actual delay routine MM_Stall() expected. When booting up from a floppy drive, the upper 16 bit value on the stack happen to be non zero, so the wait takes much longer than anticipated. Change: Removed the use of the macro. Use the actual delay routine. Impact: None. Version 11.9.3 October 30, 2008 ------------------------------- 1. Problem: CQ #38216 - NDIS2/ODI16: BCM57780 is unable to link at 1G. Cause: Driver used incorrect Device ID for BCM57780. Change: Driver use correct Device ID for BCM57780. Impact: None. Version 11.9.2 October 28, 2008 ------------------------------- Enhancements: ============= 1. Added support for BCM57760 and BCM57790 controllers. Version 11.9.1 October 17, 2008 ------------------------------- Enhancements: ============= 1. Added support for the 5785 controllers. Version 11.9.0 October 14, 2008 ------------------------------- Enhancements: ============= 1. Added support for the 57780 controllers. Version 11.4.2 June 13, 2008 ---------------------------- 1. Problem: CQ #35755 DOS ODI 16 - Loading driver takes a significant time longer when Management FW is enabled. Cause: Driver mistaken for non PCI-E device and awaits for non existing event until timer is expired. Change: Driver takes corrective path. Impact: None. Version 11.4.1 May 29, 2008 --------------------------- 1. Problem: DASH processor stalls when the driver applies a GRC reset while the DASH processor is also accessing the GRC reset register. Cause: A LSI bug is causing this behavior. This driver implements the LSI recommended workaround. Change: The workaround requires the driver to acquire a mutex register before issuing the GRC reset. Impact: DASH firmware 0.96 or later is required for this fix to work. Version 11.4.0 April 25, 2008 ----------------------------- Enhancements: ============= 1. Change: CQ #34684: Add new banner. Impact : None. Version 11.0.8 March 07, 2008 ----------------------------- 1. Problem: DOS drivers loss of mgmt fw connection when DASH enabled. As in PXE CQ #33998. Cause: Drivers did not implement the new DASH firmware setup rules for the BCM5761/BCM5761E controllers. Change: Implemented required DASH firmware setup rules for the BCM5761/BCM5761E controllers. Impact: None. Version 11.0.7 February 11, 2008 -------------------------------- 1. Problem: CQ #33808: System might hang during driver bringup/shutdown if CLKREQ and ASPM L0s/L1 are enabled on PCI-E link control registers. Cause: Issuing a GRC reset with CLKREQ enabled is causing a global chip reset which causes PCI-E link to drop. Change: When ClkReq and L0s/L1 ASPM are enabled, driver will clear ClkReq enable bit before doing GRC reset and restore it after GRC reset. Impact: None. Version 11.0.6 January 29, 2008 ------------------------------- Enhancements: ============= 1. Implemented software workaround for BCM5764/BCM5784/BCM5723 B0 devices during Phy Reset. Version 11.0.5 January 29, 2008 ------------------------------- Enhancements: ============= 1. Removed support for BCM5784/BCM5764/BCM5723 Ax devices. 2. Implemented software workaround for AFE BW and Line Distortion problem based on the content of One-Time-Program (OTP) memory on the device. 3. Updated APE inter-processor interface code to work with updated DASH firmware for BCM5761/BCM5761E device. Notes: ====== 1. The Lower Module is aligned with PXE v11.0.10. Version 11.0.4 January 17, 2008 ------------------------------- Enhancements: ============= 1. Updated Copyright banner to reflect year of 2008. 2. Implemented software workaround for AFE BW and Line Distortion problem with BCM5764/BCM5784/BCM5723 B0 devices. Notes: ====== 1. The Lower Module is aligned with PXE v11.0.9. Version 11.0.3 December 7, 2007 ------------------------------- Enhancement: ============ 1. Added support for the BCM5723 controllers. Version 11.0.2 November 21, 2007 -------------------------------- Enhancements: ============= 1. Implemented required software workaround for BCM5764 A0/A1 where driver configures clock policy for CPMU block. 2. Added software handshake with DASH firmware for the BCM5761/BCM5761E controllers. Notes: ====== 1. The Lower Module is aligned with PXE v11.0.7. Version 11.0.1 October 23, 2007 ------------------------------- Enhancements: ============= 1. Optimized Tx performance for BCM5764/BCM5784 A0 devices by programming Maximum Read Request size to 4K. Version 11.0.0 October 12, 2007 ------------------------------- Enhancements: ============= 1. Request: Add support for the following devices: BCM5761, BCM5761E, BCM5764, and BCM5784. Change: Added support for the following devices: BCM5761, BCM5761E, BCM5764, and BCM5784. Impact: None. Notes: ====== 1. The Lower Module is aligned with PXE v11.0.2. 2. No release for v10.4.8 - v10.9.9. Version 10.4.7 July 13, 2007 ---------------------------- 1. Problem: CQ #29787: After unload ODI16 driver and load the driver again on 5703S, LineSpeed will become unknown. Cause: When driver was reloaded, its query line speed before the device was reset. Change: Driver to query line speed after the device is reset. Impact: none. Version 10.4.6 May 24, 2007 --------------------------- Enhancement: ============ 1. Request: Add support for the following device: BCM5756(BCM5755ME). Change: Added support for the following device: BCM5756(BCM5755ME). Impact: None. Version 10.4.5 May 23, 2007 --------------------------- Enhancement: ============ 1. Request: Remove support for the following device: BCM5756(BCM5755ME). Change: Removed support for the following device: BCM5756(BCM5755ME). Impact: None. Version 10.4.4 April 17, 2007 ----------------------------- Enhancement: ============ 1. Request: CQ #29087: Improve performance on PCI-Express mobile devices when they are interconnected with a certain mobile Intel chipset. Cause: There is an interoperability issue between the Broadcom LAN controllers and the INtel ICH7/8 that may cause the Rx-performance at 100 Mbps to be lower than expected when L1 ASPM is enabled along with system CPU C3E, or C4, or C4E, or higher state. Change: Changed the driver to disable L1 ASPM during initialization and restore the configuration at the driver shutdown. Impact: None. Version 10.4.3 March 1, 2007 ---------------------------- 1. Problem: CQ #28611 ODI-16 driver hangs when loading on disabled LOM. Cause: Driver to unload and releases its resources before initializes them. Change: Driver to unload and not releases its resources. Impact: none. Version 10.4.2 February 20, 2007 -------------------------------- 1. Problem: ODI-16 driver does not displays FuncNum when loading with out cable on multiple ports device. Cause: Driver incorrectly treated multiple ports as single port device when it detects no cable. Change: Driver identified multiple ports device correctly with out cable. Impact: multiple ports devices. Version 10.4.1 February 03, 2007 -------------------------------- Change: Adjust version number to match with other DOS family drivers. Impact: None. Version 10.4.0 January 15, 2007 ------------------------------- Enhancements: ============= 1. Request: Add support for the following devices: BCM5722 and BCM5756. Change: Added support for new device IDs. Impact: None. Notes: ====== 1. Changed version format from Major.Minor to Major.Minor.Version to match software releases. Version 10.03 December 15, 2006 ------------------------------- 1. Problem: CQ #27832: BCM5755M/GEN6 PHY failing IEEE in customer systems. Cause: System related issue, refer to CQ #27832. Change: Adding workaround after PHY Reset. Impact: BCM5755M only. Version 10.02 November 15, 2006 ------------------------------- Enhancement: ============ 1. Request: Remove support for the following devices: BCM5756 and BCM5722. Change: Removed support for the following devices: BCM5756 and BCM5722. Impact: None. Notes: ====== 1. No release for v10.01. Adjust version number to match with NDIS2 driver. Version 10.00 September 19, 2006 -------------------------------- Enhancements: ============= 1. Request: Add support for the following devices: BCM5906 family, BCM5756ME, and BCM5722. Change: Added support for new device IDs. Impact: None. Notes: ====== 1. The Lower Module is aligned with PXE v10.0.0. Version 9.12 August 22, 2006 ---------------------------- Enhancement: ============ 1. Request: Remove support for the following devices: BCM5906 family. Change: Removed support for the following devices: BCM5906 family. Impact: None. Version 9.11 August 11, 2006 ---------------------------- 1. Problem: CQ #26216: ODI-16 displayed wrong speed when forced or connected to 10Mbps or 100Mbps hub using BCM5906 Family. Cause: BCM5906 PHY core doesn't report highest common denominator (HCD) in PHY register 0x19 when AUTONEG is not enabled at link partner. Change: For BCM5906 devices, if HCD is not available (value of zero) then driver determines link speed by looking at other status bits that are specific to BCM5706 PHY core. Impact: BCM5906 devices. Notes: ====== 1. The Lower Module is aligned with PXE v9.7.6. Version 9.10 August 04, 2006 ---------------------------- 1. Problem: CQ #26040: ODI-16 driver v9.09 fails to determine the line speed. Cause: Free running timer in BCM5906 runs at a fixed-rate at 25MHz core clock. Change: Changed time-calibrating routine to use correct scaling factor. Impact: BCM5906 devices. Enhancement: ============ 1. Request: CQ #25849: BCM5906 fails to connect when forcing link speed settings. Change: Enhanced driver to enable Auto MDIX when link is forced at either 10Mbps or 100Mbps on BCM5906 devices. Impact: BCM5906 devices. Notes: ====== 1. The Lower Module is aligned with PXE v9.7.5. Driver is now used Host SendBD instead of NIC SendBD for BCM5705 family and beyond. Impact: BCM5705 family and beyond. Version 9.09 July 18, 2006 -------------------------- 1. Problem: CQ #25819: ODI-16 driver v9.08 fails to log on for 10half and 10full when user selected the speed and duplex. Cause: Driver does not record the user's selected speed and duplex. Change: Driver records the user's selected speed and duplex. Impact: None. 2. Problem: CQ #25848: ODI-16 driver v9.08 doesn't report link speed when it loads up on Fiber NICs. Cause: Driver does not record the speed and duplex when loaded up on fiber NICs. Change: Driver records the speed and duplex when loaded up on fiber NICs. Impact: None. Enhancement: ============ 1. Request: Add support for the following devices: BCM5906 family and BCM5755ME. Change: Added support for new device IDs. Impact: None. Notes: ====== 1. The Lower Module is aligned with PXE v9.7.1. Version 9.08 June 23, 2006 -------------------------- Enhancement: ============ 1. Request: Per CQ #9987: Driver to enable the HW fix for BCM575x family. Change: Driver enabled the HW fix for BCM575x family. Impact: BCM575x family. Notes: ====== 1. The Lower Module is aligned with PXE v9.4.5. 2. No release for v9.07. Adjust version number to match with NDIS2 driver. Version 9.06 May 11, 2006 ------------------------- Enhancements: ============= 1. Request: Remove support for the following devices: BCM5757 family, BCM5906 family, and BCM5755ME. Change: Removed support for the following devices: BCM5757 family, BCM5906 family, and BCM5755ME. Impact: None. 2. Request: CQ #24525: Programming the PHY Tabs to achieve better, more reliable Gig-E Link. Change: Programming the PHY Tabs after Phy Reset. Impact: BCM5754 family, BCM5755 family, BCM5786, and BCM5787 family. Version 9.05 May 02, 2006 ------------------------- 1. Problem: CQ #24545: DOS Driver causes system errors when the ASF v.7.0x is enabled. Cause: DOS driver does not support ASF but allowed ASF to run after a software reset. Without the require communications to ASF causes ASF to perform its tasks without realizing the driver is in operation, in turn causing system errors. Change: DOS driver terminates ASF after software reset. Impact: None. Version 9.04 April 14, 2006 --------------------------- Enhancement: ============ 1. Request: Add support for the following devices: BCM5757 family, BCM5906 family, and BCM5755ME. Change: Added support for new device IDs. Impact: None. Notes: ====== 1. No release for v9.03. Adjust version number to match with NDIS2 driver. Version 9.02 March 22, 2006 --------------------------- Enhancement: ============ 1. Request: Add support for the following devices: BCM5755 family and BCM5786. Change: Added support for new device IDs. Impact: None. Version 9.01 February 24, 2006 ------------------------------ Enhancement: ============ 1. Request: Remove support for device BCM5755 family. Change: Removed support for device BCM5755 family. Impact: None. Version 9.00 November 01, 2005 ------------------------------ Enhancement: ============ 1. Request: Add support for the following devices: BCM5755 family, BCM5787 family, BCM5714S, BCM5715S, and BCM5754 family. Change: Added support for new device IDs. Impact: None. 2. Removed PHY BER software workaround for BCM5755/BCM5787/BCM5754 family devices. Impact: None. Version 8.30 January 10, 2006 ----------------------------- 1. Problem: Implement "phantom link" workaround (when fiber cable is unplugged, the LED is still on) for BCM5714S and BCM5715S Serdes device family. Cause: PHY status register doesn't indicate valid link intermittently. Change: Driver to enable the H/W fix and query link status from the MAC status register. Impact: None. 2. Problem: CQ #14138 DOS ODI-16 Automation Fails on BCM5704S when LineSpeed was forced to 1000 in NET.CFG. Cause: LineSpeed was set at incorrect value. Change: Driver set LineSpeed accordingly. Impact: None. Version 8.29 December 20, 2005 ------------------------------ Enhancement: ============ 1. Request: Add support for BCM5714S, BCM5715S. Change: Added support for new device IDs. Impact: None. Version 8.28 December 1, 2005 ----------------------------- Enhancement: ============ 1. Request: Add support for the BCM5705F device. Change: Added support for new device ID. Impact: None. Version 8.27 October 24, 2005 ----------------------------- Change: Removed support for the following devices: BCM5755 family, BCM5787 family, BCM5714S, BCM5715S, and BCM5903M. Impact: None. Notes: ====== 1. No release for v8.26. Adjust version number to match with NDIS2 driver. Version 8.25 September 23, 2005 -------------------------------- Enhancement: ============ 1. Request: Add support for BCM5755 family devices. Change: Added support for new device IDs. Impact: None. Version 8.24 September 08, 2005 -------------------------------- Enhancement: ============ 1. Request: Add support for BCM5787 family devices, BCM5903M, BCM5714, BCM5714S, BCM5715, and BCM5715S. Change: Added support for new device IDs. Impact: None. Version 8.23 July 20, 2005 --------------------------- Change: Removed support for device: BCM5714,BCM5714S,BCM5715,BCM5715S. Impact: None. Notes: ======== 1. No release for v8.22. Adjust version number to match with NDIS2 driver. Version 8.21 May 12, 2005 ----------------------------- 1. Problem: CQ #12895: DOS ODI16 v8.16 driver does not detect cable on port 1 of HT-LE A4. Cause: Driver does not detect 5780 as a dual port device. Change: Driver detects 5780 as a dual port device. Impact: None. Notes: ====== 1. No release for v8.18-v8.20. Adjust version number to match with NDIS2 driver. Version 8.17 April 02, 2005 --------------------------- Change: Removed support for Hamilton family hardware: Hamilton family devices (BCM5714,BCM5714S,BCM5715,BCM5715S, BCM5780, BCM5780S). Impact: None. Version 8.16 April 01, 2005 ----------------------------- 1. Problem: Cannot load ODI driver when PCI-E NIC installed in PCI-Ex1 slots on MSI-7058 system. Similar of NDIS2 CQ #12564. Cause: Driver utilizes system's BIOS to detect the device. In this system, its BIOS did not return valid data to identify the PCI-E NIC when installed in PCI-Ex1 slots. Change: Driver scans for the device after BIOS detection failed. Impact: None. Version 8.15 March 17, 2005 ----------------------------- Enhancements: ============= 1. Request: Added support for new device IDs, 5780 devices (BCM5780 and BCM5780S). Change: Add support for new device IDs. Impact: None. Version 8.14 March 15, 2005 --------------------------- Enhancement: ============ 1. Request: Added support for Baxter family devices (BCM5752,BCM5752M) and Hamilton family devices (BCM5714,BCM5714S). Change: Add support for Baxter and Hamilton hardware. Impact: None. Version 8.13 March 01, 2005 --------------------------- Change: Removed support for Baxter and Hamilton family hardware: Baxter family devices (BCM5752,BCM5752M) and Hamilton family devices (BCM5714,BCM5714S,BCM5715,BCM5715S). Impact: None. Version 8.12 February 10, 2005 ------------------------------ 1. Problem: CQ #12121: Not able to map to server after driver is loaded. Driver doesn't work with Hamilton/HTLE A1 or newer devices. Cause: ASIC IDs for Hamilton and HTLE A1 or newer have been changed from 5 to 9 and 8, respectively. Change: Changed Driver to accomodate the ASIC ID changes. Impact: None. Version 8.11 January 13, 2005 ------------------------------ 1. Problem: CQ #11735: DOS ODI16: Unable to connect to Server with Hamilton board. Driver does not work with Hamilton devices. Cause: There is an ASIC problem where the device misdetects parity errors. This causes DMA engine to halt after first DMA write transaction. Change: Added software workaround by disabling device's parity detection logic. Impact: None. Notes: ======== 1. The download firmware in use is v1.16.0 to align with PXE. Only impact BCM5701/02/03/04. Version 8.10 December 17, 2004 ------------------------------- Enhancement: ============ 1. Request: Added support for Baxter family devices (BCM5752,BCM5752M) and Hamilton family devices (BCM5714,BCM5714S,BCM5715 BCM5715S). Change: Add support for Baxter and Hamilton hardware. Impact: None. Notes: ====== 1. No release for v7.74-v8.09. Adjust version number for new NICs support. version 7.73 December 01, 2004 ------------------------------- 1. Problem: CQ #11439: 16bit ODI driver failed when tested with RPL/PXE. Cause: The fix for CQ #11357 using INT 21h leaves system that boots up remotely using RPL/PXE in an unknown state. Change: Driver scans DOS memory block to determine if TCPIP stack is resident. Impact: None. version 7.72 November 22, 2004 ------------------------------- 1. Problem: CQ #11357: DOS ODI with NSUP using TCPIP has poor transmit performance. Cause: Driver transmits packets out of TCP/IP sequence, which causes the Protocol to delay and retransmit as of CQ #7650 of the B44.ODI. Change: Driver waits for the previous transmission to be completed then process the current transmit request when using with TCPIP stack. Impact: None. version 7.71 November 11, 2004 ------------------------------- 1. Problem: CQ #11271: Driver to install up on device with cable connected. Cause: Driver already have logic to detect and load up on the device that has cable connected. However, the time to detect the cable was not significant to allow some switches to finish its link establishment process. So, the driver determines there is no link prematurely then load up on the first found device. Change: Driver continuously senses for 3 seconds before determines there is no link. Impact: Driver load time will be a multiple of 3 seconds per NICs on multiple NICs system that has only one cable connected. Enhancements: ============= 1. Request: CQ #11117: SerDes Pre-Emphasis Enhancement Request. Change: This modification was made in the driver download firmware v1.15.0. Impact: None. 2. Request: CQ #11194: To check for out-of-range Busnum, Devnum, and Funcnum entries in NET.CFG. Change: Driver checks for out-of-range Busnum, Devnum, and Funcnum entries in NET.CFG and display messages accordingly. Impact: None. version 7.70 October 08, 2004 ------------------------------- Enhancements: ============= 1. Change: Add support for 5753, 5753M, 5753F and 5781. Impact : None. version 7.69 August 26, 2004 ------------------------------- 1. Problem: When The ODI Driver is unloaded other devices that shared the same IRQ are disabled. Cause: When The ODI Driver is unloaded, it masks off its own IRQ which could also be shared with other devices. This effectively disables those devices. Change: Driver preserves and restores the interrupt mask value when it loads and unloads. Impact: None. version 7.68 August 25, 2004 ------------------------------- 1. Problem: CQ #10827: Systems with Adaptec CERC SATA 1.5/6ch hang when unloading Broadcom NIC Driver. Cause: Driver restores the flags register without preserving it when its unloads. Change: Driver preserves the flags register and restores it accordingly. Impact: None. version 7.67 August 19, 2004 ------------------------------- 1. Problem: CQ #10794: When DOS ODI driver is unloaded, it does not restore the interrupt mask bit. Cause: Driver does not restore the interrupt mask bit when its unloads. Change: Driver restores the interrupt mask bit when its unloads. Impact: None. version 7.66 June 25, 2004 ------------------------------- 1. Problem: CQ #10470: Broadcom Manufacturing Diagnostics Hanging on Interrupt Tests on OEM platform after the ODI driver loads and unloads. Cause: Driver enables Tag Status Mode (BIT 9) in the Miscellaneous Host Control Register (Reg 0x68). This bit does not get clear on Diagnostics' reset. Change: Driver clears this bit when its unloads. Impact: None. 2. Problem: CQ #10478: ODI driver loads with invalid BusNum/DevNum (0 and -1). Cause: Driver does not detect these values as in-valid. Change: Driver aborts with 0 and -1 BusNum and DevNum. Impact: None. version 7.65 June 18, 2004 ------------------------------- Enhancements: ============= 1. Request: Added Capacitive Coupling support for BCM5705 devices. Change: Enable capacitive coupling feature on the PHY if this feature is administratively enabled. Impact : None. version 7.64 June 01, 2004 ------------------------------- Enhancements: ============= 1. Change: Add support for 5751F and 5789. Impact : None. version 7.63 May 25, 2004 ------------------------------- 1. Problem: CQ #10190: ODI driver crashes system with invalid BusNum/DevNum in NET.CFG. Cause: Driver calls function with invalid values. Change: Driver aborts with invalid BusNum and DevNum. Impact: None. Enhancements: ============= 1. Change: Add support for a test device. Impact : None. Notes: ====== 1. The Lower Module is aligned with PXE v7.5.15. version 7.62 May 12, 2004 ------------------------------- 1. Problem: CQ #9968: Unable to use BusNum and DevNum parameters to load driver when BusNum is greater than 15. Cause: Driver compares the user's input with the device's value using only the lease significant byte. Change: Driver compares with word size. Impact: None. 2. Problem: When disconnect/reconnect using 3 pairs cable, NDIS2 driver takes about 34-35 seconds to get the link and causes the system to suspend during this link re-establishment period. Cause: When the 3 pairs cable is reconnected, its takes approximately 17 seconds until the driver detects the link change activity. The driver is then resets the PHY, which causes another 17 seconds before the NIC could gets the link back. Driver polls for the link during the link re-establishment. Change: Driver resets the PHY as when its detects the cable is disconnected. Driver does not poll for link during link re-establishment. Impact: None. Enhancements: ============= 1. Change: Add support for device was previously removed per CQ #9955. Impact : None. version 7.61 April 23, 2004 ------------------------------- 1. Problem: CQ #9955: Need to remove support for an untested controller. Cause: The controller has not been tested for this release. Change: PCI Device ID for non-production controller was removed from driver. Impact: None. version 7.60 April 19, 2004 ------------------------------- 1. Problem: Driver might not detects link if RJ-45 cable has broken pairs with Shasta family devices. Cause: Ethernet@WireSpeed is not enabled and Driver doesn't wait long enough before declaring no link. Change: Driver to enable Ethernet@WireSpeed and waits longer before declaring no link. Impact: Driver might takes longer to load when cable is not present and/or loading on multiple NICs system. 2. Problem: On certain corners, Bit-Error-Rate(BER) was higher than desired when cable length was 70m or less. Cause: PHY related issue. Change: Applied the workaround for higher BER problem. Impact: 5705 Family and later. 3. Problem: CQ #9814: Unable to unload driver with LSL /f. Cause: Driver hooked its Timer Tick through DOS. Change: Driver hooked its Timer Tick using LSL's Support MLIDSUP_SCHEDULE_AES_EVENT. Impact: None. 4. Problem: CQ #9873: When the NIC is configured in Shasta Mac Mode, the Speed LED stuck at 10 Mbps after the cable was moved to different switches that has different speed set up. Cause: Driver did not update the setting of the MI Status Register properly when speed is changed. Change: Driver update the setting of the MI Status Register according the changed speed. Impact: None. Notes: ====== 1. This code base was merged with v7.11 to carry over its fixes of problem 1 & 2. 2. The Lower Module is aligned with PXE v7.5.13. version 7.59 April 09, 2004 ------------------------------- Enhancements: ============= 1. Change: per CQ #9792: Add new banner. Impact : None. version 7.58 April 05, 2004 ------------------------------- 1. Problem: Shasta shared traffic/link LED mode doesn't work. Cause: There is a bug in Shasta A0/A1 (MAC block) where shared traffic/link LED mode doesn't work correctly. Change: Driver to program the device to use this feature provided by the PHY block. Impact: None. Enhancement: ============ 1. Request: LED mode is now programmed only by the boot code firmware. Change: Driver doesn't program LED mode for Shasta family devices. Impact: None. Notes: ======== 1. The Lower Module is aligned with PXE v7.5.12. version 7.57 March 29, 2004 ------------------------------- Enhancements: ============= 1. Change: per CQ #9678: Add new banner. Impact : None. version 7.56 March 16, 2004 ------------------------------- 1. Problem: CQ #9582: Link problems when forcing speeds on Cisco Catalyst switch. Cause: Driver forces selected speed before the PHY reset process is completed. Change: Driver waits for the PHY reset process to be completed before forcing the selected speed. Impact: None. Notes: ====== 1. This code base was merged with v7.10 to carry over its fixes but w/o Banner change. version 7.55 February 26, 2004 ------------------------------- 1. Problem: System hangs while loading NDIS2 on BCM5751/21 A1 silicon during a cold boot. Cause: BCM5721/51 A1 or newer silicon has fixes so that PCI Express link is maintained after a GRC reset. Driver enabled this fix while issuing GRC reset without realizing it was previously disabled. Change: Driver to enable this fix before issue GRC reset. Impact: None. Enhancements: ============= 1. Request: Enable H/W fixes for BCM5721/51. Change : Enable Rx FIFO fix. Impact : None. Notes: ====== 1. The Lower Module is aligned with PXE v7.5.9. version 7.54 February 19, 2004 ------------------------------- 1. Problem: System generates an NMI whenever driver issues software GRC reset. Cause: BCM5751/21 A0 silicon device does not generate Completion TLP associated with the last Configuration Write to the chipset. Due to this abnormality, the chipset will generate a NMI as fatal completion timeout error. Change: Added a software workaround in the driver so that core clock is slowed down to 6.25MHz which will give some time for the PCI-E block to send back Completion TLP to the chipset. Impact: None. 2. Problem: After a GRC reset, link is dropped and therefore retrained with link partner. Link retrain might take up to 500ms. If device is accessed before link retrain is complete, system might lock up or encounter fatal errors. This change only applies to BCM5751/21 (PCI express family) revision A0 devices. Cause: BCM5751/21 A0 silicon. Change: Changed chip reset routine to delay 500ms after A GRC reset. Impact: None. Enhancement: ============ 1. Request: Add additional LED modes for BCM575x/2x family. Change: Changed to support new LED modes. Impact: None. 2. Request: BCM5721/51 A1 or newer silicon has fixes so that PCI Express link is maintained after a GRC reset. Change: Driver to enable this fix so that PCI express link doesn't drop. Impact: None. 3. Request: Banner change to NetLink (TM) for BCM5788 device. Change: Driver displays NetLink (TM) when load up on BCM5788 device. Impact: None. Notes: ====== 1. The Lower Module is aligned with PXE v7.5.8. version 7.53 January 10, 2004 ------------------------------- 1. Problem: CQ #9091: Driver will not load when PXE is enabled and Unable to load/unload DOS ODI driver multiple times. Cause: Driver uses of register during initialization to determine if the NIC is in used by another instance of the driver was contaminated when PXE is loaded. Change: Driver uses other register that is not conflict with PXE. Impact: None. Notes: ====== 1. The Lower Module is aligned with PXE v7.5.4. Version 7.52 December 19, 2003 ------------------------------- 1. Problem: CQ #8974: DOS ODI driver hangs and displays "Divide Overflow". Cause: Driver initializes the use of NIC's core clock BEFORE enable the PCI access, result with the loop count of zero for the Delay routine. Change: Driver initializes the use of NIC's core clock AFTER enable the PCI access. Impact: None. 2. Problem: CQ #9050: DOS ODI driver displays incorrect link speed with ASF enabled. Cause: Driver did not shut down ASF. Change: Driver shut down ASF during initialization when detects ASF is enabled. Impact: None. Notes: ====== 1. This code base was merged with v7.09 to carry over its fixes. Version 7.51 November 26, 2003 ------------------------------- 1. Problem: CQ #8944: ODI driver is not picking up the right MAC Address. Cause: Missing one MAC register read due to source code condition compilation. Change: Included complete read of the MAC address registers. Impact: None. 2. Problem: ODI driver failed Read/Write stress test when there are more than one UUT. Cause: Driver picked the wrong MAC address (CQ #8944) and uses the same MAC address resulting duplicate MAC address on the LAN. Change: Included complete read of the MAC address registers. Impact: None. 3. Problem: ODI driver takes 20-30 minutes to bind protocols when used with 5751 NIC. Cause: Delay value was too large for the current delay routine, which uses the system's timer tick as one unit (54ms). Change: Driver uses NIC's core clock to calculate number of loop for the delay routine to achieve approximate 1us as one unit. Impact: Driver will initializes faster. Version 7.50 November 21, 2003 ------------------------------- Enhancement: ============ 1. Request: Add full support for BCM5751/21-based NICs/LOMs (PCI Express interface). Change: The Lower Module is ported from PXE v7.5.2 (since PXE v6.2.4 ported at ODI v6.05). Impact: None. Notes: ====== 1. No release for v7.12-v7.49. Adjust version number for new NICs support. version 7.11 April 19, 2004 ------------------------------- 1. Problem: Driver might not detects link if RJ-45 cable has broken pairs with Shasta family devices. Cause: Ethernet@WireSpeed is not enabled and Driver doesn't wait long enough before declaring no link. Change: Driver to enable Ethernet@WireSpeed and waits longer before declaring no link. Impact: Driver might takes longer to load when cable is not present and/or loading on multiple NICs system. 2. Problem: On certain corners, Bit-Error-Rate(BER) was higher than desired when cable length was 70m or less. Cause: PHY related issue. Change: Applied the workaround for higher BER problem. Impact: 5705 Family and later. version 7.10 April 09, 2004 ------------------------------- 1. Problem: CQ #9582: Link problems when forcing speeds on Cisco Catalyst switch. Cause: Driver forces selected speed before the PHY reset process is completed. Change: Driver waits for the PHY reset process to be completed before forcing the selected speed. Impact: None. Enhancement: ============ 1. Change: Driver displays NetLink (TM) when load up on BCM5788 device. Impact: None. 2. Change: per CQ #9792: Add new banner. Impact : None. version 7.09 December 18, 2003 ------------------------------ Enhancement: ============ 1. Request: Banner change. Change: Sign on banner and display messages same as DOS NDIS2 driver. Impact: None. version 7.08 November 08, 2003 ------------------------------ 1. Problem: CQ #8804: Using PowerQuest v5.5 with multicast caused system to hang. Cause: Driver's Interrupt Service Routine was continuously re-entered due to the system's interrupts was re-enabled after the Update Status Block Flag was cleared and before PCI interrupt INTA# gets cleared. This blocked the remainder of the ISR to be executed. Change: Driver clears the PCI interrupt INTA# right after Update Status Block Flag gets cleared and before the system's interrupts get re-enabled. Impact: None. version 7.07 October 24, 2003 ---------------------------- 1. Problem: None. Change: PCI configuration data register (0xCFC) does NOT needed to be preserve in Driver's PCI configuration Read and Write subroutines. Removed the preserve of PCI configuration data register (0xCFC) that was put in v7.05. Impact: This would remove unnecessary I/O cycles every time the driver accesses the PCI configuration area. 2. Problem: CQ #8554: DOS ODI-16 driver hangs during process of loading the driver after booting up using PXE Remote Boot up on Intel PDK server. Cause: Driver preserved and restored the PCI configuration data register (0xCFC) and the PCI configuration command register (0xCF8) around the NIC's Initialization routine. When booting up from Intel PDK sever in this case, data in the register 0xCFC and 0xCF8 had such values that when they were restored it would mask off PCI interrupt INTA# output. Change: Removed the preserve and restore of the PCI configuration data register (0xCFC) and the PCI configuration command register (0xCF8) around the NIC's Initialization routine to leave the Miscellaneous Host Control Register with the value where the NIC's Initialization routine was set at. Impact: None. 3. Problem: When attempting to force the 100/Full or Half with LineSpeed forced in the NET.CFG file while the switch is set to AutoNeg. The driver's sign on message indicates "forced", but the switch reports 100 Full when it should reports 100 Half. Cause: Driver configured the NIC properly but on some switch; it's required a "line drop" to update the duplex status. Change: Driver toggled the SuperIsolate bit to simulate a "line drop" that allows the far-end to adjust to the forced speed and duplex. Impact: None. Enhancements: ============= 1. Request: None. Change: Displays "forced" when LineSpeed and Duplex were forced in NET.CFG. Impact: None. version 7.06 October 21, 2003 ---------------------------- Fixes: ====== 1. Problem: CQ #8628: DOS ODI-16 driver hangs during process of loading the driver after booting up using PXE Remote Boot up on 3Com DABS PXE server. Cause: Driver's ISR calls the ISR chain whether or not the interrupt is generated by the NIC or not. Change: Driver's ISR calls the ISR chain ONLY when the interrupt is NOT generated by the NIC. Impact: none. Version 7.05 October 03, 2003 ---------------------------- Fixes: ====== 1. Problem: CQ #8554: DOS ODI-16 driver hangs during process of loading the driver after booting up using PXE Remote Boot up on Intel PDK server . Cause: PCI configuration data register (0xCFC) was not preserve in Driver's PCI configuration Read and Write subroutines. Change: Driver preserves PCI configuration data register (0xCFC) also. Impact: none. Version 7.04 September 09, 2003 ---------------------------- Fixes: ====== 1. Problem: Driver does not display message: "The B57 driver has been successfully removed." after finished unloading. Cause: Driver terminated prematurely before displays the message. This was introduced since v6.11. Change: Driver displays the message then terminate. Impact: none. 2. Problem: (CQ #8434) When perform stress LOAD/UNLOAD, the system hangs after 161 to 1700 iterations. Cause: Driver unloads without checking for TSR installed above itself. Change: Driver unloads after checking for TSR installed above itself. Impact: none. Version 7.03 September 05, 2003 ---------------------------- Fixes: ====== 1. Problem: DOS ODI 16 cannot unload while in "Full Size" mode with 5700 A and B step devices. Cause: Driver does not de-allocate the extra memory that was required to run in "full size" mode with 5700 A and B step devices. Change: Driver releases the extra memory when shutdown. Impact: 5700 A and B step devices. Version 7.02 August 29, 2003 ---------------------------- Fixes: ====== 1. Problem: (CQ #8403) DOS ODI 16 - Cannot pass traffic on fiber NIC. Cause: Lower Module required to instruct firmware (v1.14.0) to use AUTONEG or 1000Mbps FULL for fiber NIC. Change: Lower Module commands firmware to use AUTONEG or 1000Mbps FULL for fiber NIC. Impact: Fiber NIC. Version 7.01 August 29, 2003 ---------------------------- Fixes: ====== 1. Problem: Driver uses zero MAC address on 5700 & 5701-based NIC/LOM when reads it from Serial EEPROM. Cause: Serial EEPROM routine has a bug, which causes MAC address in the serial EEPROM cannot be read correctly. Change: Fixed serial EEPROM driver so that MAC address can be read correctly. Impact: None. Notes: ====== 1. This is a "theoretical problem" only. Version 7.00 August 26, 2003 ------------------------- Fixes: ====== 1. Problem: (CQ #8241) Driver causes divide over flow if IRQ is disabled in BIOS. Cause: Driver still loads when BIOS provided with an invalid IRQ. Change: Driver only loads when BIOS provided with IRQ value between 2 and 15. Impact: none. 2. Problem: Driver uses same MAC address for both ports on 5704 NIC when reads it from NVRAM. Cause: Driver uses the same offset for both ports. Change: Driver uses correct offset for the second port. Impact: none. Enhancements: ============= 1. Request: Improve bit error performance of 5703AX and 5704AX when used with long cable lengths. Change: Program the phy's ADC and Gamma registers to more optimum settings. Impact: None. 2. Request: Improve Serdes drive levels on 5704s. Change: Programed the serdes config registers so that SerDes' drive transmission level is 1.2V. This modification was made in the driver download firmware v1.14.0. Impact: None. Notes: ====== 1. Firmware v1.14.0 is used in place of v1.9.0 was used since DOS ODI v6.07. 2. No release for v6.13-v6.99. Version 6.12 August 19, 2003 ------------------------- Fixes: ====== 1. Problem: (CQ #8289) PowerQuest could not establish connection. Cause: The driver had disabled net.cfg parsing for debug and it had not restored the code for production driver. Protocol 802.2 was the default, but Ethernet_II frame type was required. Change: The debug driver code was taken out. Impact: All adapters. 2. Problem: (CQ #8158) When repeatedly booting the system, loading the DOS ODI driver, connecting to a Netware server, and rebooting, the system will intermittantly have a problem connecting to the server. Cause: The phy initialization code would sometimes finish before properly completing. Change: The delay time was increased to ensure completion. Impact: All adapters. Version 6.11 August 13, 2003 ------------------------- Fixes: ====== 1. Problem: The driver could only be loaded and unloaded sequentaily a fixed number of times depending on the number config.sys files= command was set to. Cause: The initialization code was interfering with DOS by overwriting the FILES = stack space. Change: Driver init code now uses a seperate stack. Impact: Change is on all adapters. Enhancements: ============= 1. Request: Support 5704 b0. Change: Updated code to support 5704 b0. Impact: None. Version 6.10 July 14, 2003 ------------------------- Fixes: ====== 1. Problem: (CQ #8117) Factory test process locks-up after executing VLM.exe with DOS ODI. Cause: A stack problem in the interrupt enable code in the driver. Change: Interrupt enable code stack fixed in driver. No other changes. Impact: No noticable impact. Notes: ====== 1. v6.09 is Engineer release for testing purpose only. Version 6.08 May 22, 2003 ---------------------------- Fixes: ====== 1. Problem: (CQ #7839) (CQ #7840) When connected to a hub, a momentary disconnect will cause a loss of network connection until the driver is reloaded. Cause: The NIC does not generates PHY Change Interrupt after the PHY Reset when the link is first lost. Change: Driver preserves and restores Auto-negotiation advertisement register after the PHY Reset. Impact: None. 2. Problem: User tries to force 1G. Cause: Driver allows parameter to be set. Change: Driver will perform Auto-negotiation when LineSpeed is set to 1000. Impact: None. Version 6.07 May 12, 2003 ---------------------------- Fixes: ====== 1. Problem: (CQ #4981) Running PERFORM3 test with a 5703S causes the system to either hang or reboot. (CQ #7448) When using DOS ODI and ODINSUP running NetBEUI protocol, some systems may not be able to use remote drives. (CQ #7449) Stressing a SUT running Netbeui on ODINSUP may eventually hang the machine. Cause: The timer function corrupted the stack. Change: Assigned correct stack label to timer function. Impact: None 2. Problem: (CQ #7683) Intermittently slow with BCM5704 Serdes/ CIOBE Serdes. Cause: Firmware (v1.8.0) performs autonegotiation when link is up and hardware autonegotiation logic indicates AUTONEG is completed. Change: Changed the firmware (v1.9.0) so that it will not perform autonegotiation when link is up and hardware autonegotiation logic indicates AUTONEG complete. Impact: 5704 Serdes/CIOBE Serdes. 3. Problem: (CQ #7718) Link detection intermittently fails when ASF is enabled. Cause: Contention with ASF firmware polls for PHY registers during PHY reset routine with PHY lockup Work-Around. Change: Driver stops ASF firmware before accessing PHY during initialization. Impact: When ASF is enabled, link establishment will take twice as long when ASF is disabled. 4. Problem: (CQ #7648) Fixed a problem where dynamic 10/100 or 10/100/1000 PHY auto-neg advertising based on GPIO2 state might not work correctly and appears to take a long time to re-establish the link. Cause: This issue was introduced when the PHY lockup workaround was added. This problem only occurs on the platform where the GPIO2 state is used for dynamic PHY auto-neg. Change: Changed the PHY lockup workaround code so that it restores AUTONEG configuration. Impact: None. 5. Problem: (CQ #7706) Fixed a problem where driver reports a forced LineSpeed when there is no cable detected. Cause: Driver was not checking for link when LineSpeed and Duplex were forced. Change: Driver checks for link always. Impact: None. Enhancements: ============= 1. Request: Added Keywords to force LineSpeed and Duplex in NET.CFG file Change: Recognize LINESPEED and DUPLEX keywords and force the speed and duplex mode accordingly. Impact: None. Notes: ====== 1. Problem #2 to #5 are fixed carry over from NDIS2's Lower Module. Version 6.06 April 29, 2003 ---------------------------- Fixes: ====== 1. Problem: The PHY lockup problem described in v6.05 Fix #3 below theoretically can affect other PHY cores in 5703 and 5705. Cause: A Hardware bug in the PHY core. Probability of lockup is extremely small. Change: Expanded the lockup detection and recovery code to include 5703, 5704, and 5705. Also changed the driver to do a PHY reset on link down. Impact: 5703 and 5704. 2. Problem: Driver cannot detect a link change status when the driver first initializes without cable attached. Cause: When the driver initializes without a cable attached, the driver does not enable the Link Change Status Interrupt. Change: Enable Link Change Status Interrupt during driver initiation even when cable is not attached. Impact: None. 3. Problem: When the cable is disconnected and reconnected, its takes longer than expected to re-establish link. Cause: When the cable is reconnected, the driver runs a Setup PHY function that has a long delay. Change: Reduce the delay time in Setup PHY function. Impact: None. Version 6.05 April 25, 2003 ---------------------------- Fixes: ====== 1. Problem: (CQ #7380) Driver is not functional with 5700 A and B step devices due to the smaller internal memory model being used by downloading exclusive firmware for the 16-bit(DOS) drivers. Cause: The exclusive firmware for 16-bit(DOS) drivers prevents the factory loaded firmware from providing a work-around for the 5700 A/B devices as described in the device errata. Change: Added 5700 support. When the driver is loading on a 5700 A/B device, it will not download the exclusive firmware for the 16-bit(DOS) driver. It will allocate an additional 48KB of memory. Impact: For 5700 A/B support, the memory footprint of the driver will be ~83KB. 2. Problem: (CQ #6467) Intermittently, the 5704S Fiber NIC cannot pass traffic when connecting to a 3COM SuperStack 4900sx switch after a system-soft reset. Cause: Auto-Negotiation timing. Change: The fix was in the firmware that gets download during initialization. Impact: 5704S Fiber. Enhancements: ============= 1. Request: Added support for dynamic 10/100 or 10/100/1000 phy auto-neg advertising for certain platforms. Change: Added a check for the state of GPIO2 during link change events and adjust auto-neg capability advertising accordingly. Impact: None. Notes: ====== 1. The code base for this version is from v6.04 with the 5704 PHY lock up work-around and zero MAC address fixes in v6.03.2 2. The Lower Module is ported from PXE v6.2.4. Version 6.03.2 April 18, 2003 ------------------------- Fixes: ====== 1. Problem: (CQ #7280) Cause: Phy Locks up when continual resets to phy occur. Note:This a very rare condition and may not be reproducible. Change: Check the phy after each phy reset to determine if lockup occurs. Additional phy reset clears lockup. Impact: The fix to this problem should not be noticeable. Version 6.03.1 April 18, 2003 ------------------------- Enhancements: ============= 1. Request: Removal of all 5704/CIOBE support. Change: Code for 5704/CIOBE detection was removed in the driver. Check for zero MAC ADDRESS included to syncronize with other driver code. Impact: Driver will not detect or load on any 5704/CIOBE device. Please note that non-5704 support may contradict other documentation. No other impact. 03/20/03 -v6.04 Added 5788 support. 03/06/03 -V6.03 Removed support for 5700. 02/14/03 -V6.02 Updated Device IDs. 02/07/03 - v6.00 Fixed 5704 function (FUNNUM) loading and fiber support. 01/09/03 - v5.02 Fixed the SUBVID keyword. 12/13/02 - v5.01 Fixed Keyword bugs found w/DEVNUM etc. 09/24/02 - v5.00- Fixed problem with ASF enabled. Updated with PXE's LM v3.1.14. Added support for 5705, 5901, & 5704 Fiber. 08/20/02 -v3.01 Removed support for 5705 & 5901. 08/13/02 -v3.00 Added support for 5705 & 5901. 07/23/02 -v1.22 Fixed intermittent hang during driver load. 07/12/02 -v1.21 Slight change to firmware. 07/10/02 -v1.20 Reduced size of driver to 31K. 06/18/02 -v1.19 Fixed debug screen dump. Added display of PCI adapter configuration. Suports 5704. 05/16/02 -v1.18 Fixed MAC address display. 04/18/02 -v1.17 Fixed 100 half duplex bug. 04/03/02 -v1.16 Enhanced the fiber support. 02/28/02 -v1.15 Added wirespeed feature, decreased memory footprint, added device ids. 02/04/02 -v1.14 Fixed occasional drop connection problem when using IRQ 7. 01/25/02 -v1.13 Updated phy support for 5702/3. 01/22/02 -v1.12 Fixed 8023z support. 01/21/02 -v1.11 Fiber Support added. 01/04/02 -v1.10 Added MODEL keyword to load on first found matching SVID. 12/13/01 -v1.09 Better support for 5411 phy. 12/07/01 -v1.08 Fixed other PCI-X initialization problem. 11/27/01 -v1.07 Fixed PCI-X initialization problem. 10/26/01 -v1.06 Fix for speed value in sign on message. Additional board detection. 05/25/01 -v1.05 Fix for compatability with video adapters. 05/16/01 -v1.04 Fix for interrupt sharing problem. Added BUSNUM DEVNUM keywords. 05/02/01 -v1.03 Supports integrated mac 03/23/01 -v1.02 Driver Size reduction 03/01/01 -v1.00 Modified to work with ODINSUP 12/05/00 -v0.07 Added interrupt sharing, and unload support. 12/01/00 -v0.06 Added better link support. 11/28/00 -v0.05 Added code for better performance. 11/22/00 - v0.03- Changed code to fix bugs. 11/16/00 - v0.02- First Engineering Release.