============================ R E L E A S E N O T E S ============================ Broadcom NetXtreme Gigabit Ethernet Driver For Windows 2003 32/64 bit versions , Windows XP 32/64 bit versions, Windows 2000, Windows NT 4.0, Windows ME, Win98/SE. Copyright (c) 2000-2005 Broadcom Corporation All rights reserved. Version 7.100 January 17, 2005 ---------------------------------------- 1. Problem: CQ11139, CQ11143 - PCI Config Offset 0x30 (rom base address) is writable. Cause: The windows device driver enabled making rom base address register writable when only PXE should enable this register to be writable. Change: Modified the device driver to not make the rom base address reguster writable. Impact: Resolve CQ11139 issue. 2. Problem: Unable to read past offset 264 of the flash on 5703, 5704 and 5705. Cause: A change to support new flash devices for 5750 was causing the device driver to incorrectly read from the flash. Change: Corrected flash support for 5703, 5704 and 5750. Impact: None. 3. Problem: Unable to read serial eeproms on 5700 and 5701. Cause: A change to support gpio and asf for 5750 was causing the device driver to not properly initialize the serial eeprom support. Change: Corrected serial eeprom support for 5700 and 5701. Impact: None. Version 7.99 January 11, 2005 ---------------------------------------- 1. Problem: CQ11158 - Low performance when LSO is enabled on 5788 when running chariot. Cause: As a result for fix CQ11463 the minimum number of LSO segments was set to 3. However the majority of chariot transactions consisted of only 2 segments. Change: Changed the minimum number of LSO segments back to 2. Modified the driver to scan for corner case transactions that was causing CQ11463 and bypass the LSO firmware for the affected transactions. Impact: Resolve CQ11158 issue. 2. Problem: CQ11819 - Driver returns 0 for statistics when calling OIDs using a 32 bit buffer Cause: The driver attempt to adjust data for 32 application put the result in wrong location. Change: Modified the driver to adjust data for 32 application to put the result in proper location. Impact: Resolve CQ11819 issue. 3. Problem: CQ11780 - MAC address corruption issue after cold or warm boot CQ11764 - Burned in address shows up as Multicast or wrong address on NICs with IPMI Cause: Recovery time needed between Rx CPU halt and first NVRam read (5704). Change: Modified the driver to not release the Rx CPU NVRam request if the Rx CPU was halted while its NVRam request is pending. The request is removed the next time NVRam access is needed. Impact: Longer init time may occur for 5704 devices (up to .5 seconds). Version 7.98 December 21, 2004 ---------------------------------------- 1. Problem: CQ11723 - Internal file name in properties for b57amd64.sys of v7.97 had extra characters and displayed b57netamd64.sys Cause: The compile file specifier had b57netamd64 as OS name. Change: Changed the compile file specifier to b57amd64 for OS name. Impact: Resolve CQ11723 issue. This was only a cosmetics issue and had no effect on operation of the AMD64 driver. Version 7.97 December 06, 2004 ---------------------------------------- 1. Problem: CQ11487 - AMD64 inf is missing Checksum Offload, LargeSend, and Wirespeed options Cause: Advanced Option List was incomplete for AMD64 installation. Change: Added Advanced Option missing entries for AMD64 installation. Impact: Resolve CQ11487 issue. 2. Problem: CQ11532 - Need to remove 5753F support. Cause: Unsupported device at this time. Change: Removed 5753F support from all install INF files. Impact: Resolve CQ11532 issue. 3. Problem: CQ11521 - Configuring ASF in Windows XP32 using ASFConfig Corrupts Firmware on 5721 B1 (Flash ST M45PE10) Cause: Driver device support for ST M45PE10 had incomplete command sequence for Write of NVRAM Flash device. Change: Corrected Driver device support for ST M45PE10. Impact: Resolve CQ11521 issue. Version 7.96 December 01, 2004 ---------------------------------------- 1. Problem: CQ11151 - NDIS driver does not properly support Dot3Stats OIDs Cause: Driver was returning wrong data size of 8 bytes instead of 4 bytes. Change: Modified driver to return 4 bytes data for all Dot3Stats OIDs. Impact: Resolve CQ11151 issue. 2. Problem CQ11472 Unstable PLL output can lead to the chip lock-up when transitioning to D3 Cold. Extremely rare HW lock-up on 5751 devices when going into S3/S4 that causes the 5751 to intermittently not be visible to the system after resuming from S3/S4. Cause: The lock-up occurs due to an unstable PLL output ,due to internal clock switching when PERST# is asserted when entering S3/S4. Change: Set hardware control register to values that prevent Phase Lock Loop to power down & do Core clock switching. Impact: Higher power consumption in S3/S4 on the 5751 family of devices 3. Problem: CQ11466 Add generic 5753 support to OEM desktop windows .inf files. Cause: New ID support request. Change: Added new ID support. Impact: Resolve CQ11466. 4. Problem: CQ11453, CQ 11454 - BACS not working correctly under NT 4. Cause: A change in v7.92 of the driver to address CQ 9949 introduced a new problem that occurred only under NT 4 (not on W2K, XP, or W2K3). The new problem was that certain IOCTL calls down to the driver issued by BMAPI (on behalf of BACS) would fail, because the driver was no longer advertising support for private OIDs due to the change for CQ 9949. NT4 appears to block IOCTL calls for OIDs that are not explicitly advertised. Change: Modified driver advertise all private OIDs in NDIS 4 and NDIS 3.1 versions of the driver. Impact: Resolve CQ11453 and 11454. This will not break CQ 9949 because that issue was specific to newer operating systems (later than NT 4). 5. Problem: CQ11463 5705 BSOD during WHQL 2c_OffloadTaskMisc test on server system. Cause: Corner case in LSO firmware when the minimum number of segments is set to 2. Change: Changed the minimum number of LSO segments from 2 to 3. Impact: Resolve CQ11463. Version 7.95 November 29, 2004 ---------------------------------------- 1. Problem: CQ11446 - Unable to pass network traffic after resume from S3 when cable is disconnected during S3 and reconnected in S0. Cause: Stale phy dll state information was causing the driver to initialize the controller with the dll powered off. Change: Modified resume code to always power up the phy dll and keep the phy dll powered on during the entire controller reset sequence. Impact: Resolve CQ11446. Version 7.94 November 24, 2004 ---------------------------------------- 1. Problem: CQ11433 - System gets NMI error during shutdown. Cause: Fix for CQ11308 was causing the dll to not be powered up during shutdown. Change: Modified fix for CQ11308 to not control the dll properly during shutdown. Impact: Resolve CQ11433. Version 7.93 November 24, 2004 ---------------------------------------- 1. Problem: CQ11147 - Performance lower than expected in a few rare test scenarios with 5751 family of devices. When this occurred, throughput would periodically drop to zero for short periods of time which would lower the average throughput. This problem was only seen when running high throughput peer-to-peer performance tests with a single Linux client. The issue would not be seen in tests involving multiple remote stations, or tests involving Windows clients Cause: Algorithm to coalesce send producer index updates on 5705 devices was also used on 5751 devices. This is unnecessary on with 5751. Change: Do not coalesce send producer index updates on 5751 family devices Impact: Resolve CQ 11147. There are no side-effects of this change. 2. Problem: CQ11187 - b57win32.inf file is recognized by WinXP AMD64 Cause: The default entry in the b57win32.inf file intended for Win2k was being used by WinXP AMD64. Change: Added a blank WinXP AMD64 section to the b57win32.inf Impact: Resolve CQ 11187. Version 7.92 November 22, 2004 ---------------------------------------- 1. Problem: CQ11323 INF entry for one of OEM ID is incorrect. Cause: New ID support request entry had an error. Change: Corrected new OEM ID support. Impact: Resolve CQ11323. 2. Problem: CQ11316 Change default value of LargeSendMinNumSeg to 2 for 5705 family. Cause: Better performance improvement. Change: Changed default value of LargeSendMinNumSeg to 2 for 5705 family. Impact: Resolve CQ11316. 3. Problem: CQ11224 5753A1 12x12 with 256k flash (SA25F020) is not detected by AsfConfig. CQ11268 BACS does not show firmware version CQ11269 System hangs on firmware upgrade Cause: New flash device was not yet supported by driver. Change: Added new flash device support. Impact: Resolve CQ11224, CQ11268, CQ11269. 4. Problem: CQ11308 Cable Length Diagnostics reports cable length of zero. Cause: The change for CQ11226 was interfering with the diagnostics accesses of paged phy registers. Change: Changed the fix for CQ11226 to use diagnostic state information in order to not interfere with the cable length diagnostics. Impact: Resolve CQ11308. 5. Problem: CQ9949 Blue Screen when 1cPrivateDevIOctl optional WHQL test script is run. Cause: The 1cPrivateDevIOctl test script was calling our private vendor specific OIDs with invalid information causing the driver to perform invalid hardware accesses. Change: Removed private OIDs from the structure returned by OID_GEN_SUPPORTED_LIST. Impact: Resolve CQ9949. 6. Problem: IPMI does not work on 5704 when adapter is in low power state and link speed is forced to 10mb. Cause: An optimization to use the 6.25mhz clock when link speed is forced to 10mb and the adapter is in low power state is not valid when IPMI is enabled. Change: Changed the adapter shutdown code to use the 12.5mhz clock. Impact: Power consumption will be higher when the adapter is shutdown and IPMI is enabled. Version 7.91 November 05, 2004 ---------------------------------------- 1. Problem: CQ11183 Adding support for two new OEM Mobile platforms. Cause: New ID support request. Change: Added new ID support. Impact: Resolve CQ11183. 2. Problem: CQ11165 Add 5788 device ID's to support new OEM mobile project. Cause: New ID support request. Change: Added new ID support. Impact: Resolve CQ11165. 3. Problem: CQ11132 OEM would like to default ChkSum Offload to TX ONLY on their 5701 products. Cause: New OEM customization support request. Change: Modified requested installation options for OEM products. Impact: Resolve CQ11132. 4. Problem: CQ11209 and CQ11210 OEM would like to new IDs for 5703 and 5704 products; and wants them to default ChkSum Offload to TX ONLY. Cause: New OEM device and customization support request. Change: Modified requested installation options for OEM products. Impact: Resolve CQ11209 and CQ11210. 5. Problem: CQ11216 Wake On Link Option is not available in the Advanced Tab of Network Properties on some 5751M OEM laptop models. Cause: New feature request by OEM. Change: Enabled Wake On Link on 5751M OEM devices. Impact: Resolve CQ11216. 6. Problem: CQ11226 Intermittent blue screen during BACS MII test on 5751. Cause: The gphy dll was not powered on during MII accesses from BACS. Change: Added gphy dll power up / power down code to MII access code used by BACS. Impact: Resolve CQ11226. Enhancement Request: ==================== 1. Request: CQ11104 Gpio2 pin should always be configured as an input pin for Shasta 12x12 implementations. Change: Modified gpio control code to not change the state of gpio2 pin on Shasta 12x12 implementations. Impact: None. Version 7.90 October 19, 2004 ---------------------------------------- 1. Problem: CQ11088 Remove the ability to set speed and duplex on the OEM specific model embedded adapter. Cause: This OEM LOM device is hardwired for 1 gig speed only and speed options only cause problems for customers who tried to modify them. Change: Used 4 ID matched PCI IDs to give custom non modifiable speed option, only for this OEM LOM device installations. Impact: Resolve CQ11088. 2. Problem: CQ10714 b57xp64.inf file needs to include 64-bit Windows 2003 in the header for applicable OS Cause: Need to add Windows 2003-64 bit support comment in the install inf file. Change: Added Windows 2003-64 bit support comment in the install inf file. Impact: Resolve CQ10714 issue. 3. Problem: Poor performance on 5751 BX parts. Cause: Excessive register accesses to the gphy power down code over MII interface was slowing down processing of interrupts. Change: Added additional state information in the gphy power down algorithm to further minimize MII interface accesses. Impact: Performance on 5751 BX parts should be comparable to driver revisions prior to 7.87. Enhancement Request: ==================== 1. Request: Certain gpio pins should not be modified by the device driver on LOM implementations. Change: Added code to preserve the state of the gpio pins in LOM implementations. Impact: None. Version 7.89 October 11, 2004 ---------------------------------------- 1. Problem: Poor performance on 5751 BX parts. Cause: Excessive register accesses to the gphy power down code over MII interface was slowing down processing of interrupts. Change: Modified gphy power down algorithm to minimize MII interface accesses. Impact: Performance on 5751 BX parts should be comparable to driver revisions prior to 7.87. Enhancements: ============= 1. Request: Add PCI ID Support for new Broadcom Devices: 5753, 5753M, 5753F, and 5781 Change: Added new PCI ID support to the XP64, XP32, AMD64, and NDIS4 installation INF files. Impact: None. Version 7.88 October 08, 2004 ---------------------------------------- 1. Problem: CQ10965 Excessive power consumption on 5751 BX parts when cable is disconnected. Cause: A typo in the source code was causing the gphy power down code to execute in the system standby states but not in D0. Change: Corrected typo in source code. Impact: Resolve CQ10965 issue. Version 7.87 October 07, 2004 ---------------------------------------- 1. Problem: CQ10758 TPM - 5751 A4 LOM in OEM system with ASF Enabled fails S1 Waker/Dozer Test. Cause: This is due to the driver "resuming" from a sleep state and reading PHY registers while the ASF FW could be simultaneously reading those registers. Change: The fix to this problem is to gracefully stop the internal CPU before making any PHY accesses in the "resume" code (the OID_SET_POWER handler). Impact: None. 2. Problem: CQ10863 GEN_OID_RCV_ERROR is not incrementing when an error packet is received. Cause: Original driver implementation did not increment this count when Oversized, Undersized, and Jabber packets were received. Change: Added count of Oversized, Undersized, and Jabber packets to GEN_OID_RCV_ERROR inquiry code in the driver. Impact: Resolve CQ10863 issue. 3. Problem: CQ10862 OEM would like to add 4 Vendor Specific OIDs for Receive Error counters. Cause: New OEM support request. Change: Added four new OEM custom OIDs for inquiry of Receive error statistics. Impact: Resolve CQ10862 issue. 4. Problem: CQ10991 Change the default minimum number of segments that can be offloaded by the hardware value from 8 to 2 on 575x Devices. Cause: Performance testing shows that Large Send Offload operations can be improved on 575x devices, by changing the value of this parameter from 8 to 2. Change: Modified driver to set recommended value to this parameter for 575x devices. Impact: Resolve CQ10991 issue. 5. Problem: CQ10985 System cannot wake with Magic Packet using LAA MAC Network Address set with Advanced Options when ASF is also enabled. Cause: The driver shutdown handler did not update the WOL MAC Network Address with custom LAA values in the case of ASF enabled condition. Change: Modified driver to set custom LAA values accordingly when Windows is doing shutdown. Impact: Resolve CQ10985 issue. 6. Problem: CQ10965 Excessive power consumption on 5751 BX parts when cable is disconnected. Cause: The driver was not powering down the GPHY DLL when it is not needed. Change: Modified driver to power down the GPHY DLL when it is not needed. Impact: Resolve CQ10965 issue. 7. Problem: CQ10350 5750 ASF heartbeat PET stopped when system in S4 state, or after wake from same S4 state. Cause: The driver to ASF handshake and control register sharing needed update for proper ASF operation in Standby mode or after wake from Standby. Change: Updated the driver to do proper ASF handshake and control register sharing for resume of ASF PET operation. Impact: Resolve CQ10350 issue. Version 7.86 August 23, 2004 --------------------------------- 1. Problem: CQ10816 CHKINF fails in HCT12 for XP-SP2 installation. Cause: An install section was missing in the b57win32.inf v7.85 INF file. Change: Added the missing install section. Impact: Correct CQ10816 issue. Version 7.85 August 19, 2004 --------------------------------- 1. Problem: CQ10748 The "LargeSendOffload" registry key was being mistakenly added to the Windows 2000 registry. This key should not be added to the W2K registry because of serious problems with LSO feature in the original release of W2K (before the release of the W2K service packs). This issue is applicable to the unified install inf file b57win32.inf and only one specific OEM with PCI SubSystem ID of 0x1028. Prior released versions of b57win32.inf that had this installation issue for OEM with SubSystem ID of 0x1028 were 7.76 to 7.84. Cause: This key was originally present only in the Windows XP INF. However, when the Windows 2000 and Windows XP INF files were merged into a single INF, the INF was not modified so that this key would only be added on Windows XP and not added for Windows 2000. Change: The unified Windows 2000 and Windows XP INF was modified to not add LargeSendOffload key to the registry when the driver is installed on Windows 2000. Impact: No side effects. 2. Problem: CQ10781: OEM System with 57xx PCI-E Device does NMI (blue screen) after PXE boot from Venturcom BXP PXE server. Cause: The root cause of the problem is that the Venturcom BXP PXE Server does not shutdown the UNDI driver after PXE boot has completed. This problem does not occur with PXE server products from other vendors. The 7.84 driver detects during initialization that the LAN device has not been shutdown properly by the PXE/UNDI software, and it attempts to gracefully workaround this by resetting the device. During this attempt to reset the 57xx PCI-E device, the PCI-E link flaps (link down/up) which causes an "unexpected link change" on the chipset side. Depending on the chipset configuration, this can lead to an NMI. This problem only occurs on PCI-E devices, and does not occur on standard PCI devices. Change: Modified the device driver to gracefully reset 57xx PCI-E devices without causing the PCI-E link to go down/up, in the case that the PXE UNDI driver had not been halted at the time of Windows initialization of the device driver. Impact: None Version 7.84 August 05, 2004 --------------------------------- 1. Problem: CQ10705 A NMI was observed when a Windows "shutdown" occurred on a OEM 5751M LOM based platform running 10mb, with WOL disabled, no ASF enabled. The problem could only occur if WOL was disabled, and the system was running at 10mb. Cause: The original driver Shutdown sequence (with no WOL and no ASF) powered off the GPHY prior to disabling device TX and RX blocks. The GPHY was powered-down to save power. Since the GPHY was disabled, the clock to certain MAC registers was intended to be switched to a slower clock derived from the core clock. However, a bug was recently discovered in this logic which could lead to those registers having a very slow clock (or no clock) in this situation. This in turn, could lead to scenarios where read transactions to those registers was not completed in a timely manner. This could cause the chipset to assert an NMI after 10ms if the read was not yet completed. In the failing case, it was observed that the read did complete, but it took up to 21ms to complete.. Change: Modified driver to first disable the device RX and TX blocks and then power off the PHY if no WOL and ASF were enabled. Impact: No side effects. Version 7.83 August 05, 2004 --------------------------------- 1. Problem: CQ10672 LAN driver yellow bang, or TPM failure, during focused LAN driver halt/re-initialize testing. Cause: The driver could write to a new NVRAM control register in 5751 HW without holding the NVRAM lock. This coud cause a problem if the TPM function and the LAN driver both simultaneously tried to access NVRAM. This problem is highly timing dependent. Under normal circumstances, the only time that the driver acceses NVRAM is when loading the driver. Change: Re-ordered some code fragments to ensure that Nvram control register in question is only accessed while the driver is holding the NVRAM lock. Impact: This driver is compatible with TPM. 2. Problem: CQ10532 Sychronize AMD 64 device support with XP 32. Cause: The AMD 64 install inf file did not have OEM PCI ID match for supported device. Change: Added OEM PCI ID device support to AMD 64 inf install file. Impact: Fix CQ10532 issue. Version 7.82 July 28, 2004 --------------------------------- 1. Problem: CQ10529 B57dtect.dll had wrong File Version 1.0.0.0 instead of 1.12.0.0 Cause: The DLL resource file for build had wrong string defined for File Version. Change: Corrected the DLL resource file string definition for File Version. Impact: Fix CQ10529 issue. 2. Problem: CQ10532 Synchronize b57amd64.inf with b57win32.inf installation files. Cause: Original limited support of AMD 64 platform. Change: Increased Windows AMD 64 device support to the same level as Windows XP 32. Impact: Fix CQ10532 issue. 3. Problem: CQ10543 OEM LOM shows "Fiber" in adapter properties. Cause: Original name requested by OEM; which has now requested to remove Fiber word. Change: Change network adapter device name to string supplied by OEM. Impact: Fix CQ10543 issue. 4. Problem: CQ10576 Broadcom Server CD v7.6.3\b57dtect.dll displays wrong copyright date. Cause: The DLL released in this CD and v7.81 driver was the same binary as 7.80 which had old copyright dates. Change: Released new DLL with proper copyright date. Impact: Fix CQ10576 issue. 5. Problem: CQ10575 Broadcom Server CD v7.6.3\b57dtect.dll - wrong DLL file version. Cause: The DLL released in this CD and v7.81 driver was the same binary as 7.80 which had old file version. Change: Released new DLL with proper DLL version. Impact: Fix CQ10575 issue. 6. Problem: CQ10578 Broadcom 7.81 AMD64 INF has .CAT file section commented out. Cause: Original version of AMD 64 release. Change: Uncommented .CAT file reference. Impact: Fix CQ10578 issue. 7. Problem: CQ10597 Add OEM new projects P1 & P1_C PCI 4 ID match. Cause: New OEM device support. Change: Added new support. Impact: Fix CQ10597 issue. 8. Problem: CQ10539 Broadcom 5788 Device Performance decreased with latest driver compared to previous driver. Cause: Driver 5788 special dummy register reads at the start of ISR, these were only needed for 5788 A0 chip. Change: Removed 5788 A0 support, support can be restored by defining POSTED_READ_PATCH in sources. Impact: Fix CQ10539 issue. 9. Problem: CQ10671 OEM LOM Design Wake On Link Change option does not work; while WOL by IP Ping & MP works OK. This problem does not occur on Broadcom evaluation NICs. Cause: Driver did not set Wake On Link Change option to hardware on one of code paths. Change: Verified driver now sets Wake On Link Change option whenever the advanced property has selected it. Impact: Fix CQ10671 issue. 10. Problem: CQ10681 OEM request to change default Flow Control setting to disable. Cause: New request. Change: Change OEM default advanced option setting. Impact: Fix CQ10681 issue. 11. Problem: CQ10691 Running Chariot with 1Byte buffer size causes the interface to hang. This problem only occurs when an application attempts to transmit a packet that contains a huge number (e.g. hundreds) of very small buffer fragments and that it would be highly unusual for a real application to do this. This problem was found when using an artificial test scenario that intentionally forced this condition. Cause: The fix for CQ9262 related to highly fragmented transmit packet buffers was implemented in the multi-processors code path but was not implemented in the single processor code path. Change: Implemented fix for CQ9262 in the single processor code path. Impact: Fix CQ10691 issue. Version 7.81 July 1, 2004 --------------------------------- 1. Problem: CQ10473 b57xp32.cat was referenced in the v7.80 b57win.inf file. Cause: Unified inf had uncorrected reference to b57xp32.cat instead of b57win32.cat file. Change: Corrected digital signature file reference to b57win32.cat file. Impact: Fix CQ10473 issue. 2. Problem: CQ10474 Add new support for OEM product. Cause: New support request. Change: Added new device support. Impact: Fix CQ10474 issue. 3. Problem: CQ10475 Add new support for OEM AMD-64 products. Cause: New AMD-64 support request. Change: Added new OEM AMD-64 device support. Impact: Fix CQ10475 issue. 4. Problem: CQ10486 Incorrect comments in OEM inf header. Cause: Missing Windows2000 Support indication. Change: Added Windows2000 Support indication. Impact: Fix CQ10486 issue. 5. Problem: CQ10489 b57xp64.inf needs current year in copyright date (2001 - 2004) Cause: Original release date. Change: Modified copyright dates. Impact: Fix CQ10489 issue. 6. Problem: CQ10491 OEM Server unified INF does not have proper OEM copyright notice. Cause: Original release version. Change: Modified copyright notice. Impact: Fix CQ10491 issue. 7. Problem: CQ10502 Windows reports stop error 0x0000007f when using .Net Framework 1.1 Cause: The kernel double faulted in driver's send routine due to kernel stack space being exhausted. Change: Modified send routine to use less stack space. Impact: Driver uses 2k less stack space when processing packet sends vs. previous versions of the driver. Version 7.80 June 19, 2004 --------------------------------- 1. Problem: CQ10421 5751-B0 NIC not functioning in under Chariot stress condition Cause: Failure under stress that could occur on multi-proc systems, was introduced with change made in v7.76 to the driver interrupt handler code. The change in v7.76 resulted in a race condition where under rare circumstances on a multi-proc system, interrupts could be left disabled when exiting the interrupt handler Change: Fixed a race condition in the interrupt handler by changing the order of two operations. Impact: Fix CQ10421 issue. 2. Problem: CQ10427 Unified INF has incorrect BaseDriverFilerVersion number. Cause: BaseDriverFileVersion parameter was not updated when release was made. Change: Updated BaseDriverFileVersion with correct number. Impact: Fix CQ10427 issue. Version 7.79 June 17, 2004 --------------------------------- 1. Problem: CQ10318 5750 based adapters consume more power when configured for 10mb WakeOnLan vs. 100mb WakeOnLan. Cause: The clock control register was not programmed correctly when the device is configured for 10mb WakeOnLan during system shutdown. Change: Corrected programming of the clock control register for 5750 based adapters for 10mb WakeOnLan during system shutdown. Impact: Lower power consumption for 5750 devices configured for 10mb WakeOnLan. 2. Problem: CQ10167 OEM Request for specific device name with PCI 4 ID match. Cause: New OEM request. Change: Added new support for OEM request. Impact: Resolve CQ10167. 3. Problem: CQ10369 OEM Request to add support for four new devices with PCI 4 ID match. Cause: New OEM request. Change: Added new support for OEM request. Impact: Resolve CQ10369. 4. Problem: CQ10391 Ndis drivers does not pass WHQL WakeOnLan tests on 5702 adapters. Cause: Fix for CQ10032 which only applies to 5750 based controllers was being applied to non-5750 controllers. Change: Qualified fix for CQ10032 to apply to only 5750 based controllers. Impact: Resolve CQ10391. 5. Problem: CQ10231 Put support for Junction NIC back into Windows drivers. Cause: The .inf need to be updated. This was not done for XP64 and AMD64. Change: Modified the XP64 and AMD64 .inf to support the new device. Impact: 6. Problem: Add support for Capacitive Coupling Cause: Change: Implemented support for Capacitive Coupling. Impact: Support for this is required in the boot code and diagnostics. Version 7.78 June 10, 2004 --------------------------------- 1. Problem: CQ10317 Using switch -hreset to perform reset adapter continuously overnight, system would lock up Cause: There is an extra write to the T3_PCI_PM_STATUS_CTRL_REG in LM_SetPowerState(). This problem was introduced while resolving CQ10032 in driver 7.77 Change: Removed the extra write. Impact: None. 2. Problem: CQ10336 System freezes when changing advanced driver properties on Intel PDK PCI-E Slots Cause: There is an extra write to the T3_PCI_PM_STATUS_CTRL_REG in LM_SetPowerState(). This problem was introduced while resolving CQ10032 in driver 7.77 Change: Removed the extra write. Impact: None. 3. Problem: CQ10318 5750 based adapters consume more power when configured for 10mb WakeOnLan vs. 100mb WakeOnLan. Cause: The clock control register was not programmed correctly when the device is configured for 10mb WakeOnLan during system standby or hibernate. Change: Corrected programming of the clock control register for 5750 based adapters for 10mb WakeOnLan. Impact: Lower power consumption for 5750 devices configured for 10mb WakeOnLan. Version 7.77 June 8, 2004 --------------------------------- 1. Problem: CQ9033 Flow control does not work consistantly. Cause: When the phy is initially powered on, the default behavior is to not advertise flow control. Change: Restart autoneg when flow control is configured to notify the link partner that flow control is desired. Impact: None. 2. Problem: CQ10280 5700 b2 and b3 fails to pass traffic. Cause: The DPC routine is broken. Change: Restored the old DPC routine, with the OEM suggested fix to resolve CQ10151 added. Impact: None. 3. Problem: CQ10275 Large Send Offload and IPMI does not co-function on 5721. Cause: LSO is turned off when ASF is enabled. This was necessary for the 5705 device which implemented LSO in f/w. Change: Since LSO is done in h/w, it is not necessary to disable LSO when ASF is running on 575x and 572x devices. Impact: None. 4. Problem: Cause: CQ10032 System wakes up immediately after entering standby. Change: Set bit 26 of Mac control mode register to prevent more PME events from the device when the OS has already acknowledged the PME event. Impact: None. Version 7.76 June 3, 2004 --------------------------------- 1. Change Request: CQ10231 Put support for Junction NIC back into Windows drivers. Cause: Change: Reinstated support for Junction NIC back into Windows drivers. Impact: 2. Change Request: Merge the winXP and win2k inf. Cause: Requested by MSFT for logo certification. Change: There is now a single .inf for winXP and win2k. This .inf is called b57win32.inf. This distribution still includes the old .inf, so to test, instruct windows to use the win32 inf during driver install. Impact: None. 3. Problem: CQ10151 Server ASRs when running IXIA stress test. The machine appears locked up under heavy network load. Cause: The DPC routine can run for an extended period if the NIC interrupt rate is high. Change: Cap the amount of time the DPC routine can run. The DPC routine was aso rewritten to improve clarity. Impact: None. 4. Problem: CQ10034 Runt packets transmitted on 5700BX are not padded with zeros. Cause: Archaic workaround code for the 5700AX parts was incorrectly padding transmit packets for 5700BX with garbage. Change: Removed workaround code since 5700AX parts were never released into production. Impact: None. Version 7.75 May 26, 2004 --------------------------------- 1. Problem: CQ10033 5700 B2 LOM with v1.3 Bootcode does not pass traffic when v7.73 driver is used. Cause: The older 5700 v1.3 Bootcode did not implement shared memory driver-bootcode interface; so the driver would not recognize nor initialize the PHY. Change: Added a fallback case to driver; so that in case of older bootcodes the driver would initialize the PHY for proper operation. Impact: Fix CQ10033 issue. 2. Problem: CQ9992 5704 nic may draw VAUX during device initialization when only one port has been enabled. Cause: Incorrect programming of GPIO2 when only one port has been enabled. Change: Corrected programming of GPIO2. Impact: 5704 nic will not draw from VAUX during device initialization. 3. Problem: CQ10097 OID_GEN_RCV_NO_BUFFER or OID_GEN_RCV_ERROR statistics not incremented when packets are dropped. Cause: OID_GEN_RCV_NO_BUFFER was getting the count from lower module's no more receive buffer descriptors. Change: Modified OID_GEN_RCV_NO_BUFFER to get count from lower module's receive overrun counter. Impact: Fix CQ10097 issue. 4. Problem: CQ10073 OEM requested to add 4 PCI ID match support for 5751F Cause: New support for 5751F installations. Change: Added new support for 5751F installations. Impact: Fix CQ10073 new support request. 5. Change Request: CQ10165 OEM Request to add 4 ID support to IA64 driver. Cause: New support for OEM installations. Change: Added new support for OEM IA64 installations. Impact: Fix CQ10165 new support request. 6. Change Request: CQ10167 OEM Request to add 4 ID support to XP32 and NDIS5 Drivers. Cause: New support for OEM installations. Change: Added new support for XP32 and NDIS5 Drivers. Impact: Fix CQ10167 new support request. 7. Change Request: CQ9791 Add support for WakeOnLink for requested OEMs. Cause: New support for OEM. Change: Added new support. Impact: Implemented CQ9791 change request. 8. Change Request: CQ10193 Disable embedded cpu for 5750/5721 A3 revision parts. Cause: Hardware errata for 5750/5721 A3 revision parts. Change: Added cpu halt routine in device initialization for affected parts. Impact: Embedded cpu for affected parts will be halted. 9. Problem: CQ9960 System will not go to standby properly when a 5705 is linked at 10mb. Cause: When the 5705 is linked at 10mb, the core clock speed is slowed to reduce power consumption. When the device driver programs the 5705 for Wake On Lan, the 5705 is not programmed properly due to the reduced clock speed. Change: Changed the Wake On Lan configuration code to ensure that the core clock speed is set to normal before configuring the part for Wake On Lan. Impact: Fix CQ9960 issue. 10. Problem: CQ10106 System running NT4 may report IERR when saving a speadsheet from a Win95/Win98 Client. Cause: The operating system was presenting zero length buffers to the ndis driver for transmission. Change: Added scan for zero length buffers and coalesce transmit buffers that contain zero length buffers. Impact: Fix CQ10106 new support request. 11. Change Request: CQ8102 Log message to event log when Ethernet@Wirespeed is in use. Cause: New request from OEM. Change: Added check for Ethernet@Wirespeed status to event logger routine. Impact: Fix CQ8102 new support request. Version 7.74 May 20, 2004 --------------------------------- 1. Problem: CQ9812 Fiber NIC 5701 has intermittent connectivity at startup. Cause: Unsuccessful negotiation at startup with fiber switch. Change: Increased loop attempts to negotiate with fiber switch from two to four times and also added initialize of negotiation state machine prior to actual negotiation attempt. Impact: Fix CQ9812 issue. 2. Change Request: Re: CQ9955 Restore support for 5751M devices. Change: Removed commented inf support entries. Impact: Restored support for 5751M devices. Version 7.73 April 29, 2004 --------------------------------- 1. Problem: CQ9997 ASF 2.0 enabled will not allow system to wake from standby. Cause: The driver to ASF handshaking does not work as expected when the device power state is changed. Specifically, the "last driver state" is not set to WoL when it should be. Also, in 7.72, it is possible for the firmware to use the WoL pattern table before it is completely setup by the driver. Change: Fixed the handshaking. Impact: Version 7.72 April 28, 2004 --------------------------------- 1. Problem: CQ9989 5751 LOM link is disconnected when changed speed. Cause: The driver change to correct CQ9124 and CQ9033 Flow Control problem did not consider forced speed settings and caused the link to disconnect. Backed out the change for CQ9124 and CQ9033 until full regression testing has been done. Issues CQ9124 and CQ9033 will be resolved on a later driver release. Change: Commented the change for fix of CQ9124 and CQ9033 issues. Impact: Fix CQ9989 issue. Version 7.71 April 23, 2004 --------------------------------- 1. Problem: CQ9955 Need to remove support for 5751M devices in Release 7.5 on ALL drivers. Cause: The 5751M device has not yet been fully tested. Change: Commented inf support entries. Impact: Fix CQ9955 issue. 2. Problem: CQ9872 Not able to install 57xx driver for NIC on Win-Me Cause: The Windows 2000 installation inf file used was bigger than 64K bytes. This is a Windows 98, 98SE, Windows Me install inf file limitation. Change: Created a new Win98Me file folder that contains new b57w9x.inf and driver files for use in Win98, Win98SE, WinMe Operating Systems. Impact: Fix CQ9872 issue. 3. Problem: CQ9931 Network Properties for OEM Desk Top models should be limited. Cause: Original implementation. Change: Modified installation inf files to comply with new OEM request. Impact: Fix CQ9931 issue. 4. Problem: CQ9936 OEM Friendly name is no longer displayed on the Event Viewer Logs. Cause: The requested friendly name string was too long and it caused Windows to use it's own internal name for event logs of 57xx device. Change: Reduced the OEM friendly name by removing Controller. Impact: Fix CQ9936 issue. 5. Problem: CQ9950 Release 7.70 NT4 driver did not support 5705M device. Cause: New device support. Change: Added 5705M install support for 7.71 NT 4 release. Impact: Fix CQ9950 issue. 6. Problem: CQ9943 Connection to BMC does not resume after disabling adapter in OS. Cause: New driver to ASF firmware handshake needed to be implemented. Change: Added new driver to ASF firmware handshake implementation. Impact: Fix CQ9943 issue. Version 7.70 April 19, 2004 --------------------------------- 1. Problem: CQ9124 Flow control is not working with 5750 A0 on NT4 CQ9033 Flow control negotiation fails Cause: On initial driver load, the flow control capability was not advertised to switch link partner. Change: Added a PHY control write to during device initialization; to advertise flow control capability Impact: Fix CQ9124 and CQ9033 issues. Enhancements: ============= 1. Request: CQ9835 Change behavior of CLKRUN# for 5705 so CLKRUN# is asserted when link is present and deasserted when link is not present. Change: Modified link detection code to manipulate the CLKRUN# signal with respect to the link status reported by the phy. Impact: Fix CQ9835 2. Request: CQ9306 Add ability to disable TCP/IP options task offload support. Change: Added new bit definitions to UserTaskOffloadCapDisable that can be used to disable TCP/IP options offload support. Impact: Fix CQ9306 3. Request: CQ9886 OEM request to add new PCI 4 ID checking support for Win2k and XP. Change: Added new requested PCI 4 ID support. Impact: Fix CQ9886 4. Request: CQ9887 5705 and 5750 have higher than expected BER rates. Change: Programmed the phy on affected devices to adjust the bias current of the ADC on the phy. Impact: Fix BER issue. Version 7.69 April 14, 2004 --------------------------------- 1. Problem: CQ9613 Set power mode failed in TestApp.exe (Broadcom's internal test program needed to test Reverse Nway and Power Save Mode operations). Cause: A spin lock acquired by the driver when configuring the hardware for power saving mode may not be released, causing the OS to lock up. This lock up only occurred when the driver was configured for power saving mode and the EEPROM "Power Save Mode" option (secfg option 38) was disabled. Change: The driver was modified to release the spin lock for all code paths in the T3_OID_SET_POWER_MODE OID handler. This same problem was also detected in the T3_OID_PHY_ON OID handler, and so the problem was fixed here also. Impact: Fix CQ9613 issue. 2. Problem: CQ9573 5751 LOM stops send out ASF alerts after 40 seconds while in a S3 State. CQ9788 5704 Connection to BMC fails in Window sleep states and Shutdown. Cause: The driver to ASF handshake needed update to resume ASF operation in Standby mode. Change: Updated the driver to do proper ASF handshake for resume of ASF operation. Impact: Fix CQ9573 and 9788 issues. 3. Problem: CQ9726 OEM Enhancement request to make a few options preset to defaults and not able to change in XP. Cause: Original installation implementation. Change: Updated XP installation inf file to handle OEM enhancement request. Impact: Fix CQ9726 issue. 4. Problem: CQ9543 Driver version 7.68 had full Network Properties for OEM mobile customer; where it should be have been limited to 8021.p , Flow Control, Speed, WakeOnLan choices. Cause: Original installation implementation. Change: Updated installation inf files to support OEM mobile customer request. Impact: Fix CQ9543 issue. 5. Problem: CQ9809 Incorrect friendly name for OEM 575x adapters on NT 4.0 Cause: Original installation implementation. Change: Updated installation NT 4.0 inf file to display requested OEM friendly name. Impact: Fix CQ9809 issue. 6. Problem: CQ9816 WHQL 2c_OffloadCheckSum test is failing. Cause: Fix for CQ9711 is causing the NIC to drop a packet after adapter restart. Change: Modified change for CQ9711 so restart of autoneg will only occur if Ethernet@Wirespeed is disabled but the current link was achieved using Ethernet@Wirespeed. Impact: Fix CQ9816 issue. 7. Problem: CQ9342 High CPU load and sluggish system behavior with BASP and heavy traffic. Cause: Looping inside the DPC handler for performance reasons was causing excessive CPU utilization. Change: Reduced the number of loops in the DPC routine from 100 to 20. Impact: Fix CQ9342 issue. Version 7.68 April 02, 2004 --------------------------------- 1. Problem: CQ9446 ASF stops responding after disabling/enabling ASF in Windows for 575x. Cause: The driver to ASF handshake needed update to resume ASF operation. Change: Updated the driver to do proper ASF handshake for resume of ASF operation. Impact: Fix CQ9446 issue. 2. Problem: CQ9706 5703 Fiber NIC intermittently loses connection with a Cisco6509 when system is rebooted or device is disabled and then enabled. Cause: The driver link timer needed increase to 802.3z specification and attempted one time to autonegotiate. Change: Updated the driver link timer and increased driver autonegotiate attempt from one to two times. Impact: Fix CQ9706 issue. 3. Problem: CQ9748 Error in INF install section for PCI-Express NIC Cause: Incomplete inf install section for OEM. Change: Added missing inf install section. Impact: Fix CQ9748 issue. 4. Problem: CQ9294 Change string display for 5788 to "Broadcom NetLink (TM) Gigabit Ethernet" Cause: Original inf information. Change: Change to new friendly name. Impact: Fix CQ9294 issue. 5. Problem: CQ9698 57xx: Create OEM branded AMD64 driver. Cause: New feature. Change: Added requested branded AMD64 driver for OEM. Impact: Fix CQ9698 issue. 6. Problem: CQ9553 ASF 2.0 In Standby, Shutdown or Hibernate will stop sending PETS. Cause: The Driver to ASF handshake needed to be updated with latest ASF implementation, Change: Updated Driver to ASF handshake. Impact: Fix CQ9553 issue. 7. Problem: CQ9759 Add three new PCI subsys id's for OEM using 5751 silicon. Cause: New Support for OEM. Change: Added three new PCI IDs for support of 5751 device installation. Impact: Fix CQ9759 issue. 8. Problem: CQ9711 Unable to disable Ethernet@Wirespeed Cause: Incorrect phy initialization sequence when Ethernet@Wirespeed is disabled. Change: Corrected phy initialization sequence. Impact: none. 9. Problem: CQ9307 Single registry key for speed/duplex option for certain OEMs. Cause: New Support for OEM. Change: Added support for new single key speed/duplex options. Impact: none. 10. Problem: CQ9481, CQ9701 5751: Share traffic/link LED not working correctly in XP (XP driver not changing LED mode) Cause: LED mode is not programmed properly Change: Programmed the LED as requested. The LED setup code now mimics the Linux implementation. Version 7.67 Mar 19, 2004 --------------------------------- 1. Problem: CQ9548 WinXP 5701A3 fails PCI Compliance test in HCT 12.0 Beta 2 Test Kit Cause: The driver would always assume that OOB WOL was enabled and therefore would always set the PME# bit in pci config space. Change: Changed driver to read OOB WOL configuration directly from eeprom. Impact: Fix CQ9548 issue. 2. Problem: CQ9579 Add two ID VID/DID PCI match for OEM. Cause: Customer request. Change: Updated driver install inf file. Impact: Fix CQ9579 issue. 3. Problem: CQ9627 %OEM2_DEV1% name will be displayed when generic system ID is installed. Cause: Name string not initialized in installation inf file. Change: Updated driver install inf file. Impact: Fix CQ9627 issue. 4. Problem: CQ9666 Release notes states we support Win95/OSR2 Cause: Original Release notes. Change: Updated this Release.txt file. Impact: Fix CQ9666 issue. Enhancements: ============= 1. Request: Add registry key to optionally force CLKRUN# on mobile platforms. Change: Added registry key to support forcing CLKRUN# on mobile platforms. Impact: None. Version 7.66 Mar 12, 2004 --------------------------------- 1. Problem: CQ9603 WinXP .inf missing line for OEM customer. Cause: Incomplete driver installation inf file. Change: Corrected driver install inf file. Impact: Fix CQ9603 issue. Version 7.65 Mar 11, 2004 ----------------------------- 1. Problem: CQ9148 No link LED at Gig on 5751 LOM. CQ9481 5751: Share traffic/link LED not working correctly in XP. CQ9549 5751-A1: Driver overwrites LED settings from NVRAM. Cause: The Windows driver was not keeping Firmware initialized LED settings. Change: Modified driver to honor the Firmware set LED controls. Impact: Fix CQ9148, CQ9481, and CQ9549 issues. 2. Problem: CQ9435 Jumbo frames was not functioning in drivers v7.57 to v7.60 Cause: The driver was not keeping Advanced Option Jumbo Frame size as user specified. Change: Modified driver to honor the user input for Jumbo Frames. Impact: Fix CQ9435 issue. 3. Problem: CQ9551 5751-A1: Using "->CfgWr0" cycles rather then "->MWr32" for setting "D3 Hot" Cause: Driver performed Configuration Writes for all 57xx devices for this control operation. Change: Modified driver to use Memory Writes for 575x devices and Configuration Writes for all other devices. Impact: Fix CQ9551 issue. 4. Problem: CQ9603 WinXP .inf missing line for OEM customer. Cause: Incomplete driver installation inf file. Change: Corrected driver install inf file. Impact: Fix CQ9603 issue. 5. Problem: CQ9129 Adapter stops transmitting packets on ia64 and amd64 systems with more than 4gb of memory. Cause: On 64-bit operating systems it is possible to get transmit buffers from the upper layers that span a 4gb boundary. The 57xx family of adapters are not able to dma buffers that span a 4gb boundary and therefore the read dma engine will hang. Change: Added code to double buffer transmit buffers that span a 4gb boundary for all 57xx adapters. Impact: Fix CQ9129 issue. Version 7.64 Mar 5, 2004 ----------------------------- 1. Problem: CQ9571 Version 7.63 binaries contains incorrect file version information. Cause: The 7.63 binaries were built incorrectly. Change: Recompiled with correct file version information. Impact: None. 2. Problem: The ASF firmware is not able to access nic memory when WOL is enabled on 575X adapters. Cause: The driver did not properly configure the Mac Control Mode register when WOL is enabled on a 575X. Change: Corrected WOL code to properly configure Mac Control Mode register on 575X. Impact: None. 3. Problem: CQ9505 Add option in advance options to allow disable of warning and informational logs for a specific OEM customer's 4 part PCI ID set. Cause: Original driver implementation. Change: Add new inf entry for OEM 4 part PCI ID and also modify driver to look for and handle new Warning/Information Advanced Options. Impact: Fix CQ9505 Version 7.63 Mar 1, 2004 ----------------------------- 1. Problem: Performance is not optimized for TCP/IP traffic. Cause: TCP/IP data throughput is decreased by 5% when receive frame TCP payload is not aligned on a 64-byte cache line boundary. This occurs on both x86 and AMD platforms. Change: Changed the internal offset in receive buffers to align the TCP payload on a 64-byte boundary. Except for 5701/PCI-X and 5700/PCI-X, the default internal receive buffer offset for all NIC's is now 10-bytes. Assuming 54-bytes are used for the MAC, IP and TCP headers, a 10-byte offset will put the TCP payload on a 64-byte boundary. The internal receive buffer offset for 5701/PCI-X and 5700/PCI-X NIC's will always be forced to 0 and cannot be overridden. Impact: Improved receive performance with TCP/IP frames. Version 7.62 Feb 25, 2004 ----------------------------- 1. Problem: Missing support for Shasta A1 various device PCI IDs. Cause: Missing support for Shasta A1 various device PCI IDs. Change: Changed driver installation inf file to support added IDs. Impact: None. Version 7.61 Feb 25, 2004 ----------------------------- 1. Problem: Missing support for Shasta A1. Cause: Change: Disabled all A0 specific workarounds on A1 chips. Changed driver for 5751 A1 by disabling PCIE reset during GRC reset. Changed driver for 5751 A1 by enabing PCIE data fifo bug fix in the chip. Impact: None. Version 7.60 Feb 18, 2004 ----------------------------- 1. Problem: CQ9390, Remove HP mobile PCI entries from Broadcom standard .inf files. Cause: Installation inf file needed update. Change: Update installation inf file. Impact: None. 2. Problem: CQ9420, Friendly name displays "%BCM5750A1% instead of "Broadcom NetXtreme Gigabit Eithernet" Cause: Installation inf file needed update. Change: Update installation inf file. Impact: None. Version 7.59 Feb 12, 2004 ----------------------------- 1. Problem: CQ9262, Database file transfer come to a stop, ARP show 0's MAC address. Cause: There was a corner case in the descriptor count check in SendPacketsMP(). This corner case in the NIC driver can occur only if the packet data received from the upper layer is extremely fragmented. For example, one packet, which triggered this corner case contained 563 bytes, but was fragmented across 511 4K pages, each containing one or two bytes. One of our OEM Java database applications generated this type of packet. When the driver fails in this mode, the NIC can still receive but will not transmit. The NIC will also increment the NoSendBdLeft statistic counter for each packet transition attempt. Usually, the NIC driver cannot be disabled and the Windows desktop freezes. Version 7.58 Feb 11, 2004 ----------------------------- Fixes: ======= 1. Problem: Driver may not initialize properly when PXE is enabled. Cause: If PXE is not shutdown properly, the hardware will be left in a state that is not compatible with the driver's initialization routine. Change: Added code the check to see if the hardware has been left in a active state during the driver's load routine and reset the adapter if needed. Impact: None. 2. Problem: CQ9129, 5700/5704 may hang on systems with more than 4gb of ram. Cause: There were several corner cases in the 4gb workaround code related to extremely small or extremely large transmit buffers. Change: Removed corner cases. Impact: None. 3. Problem: CQ9262, Database file transfer come to a stop, ARP show 0's MAC address. Cause: There was a corner case in the descriptor count check in SendPacketsMP(). This corner case in the NIC driver can occur only if the packet data received from the upper layer is extremely fragmented. For example, one packet, which triggered this corner case contained 563 bytes, but was fragmented across 511 4K pages, each containing one or two bytes. One of our OEM Java database applications generated this type of packet. When the driver fails in this mode, the NIC can still receive but will not transmit. The NIC will also increment the NoSendBdLeft statistic counter for each packet transition attempt. Usually, the NIC driver cannot be disabled and the Windows desktop freezes. Enhancements: ============= 1. Request: Add LSO statistics for BMAPI Change: Added code to count the number of LSO transactions offloaded by the hardware. Impact: None. 2. Request: CQ9270 Enable LSO for 5788 Change: Enable LSO for 5788 devices. Impact: None. 2. Request: CQ9199 Update OEM Product names. Change: Updated OEM Product names. Impact: None. Version 7.57 Jan 22, 2004 ----------------------------- Fixes: ======= 1. Problem: CQ9161, ASF 2.0 Secure session cause HIGH cpu util seen in 10mb. Cause: The driver sets bits 22 of the Pci Clock Control Register. Change: Do not set bit 22 of the Pci Clock Control Register for 575x Impact: None. 2. Problem: CQ9184, No network connection in Windows Xp when ASF is enabled Cause: The handshaking between the driver and the fw does not work. Change: Fixed the driver to f/w handshaking. Impact: None. 3. Problem: CQ9168, When In OS present mode at 100mb the secure session fails. Cause: The driver sets bits 22 of the Pci Clock Control Register. Change: Do not set bit 22 of the Pci Clock Control Register for 575x Impact: None. 4. Problem: CIOBE parts with multiple split transactions enabled may cause the system to hang. Cause: CIOBE has an errata related to the multiple split transaction feature. Change: Disable multiple split transaction feature in CIOBE parts. Impact: None. Version 7.56 December 30, 2003 ----------------------------- Fixes: ======= 1. Problem: Enforce a register read after each and every register write. This is a workaround for a bug in the ASIC which causes chip lockup @10MBS (all traffic stops). Cause: Problem in the ASIC design. Change: Register writes are followed by register reads Impact: None. Enhancements: ============= 1. Request: Changed the interrupt processing slightly for the 5705 and 5750. Change: Attempt to reduce the number of forced status updates in the ISR. Impact: This is only an optimization of the code. Version 7.55 December 24, 2003 ----------------------------- Fixes: ======= 1. Problem: CQ 8820 5705 A3 Add support for new IDs (14e4 165e 1028 0171) and (14e4 165e 1028 015a). Cause: New IDs. Change: Added new IDs to the inf Impact: None. 2. Problem: BCM5750 show as "fast ethernet" in device manager. Cause: .inf text is incorrect. Change: Fixed the .inf Impact: None. Enhancements: ============= 1. Request: Report the PCI-E bus type to bmapi Change: Modified OID to report bus type to bmapi Impact: None. 2. Request: Serialize all accesses to the 575X registers. This is a temporary workaround for a problem in the Asic (CQ8912 and CQ8978). Change: Changed the code as requested. Impact: There are significant changes in the register access code. The driver size is increased from prior releases. The size with revert to that of prior releases when the serialize all I/O patch is disabled. Version 7.54 December 10, 2003 ----------------------------- Fixes: ======= 1. Problem: Bit 15 of register 0xc4 is not set properly (hardware bug workaround) Change: Set bit 15 of register 0xc4 using memory cycle (not config cycles) Impact: None. Enhancements: 2. Request: Change some of the driver code to remove magic numbers and use existing macros to read and write registers. Change: Changed the code as requested. Impact: None. Version 7.53 December 05, 2003 ----------------------------- Enhancements: ======= 1. Request: Add support for 5750 device and move driver version to 7.53 Change: Added support for 5750 device. Impact: 5750 device supported. 2. Request: Increase 5751 chip reset delay to 300 milliseconds. Change: Increased 5751 chip reset delay to 300 milliseconds. Impact: 5751 device chip reset has 300 milliseconds delay. Version 7.36 December 02, 2003 ----------------------------- Enhancements: ======= 1. Request: Need registry key to configure frame length consistancy check. Change: Added registry key to configure frame length consistancy check. Impact: None. Version 7.35 November 21, 2003 ----------------------------- Fixes: ======= 1. Problem: Incorrect BCM5705 send producer index register update. This problem has been reported by one of our OEMs. Cause: Contention issue in the NDIS driver on multiproc systems. Change: Protected the BCM5705 register update routine with a spin lock Impact: None. Version 7.34 November 17, 2003 ----------------------------- Fixes: ======= 1. Problem: CQ8781 - No check for NULL from NdisQueryBufferSafe in Ndis 5.1 drivers Cause: Bug in code that calls NdisQueryBufferSafe Change: Implemented a buffer prescan to insure that packet buffers are mapped before attempting to process a packet. If any buffers are not mapped, fail the request gracefully. Impact: None. 2. Problem: CQ8781 - Use NdisQueryBufferSafe instead of NdisQueryBuffer in Windows 2000 Ndis 5.0 drivers in oem specific builds Cause: Code was implemented to use NdisQueryBuffer Change: Implemented a buffer prescan to insure that packet buffers are mapped before attempting to process a packet. If any buffers are not mapped, fail the request gracefully. Impact: Oem specific builds of the Ndis 5.0 driver will not load on Windows98. 3. Problem: The nic will drop frames if the ethernet length field is inconsistent. Cause: The nic was programmed to drop frames containing a inconsistent ethernet length field. Change: Disabled ethernet length field checking in the hardware. Impact: None. Version 7.33 October 16, 2003 ----------------------------- Fixes: ======= 1. Problem: CQ 8625 5705 A3 programmed with new ID (14e4 1654 103c 3100) is not recognized by 7.32 OEM specific build. Cause: Incorrect OEM specific NT4 inf. Change: Corrected the inf Impact: None. 2. Problem: Multiple Mac Address (MMA) feature is only accepting two MMA addresses when it should accept three. Cause: Incorrect #define value in source file. Change: Corrected #define value Impact: None. Version 7.32 October 15, 2003 ----------------------------- Fixes: ======= 1. Problem: CQ 8497, 5705 A3 programmed with new ID (14e4 1654 103c 3100) is not recognized by 7.31 Cause: Incorrect NT4 inf. Change: Fixed the inf Impact: None. Enhancements: ============= 1. Request: CQ7321, add registry key to control TCP/IP option checksum support. Change: Added keys to disable task offload (see word document attached to CQ for more details). Impact: None. Version 7.31 October 13, 2003 ------------------------- Fixes: ======= 1. Problem: CQ 8497, 3 of 24 NIC reported a high Transmit Queue Length in 72 hours stress test. Cause: The OID handler is using an incorrect structure (big endian) which causes the wrong dword to be incremented to reflect the Q len. Change: Switched to the correct stucture Impact: None. 2. Problem: Fix CQ8545, OEM certification test fails with 7.15 driver but passes with 6.67 Cause: Incorrect chip rev. identification in MM_GetConfig() prevented TxCoalesce buffers from being allocated for some 5704s Change: Fixed MM_GetConfig() Impact: None 3. Problem: CQ7502, LargeSend Offload (LSO) capabilities differ in 5705 from the rest. Cause: The driver was reporting inconsistant encapulation support for LargeSend Offload. Change: Modified driver source to have same encapsulation support for all devices. Version 7.30 Sep 23, 2003 ------------------------- Enhancements: ============= 1. Request: Do not set the PME_EN bit in PCI configuration space if OOB WOL is not enabled in the nvram when the driver is unloaded. Change: Added check in the unload routine to not set the PME_EN bit when the driver is unloaded. Impact: None. 2. Request: Add support for 5705F Change: Added support in the inf files and driver code for 5705F. Impact: None. Version 7.16 Sep 12, 2003 ------------------------- Enhancements: ============= 1. Request: Add one key to control both phy auto-negotiation enable/disable and desired link speed. Change: Defined new values for 'RequestedMediaType' that specifies both auto-negotiation enable/disable and desired link speed. Impact: None. 2. Request: Add support for multiple mac addresses on the same nic for the Ndis5.0 driver. Change: Changed compile flags to compile multiple mac address support in the Ndis5.0 driver. Impact: None. Version 7.15 Aug 29, 2003 ------------------------- Fixes: ======= 1. Problem: The network icon may intermittently disappear when changing driver properties when PowerMon is loaded and QOS is enabled. Cause: The driver was incorrectly restarting phy auto-negotiation excessively causing the driver to take too long to report link up to the operating system. Change: Added code to only restart phy auto-negotiation when there is a change in the state of ReverseNway. Impact: None. Enhancements: ============= 1. Request: Add "volatile" modifier to SendPass and DpcPass driver variables to prevent the compiler from optimizing references in ia64 and amd64 environments. Change: Added "volatile" modifier to SendPass and DpcPass driver in ia64 and amd64. Impact: None. Version 7.14 Aug 28, 2003 ------------------------- Enhancements: ============= 1. Request: Add support for multiple mac addresses on the same nic. Change: Added registry keys and custom OIDs to allow third party software to configure the nic with multiple mac addresses. Impact: None. Version 7.13 Aug 25, 2003 ------------------------- Fixes: ======= 1. Problem: The crc error counter for 5700 and 5701 was not getting zeroed out when T3_OID_RESET_STATS_COUNTERS is called. Cause: The crc error counter for 5700 and 5701 was not getting zeroed out when the OID call is made. Change: Added code to zero out the crc error counter for 5700 and 5701 when T3_OID_RESET_STATS_COUNTERS is called. Impact: None. 2. Problem: The retail WinXp32, WinXp64, AMD64 drivers were being compiled with incorrect compiler flags. Cause: The build environment was not configured correctly. Change: Corrected the retail build environment of the affected operating systems to use the correct compiler flags. Impact: Executables will be slightly smaller. Version 7.12 Aug 20, 2003 ------------------------- Fixes: ======= 1. Problem: Driver Verifier complains about a possible deadlock problem. Cause: The driver was holding a spinlock during Ndis calls in the send path. Change: Removed spinlocks during Ndis calls in the send path. Impact: None. 2. Problem: System fault under heavy network load (verifier C4_31) Cause: The driver may incorrectly use spin locks at ISR level Change: Remove all calls to acquire spin locks from the ISR. 3. Problem: Improper use of spin lock in shutdown handler Cause: The driver is using a spin lock in the shutdown handler Change: Remove calls to acquire spin locks from shutdown handler Version 7.11 Aug 15, 2003 ------------------------- Fixes: ======= 1. Problem: The OID_GEN_RCV_OK statistic incorrectly included receive overrun frames. Cause: The driver needs to subtract the number of receive overrun frames from the values reported by hardware. Change: The driver subtracts the number of receive overrun frames from the value reported by hardware before reporting the statistic to Windows. Impact: None. Enhancements: ============= 1. Request: Improve bit error performance of 5703A0 and 5704A0 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 5704. Change: Programed the serdes config registers with the values recommended by the hardware design team. Impact: None. Version 6.82 Aug 5, 2003 ------------------------- 1. Problem: Incorrect operation after PHY loopback test. Reported against Linux configuration. Cause: PHY register 0x18 is not programmed properly after running the external loopback test. Change: Changed the value written to PHY register 0x18 from 0x480 to the correct value 0x400 (after external loopback test). Impact: None. 2. Problem: Flow control does not function (CQ8181). Cause: LM_SetupCopperPhy() does not always program the flow control when the link comes up. Change: Program the flow control in all code paths when the link comes up. Impact: None. 3. Problem Idle cycle fix in 5704 B0 has side effects on certain HP/CPQ servers. Cause: Change: This hardware fix is not enabled in this version. Version 6.80 July 29, 2003 ------------------------- Enhancements: ============= 1. Request: Add support for external loopback with loopback plug. Change: Added new requested media type values for external loopback. Impact: None. 2. Request: Enable hardware fixes in 5704_Bx parts for known erratas. Change: Added code to driver init routines to enable hardware fixes in 5704 B0 silicon. See 5704 errata for more details info about the changes/fixes in B0 silicon. Impact: None. Fixes: ======= 1. Problem: AMD Solo System intermittently blue screens when installing driver for 5704 CQ8190. Cause: The driver is executing pageable code at high IRQ level (UM_Initialize()). Change: Isolated the code executing at high IRQ level to a non pageable routine. Impact: None. Version 6.69 July 9, 2003 ------------------------- Fixes: ======= 1. Problem: In Windows Win98SE: System cannot go into sleep mode when "wake up frame" is set Cause: Win98SE expects WakeOnLan capability of MagicPacket as well as WakeUpFrame during its query of OID_PNP_CAPABILITIES; even if device Advanced Properties is set to WakeUpFrame only. Change: Added setting of MagicPacket support during handling of OID_PNP_CAPABILITIES. Impact: This change does not affect actual WOL function as specified in the Advanced Properties of the device, and only allows Win98SE systems to go to Standby mode. 2. Problem: 5700BX will stop processing packets under heavy loads. Cause: A CoalesceNow workaround for stale status block information on the 5705 was causing the 5700BX to hang. Change: Qualified the CoalesceNow workaround to be applied to only the 5705. Impact: None. Version 6.68 June 19, 2003 ------------------------- Fixes: ======= 1. Problem: The adapter doesn't drop link when WOL is disabled and the driver is disabled. If WOL is enabled and the adapter is linked at 1gb when the driver is put into low power state, the adapter does not re-acquire link at 1gb when the driver resumes. Cause: A typo in v6.65 of the driver was causing the driver to assume that ASF is always enabled. A change in v6.65 of the driver was causing the driver to not restart link autonegociation on resume. Change: Corrected typo causing the driver to assume that ASF is always enabled. Changed the restart autonegociation routine to take into account the changes made in v6.65 Impact: These changes affect all adapters in all versions of Windows. Version 6.67 June 13, 2003 ------------------------- Enhancements: ============= 1. Request: Increment version number for revision control purposes. Change: Changed version number from 6.66 to 6.67 Impact: None. Version 6.66 June 02, 2003 ------------------------- Fixes: ======= 1. Problem: CQ7927: System locks up when driver is unloaded on 5700/5701 with ASF. Cause: A workaround that is not applicable to the 5700 and 5701 related to nvram accesses was being executed which caused an access to a invalid register. Change: Qualified the asf and nvram access workaround to be executed on only non 5700 and 5701 parts. Impact: This change only affects 5700 and 5701. Version 6.65 May 31, 2003 ------------------------- Fixes: ======= 1. Problem: CQ7874,7873: Cannot get link after disabling power saving mode with ReverseNway. Cannot get link after changing from 100mb switch to 10mb hub. Cause: There was a corner case in the ReverseNway logic that was causing the phy not advertise correct capabilities when ReverseNway is disabled while the control suite has the driver suspended. There was a corner case in the ReverseNway logic that was causing the to not be reset properly when the phy lockup errata was executed. Change: Corrected corner cases so the phy advertises correct capabilities to it's link partner. Impact: These changes only affect those platforms that have ReverseNway enabled. 2. Problem: CQ7914: 5700BX fails to pass traffic while running 2c_Simultaneous WHQL tests. Cause: A change in the 6.60 driver to address an errata on the 5704 inadvertently broke an existing fix for the 5700_BX small fragment errata. The bug was causing the driver to run out of coalesce buffers when run on 5700_BX devices. Change: Corrected code so the driver will properly handle small fragment coalesce buffers on 5700_BX devices. Impact: This change only affects 5700_BX devices. Other devices will not see any change in behavior. Version 6.64 May 20, 2003 ------------------------- Fixes: ======= 1. Problem: CQ785207: Device is Yellow Banged out after disable/enable of the driver. Cause: There was a race condition in the halt cpu routine in which the halted cpu could still be holding the NVRAM arbitration bit. This was preventing the driver from reading the configuration information from the NVRAM and caused the driver to unload. Change: Added check in the halt cpu routine to see if the halted cpu is holding the NVRAM arbitration bit. Impact: None Version 6.63 May 20, 2003 ------------------------- 1. Enhancements: Fixes: ======= 1. Problem: CQ7807: Loopback- - Mac test fails Cause: The driver was not correctly configuring the 5705 for mac loopback if the device was linked at 10mb. Change: Changed code to correctly configure the device when linked at 10mb. Impact: None 2. Problem: CQ7827: System will freeze on shutdown when linked at 10mb half. Cause: The phy was getting powered down during reset. Change: Changed code to not power down the phy during reset. Impact: None Version 6.62 May 15, 2003 ------------------------- Fixes: ======= 1. Problem: CQ7656: Driver get yellow bang on 5788. Cause: A check for the device/bond id was detecting the 5788 as an unsupported device and therefore was causing the driver to unload. Change: Removed the check that was causing the driver to unload. Impact: None 2. Problem: CQ7798, CQ7799: ChkInf found errors in the inf files. Cause: Typos in the inf files. Change: Corrected the inf files. Impact: None 3. Problem: The workaround for the phy lockup errata was not being applied to all versions of the 5703 and 5704. Cause: There was a check for previous revisions of 5703 and 5704 that was incorrectly carried over from a previous errata. Change: Removed check for specific versions of the 5703 and 5704 for the phy lockup errata. Impact: None 1. Enhancements: CQ7795, CQ7800: 1000 Full Duplex option in adapter advanced properties for all inf files. Change: This option is suppose to be present in only inf files for specific OEMs. Removed 1000 Full Duplex option from files that are not applicable. Impact: None Version 6.61 May 14, 2003 ------------------------- Fixes: ======= 1. Problem: CQ7777: Some of the OID tests are failing in win98me Cause: Added parameter checks in the OID processing are not valid in all cases. These were added in rev 6.54 Change: Removed the checks, they do not work for all cases as implemented. Impact: None 2. Problem: The driver did not restart autoneg on Fast Ethernet only parts when resuming from hibernate or standby. Cause: This was originally intended behavior. However the driver needs to restart autoneg on resume due to phy lockup errata. Change: During resume check for Fast Ethernet only capable parts and restart phy auto negotiation. Impact: None 1. Enhancements: The following OEM device ID's are not in the inf files. PCI\VEN_14e4&DEV_16c7&SUBSYS_00ca0e11 PCI\VEN_14e4&DEV_16c7&SUBSYS_00cb0e11 Change: Added OEM device ID's Impact: None Version 6.60 May 12, 2003 ------------------------- Fixes: ======= 1. Problem: Fixed problem with link getting dropped when shutting down Windows when using a 5703/2 with old versions of bootcode when OOB WOL is enabled. Cause: The bootcode was not properly passing configuration information to the ndis driver. Change: Modified the ndis driver to read the configuration information directly from NVRAM. Impact: None 2. Problem: System bluescreens with random bugcheck values on .Net with 5704. Cause: A bug in the 4gb errata workaround with LSO enabled was causing buffer overruns which would corrupt system memory and cause random bugcheck values. Change: Allocated static double copy buffers for use with LSO and 4gb aligned buffers. Impact: None Version 6.59 May 5, 2003 ------------------------- Fixes: ======= 1. Problem: CQ7664: New HP device IDs need to be added. Cause: N/A Change: Added HP device IDs to NIC .inf Impact: None 2. Problem: CQ7521: Mac loopback test is broken with fiber devices Cause: UM_AutogRetryTimerFunction() calls LM_SetupPhy() during test Change: Added LM_REQUESTED_MEDIA_TYPE_LOOPBACK condition to call to LM_SetupPhy() Impact: None 3. Problem: The driver will intermittently load with a zero mac address. Cause: The shared memory area that contains the mac address was not properly initialized when the nic is in certain low power modes. Change: Read the mac address from the NVRAM and not shared memory. Impact: None Version 6.58 May 1, 2003 ------------------------- Fixes: ======= 1. Problem: Laurel PING -t gets 20-30% 'request timed out' on both ports (CQ7586) Cause: Fiber phy setup is being performed every half second because we are using the autoneg bit as a condition. This bit is not set when the fiber switch is not doing autoneg. Change: Only look at the autoneg bit when autoneg was successfully completed. Impact: None 2. Problem: Hardy having link status inconsistency (CQ7550) Cause: Fiber Phy was not programmed properly. Change: Changed the NDIS code to behave like the Linux code. Impact: None Version 6.57 April 29, 2003 ------------------------- Fixes: ======== 1. Problem: When the phy is poweredd down via BMAPI the network icon in the system tray does not always show link down. Cause: Race condition between the trying to indicate link down to the operating system and the phy reset routine trying to indicate link up to the operating system Change: Corrected logic error to remove race condition. Impact: None. 2. Problem: The OID OID_GEN_TRANSMIT_QUEUE_LENGTH does not support 64bit queries. Cause: The code did not support 64bit queries. Change: Corrected code to support 64bit queries. Impact: None. 3. Problem: Updated phy workarounds for potential intermittent link problems for 5704/5705. Cause: Not applicable. Change: Not applicable. Impact: None. Version 6.56 April 18, 2003 ------------------------- Fixes: ======== 1. Problem: The phy workaround implemented in 6.55 was not properly qualified to be applied to only 5704. Cause: An 'if' statement was missing when the code was checked in. Change: Added 'if' statement in routine with 5704 phy workaround to properly qualify the workaround. Impact: None. Version 6.55 April 17, 2003 ------------------------- Fixes: ======== 1. Problem: CQ #7454, CQ #7559, CQ #7352, CQ #7453, CQ #7500, CQ7469 Incorrect and intermittent WakeOnLan behavior on 5788. System waking up when not configured to wake and system not waking up when configured to wake. Cause: Ndis driver was not allowing enough time for the bootcode to complete execution of it's second phase of boot before communicating WakeOnLan configuration information to the bootcode. Change: Extended max delay for the driver to wait for bootcode to complete execution by 60ms. Impact: Driver unloads will take 60ms longer to execute. 2. Problem: Ndis Driver takes too long to initialize Cause: The ndis driver had a lengthy delay routine are part of phy initialization Change: The wait loop was qualified so it only applies to 5700 and 5701. Those parts were observed to require this delay. Impact: Ndis driver initialization should be faster by more than 20ms. 3. Problem: 5704 intermittently will not auto-neg link at 1gb. Cause: The phy has a errata that requires the driver to check if the dfe is locked up. Change: Added dfe lockup check routine as part of the phy reset routine. Impact: Slightly higher cpu utilization when the cable is first disconnected. 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. Version Release Date ======= ============ 6.54 a. 04/09/03 CQ6302 Add OID to blink the activity LED CQ7127 Add OID to reset stats counters CQ7281 Add OID to implement OID_802_XMIT_LATE_COLLISIONS CQ7294 Fix OID OID_GEN_RCV_NO_BUFFER CQ7315 Fix various OID return codes b. Added fix for 5704S to fall back to HW AN Off when NICs TX fiber cable is removed. c. Added workaround for 4gb memory errata for 5704 running under ia64. d. Added 5788 tx/rx checksumming options in inf files. 6.53 03/26/03 a. Implemented workaround for CQ7242: Unable to wake system from shutdown after running hibernate under Windows 2003. b. Always enable OOB WakeOnLan for legacy 5701 bootcode. 6.52 03/14/03 a. Added support for 5788. b. Fixed problem with link down being reported if link was acquired during driver initialization. 6.51 03/13/03 a. Extended wait for link up during resume from Standby/Hibernation to fix packet drop issue in WHQL Standby/Hibernate testing. 6.50 03/10/03 a. Added 5704S support back in. 6.36 03/05/03 a. Fixed intermittent blue screen if there is a link status change during driver unload. 6.35 03/04/03 a. Fixed intermittent blue screen problem during driver init if the device is sharing an interrupt. b. Added support for OID_GEN_TRANSMIT_QUEUE_LENGTH c. Corrected support for legacy bootcode that doesn't support eeprom version information. This problem was causing WakeOnLan configuration problems. d. Fixed problem where serdes adapters were being treated as copper. e. Fixed WHQL failure due to not waiting for link long enough on 5702/3-A3 parts. f. Fixed ASF hanging when system is going to standby/hibernate. 6.34 02/17/03 a. Added code to wait for the 2nd phase of bootcode to complete on 5702/3/4/5. This resolves a WoL related issue with older v2.21a 5703 bootcode, and is generally "safer". This also resolves an unwanted case where WoL was accidentally enabled. b. Removed code to stop the TX and RX processor clocks on 5704 when going into standby/hibernate or shutdown. This resolved a hang when coming out of S1 with a 5704. c. Minor change to interrupt coalescing algorithm. 6.33 02/14/03 a. Removed 5704 Serdes Support. b. Added support for 5705 A3 DMA Workarounds. c. Optimized Interrupt Coalescing algorithms for 64/66 systems. d. Fixed problem when forcing WakeOnLan speed to 10mb and then having the system stay at 10mb when the system is resumed. e. Incorporated improved power management for 5704 when the system is being shutdown or put into standby. 6.32 02/12/03 a. Updated driver send packets for resolve of Appletalk issue. b. Updated driver for 5704 Fiber Auto Negotiation. c. Added ODI_GEN_PROTOCOL_OPTIONS back into NdisQueryInformation because the WHQL tester expects it. d. Fixed problem with NdisQueryInformation returning failure status when it's not appropriate. e. Corrected removing 5782 Ethernet@WireSpeed option for WinXp. f. Changed driver to runt tx frames with zero instead of garbage. 6.31 02/10/03 a. Removed OID_GEN_PROTOCOL_OPTIONS from NdisQueryInformation b. Removed Ethernet@WireSpeed option from 5705A2/A3 and 5782. c. Added check for null pointers in NdisQueryInformation to prevent system blue screens. d. Fixed CQ#5069: Added HotPlug PCI port number assignment. 6.30 02/07/03 a. Enabled 5704 Fiber Support for resolve of bugs: CQ#6288: BCM5704SA40 Fails to Negotiate with HP Procurve 2524 Switch. CQ#6725: Port 1 on 5704s Fiber does not pass traffic. CQ#6746: Fiber fails to link w/ 5.27 NDIS driver. b. Added check to allow only valid mac addresses when the user manually overrides the mac address. c. Fixed problem with ClkRun signal always being forced to active. 6.14 01/30/03 a. Fixed CQ#6800: 5704C Copy/compare test failure in .NET. The failure was a result of unintentionally including the CQ#6381 fix in the .NET driver. 6.13 01/30/03 a. Fixed CQ#6247: Under a heavy traffic environment, the driver could miss a status block update causing the chip to stall. This problem has been observed only in the 2c_performanceblast Ndistest. b. Fix CQ#6796 Window Diag fails on Internal Memory test on 5700-LOM by using alternate method to access memory. 6.12 01/27/03 a. Improved LSO firmware load time by not acquiring NVRAM lock. b. Fix CQ6796 Window Diag fails on Internal Memory test on 5700-LOM by using alternate method to access memory. 6.11 01/24/03 a. Fixed buffer overrun problem when jumbo frames is enabled. b. Fixed interrupt storm if a spurious interrupt occurs after resume from standby/hibernate due to stale status block information. c. Fixed 2m_strss test failure due to late status block update during heavy bus traffic. d. Fixed WOL failure when cable is disconnected when the system is put to sleep. e. Fixed CQ6710 Running window Diag on 5700 LOM causes server to hang f. Fixed CQ6736 BACS Window diagnostic failed on the internal memory test by using alternate method to access memory. g. Added PHY power down for 5704 devices when WakeOnLan is Disabled. 6.10 01/13/03 a. Fixed CQ#6620 -- Driver may corrupt the stack on Windows 2000 if the packet being sent is very fragmented. 5.32 01/10/03 a. Fixed CQ#6539 -- Driver may not able to send packets when it runs out of double copy buffers. b. Fixed problem with ReverseNway getting disabled after resume from standby/hibernate. 5.31 01/09/03 a. Fixed problem with not being able to disable Ethernet@Wirespeed feature. b. Fixed problem causing NMI errors on certain platforms during init. 5.30 01/07/03 a. Fixed cert test failure on 5705 when running at 10mb. b. Fixed intermittent link failure when resuming from phy power down mode. c. Improved system resume time when cable is disconnected. 5.29 01/03/03 a. Fixed CQ#6456 -- Crash during hibernation with BCM5700. b. Updated copyright strings to 2003. c. Added phy reset when powering up the phy from low power mode. d. Fixed loopback test failure. 5.28 01/01/03 a. Added Phy Reset to link down events for 5705. b. Removed 5704 support. 5.27 12/30/02 a. Removed DbgPrint statements from retail build of driver. 5.26 12/30/02 a. Fixed CQ#6481 -- MagicPacket capability was not properly reported to the operating system. Access to PHY registers was not properly synchronized when the system comes out of standby. b. Fixed CQ#6353 -- Access to PHY registers was not properly synchronized when the system comes out of standby resulting in NdisTest WOL test failures. c. Improved driver load times when link pulses are not present. 5.25 12/20/02 a. Fixed Bug#6354 ASF CFG table gets corrupted when changing IP to static. b. Fixed Bug#6026 Allow only management to station to wake sticks with WOL advanced option set to Wake Up Frame. c. CQ6381: 5704C fails copy/compare tests only on PAE machine while running Chariot. CQ6418: 5704 Fiber fails copy/compare on PAE machine while running Chariot on different cards. 5.24 12/17/02 a. Added 6.25 Mhz low power clock mode for 10mb link. b. Added MpSpinlock check for 5705 coalescing timer tick routine. c. Tristate GPIOs during driver init. d. Enabled Phy DLL power down. e. Removed check for NT4 SP4 in ndis4 oemsetup.inf 5.23 12/12/02 a. Fixed hang on shutdown during programming of PMCtrl register. b. Updated INF files to reflect known PCI ID's as of this date. 5.22 12/11/02 a. Fixed various Wake On Lan issues related to PCI config cycles not getting written by the OS. b. Fixed problem with 5705/5901 not completing pending transmits when the driver is unloaded under heavy traffic. c. Mapped the following NDIS counters: OID_802_3_XMIT_UNDERRUN OID_802_3_RCV_OVERRUN OID_GEN_XMIT_ERROR d. Changed Link Down events in the event log from "Error" to "Warning" 5.21 11/27/02 a. Fixed 5704 and 5704S Fiber Negotiation issues. b. Fixed 7 second link down indication. c. Added work around for 5701A1 LSO hang. 5.20 11/19/02 a. Don't unload driver if BAR's memory enable bit is not set. b. Enable Rx Accelerate for 5705A1 running on 33Mhz system bus. c. Don't arbitrate halting of on board CPUs on 5700 and 5701. d. Don't advertise SNAP encapsulation LSO support for 5705. e. Prevent duplicate link indications to the OS. 5.19 11/12/02 a. Added three new OIDs for PHY Turn Off, Turn On, and Query operation. b. Fixed yellow bang problem with 5705. 5.18 11/08/02 a. Fixed problem with 5901 not negotiating 100mb when plugged into a gigabit capable switch. b. Fixed Waker/Dozer link problems. c. Added Auto phy power down for 5705/5901 A1. 5.17 11/01/02 a. Changed WOL default capabilities to 'Both'. b. Changed call to NdisMInitializeScatterGatherDma to pass TRUE for 64-bit DMA capable. c. Fixed HCT cable disconnect failure on IA64. d. Changed link down messages in the error log to 'Error' from 'Informational'. e. Fixed 5700 hang when unloading and reloading the driver. 5.16 10/21/02 a. Changed default DpcLoopCnt to improve mouse response on HyperThreading enabled processors. b. Removed manual install options from inf files. c. Added Isolate mode to phy power down sequence. 5.15 10/08/02 a. Disabled 5705/5901 Auto phy power down. b. Adjusted link up timer due to pass whql media connect/disconnect test. 5.14 10/03/02 a. Corrected 5705/5901 Low power state clocking. b. Enabled 5705/5901 Auto phy power down. c. Fixed problem with linking at 1000mb when system is going into standby or hibernate. 5.13 09/25/02 a. Removed Jumbo Frame option for 5705/5901 on NT4 b. Fixed blue screen problem with 5705/5901 5.12 09/24/02 a. Added 5705MFE Support. b. Added 5704S Support. 5.11 09/23/02 a. Fixed Ethernet@Wirespeed not getting disabled after phy reset on 5705/5901. b. Shortened 5705/5901 reset sequence. c. Corrected Low Power mode clocking for 5705/5901. 5.10 09/18/02 a. Fixed blue screen problem with 5705/5901. b. Fixed Ethernet@WireSpeed not getting disabled with 5705. 4.13 09/16/02 a. Corrected driver WakeOnLan and Default options in the installation .inf files. 4.12 09/13/02 a. Fixed problem when only 'magic pkt' or only 'wake up frame' is selected from advanced properties tab. 4.11 09/12/02 a. Fixed problem with Vaux switchover for 5704. b. Changed WOL speed behavior for 5704. 4.10 09/04/02 a. Removed 5705/5901 support for version 4.xx. 5705/5901 support will be in version 5.xx b. Fixed problem with system not waking up with Magic Packet from shutdown. 3.51 09/03/02 a. Fixed problem with system waking from magic pkt when "Allow this device..." checkbox was unchecked. 3.50 08/26/02 Bumped revision number to 3.50 for revision control purposes. No functional changes. 3.30 08/20/02 a. Fixed 2m_addre certification failures. b. Fixed ReverseNway problems after resume from hibernate. c. Fixed link indication problems with 5705/5901 d. Fixed IA64 SGL LSO performance problem. 3.29 08/13/02 a. Added 5901 Support b. Fixed Pattern Match WOL problem with 5705/5901 c. Added support for 5705/5901 ClkRun register bits for MiniPci d. Performance tuning for 5705 3.28 08/08/02 a. Fixed shutdown hang on IA64 platforms b. Fixed problem with interrupt vector greater than 255. c. Fixed eeprom corruption when BMAPI writes only 4 bytes d. Removed invalid tx cpu checks for 5705 3.27 08/01/02 a. 5703S Magic Packet WOL support b. Fixed 5705 Statistics 3.26 07/30/02 a. Added PLL Powerdown in low power mode back in. b. Added support for 5705 c. Removed init delay loops for 5705 3.25 07/25/02 a. Fixed problem with system hangs when WOL speed is forced to 10mb. b. Removed corner case when processing TCP large send offloads that was causing the firmware to hang. c. Enforced WOL speed requirements on 5704 adapters to minimize VAux power consumption. 3.24 07/11/02 a. Fixed problem with system hangs during suspend/hibernate. b. Fixed linkspeed problems w/ ASF. 3.23 07/10/02 a. Correct INF to reflex correct driver defaults for OEM1_DEV4 device. b. Fixed problem with System Shutdown leaving link at 1gig under certain configurations. 3.22 07/03/02 a. Added routine to read PowerSaving state from bootcode. This feature requires bootcode dated after 07/03/02. b. Added code to notify bootcode of OS Shutdown/Suspend. 3.21 07/01/02 Fixed the following: a. Cable disconnect cert failure for XP/.Net. b. Network link intermittently getting dropped when ASF is enabled. 3.20 06/28/02 Fixed the following: a. Large Send Offload hang due to dma queue out of sequence b. System hang during shutdown. 3.19 06/26/02 Fixed the following: a. System hang/reboot due to PME getting stuck. 3.18 06/25/02 Fixed the following: a. Gray out power management when WOL capabilities is set to none. b. Fixed continuous messages in Event Viewer for NT4. c. Fixed blue screen/system hang problem when unloading driver. d. Added Link Speed power saving. 3.17 06/19/02 Fixed the following: a. Added workaround so Win2k doesn't gray out power management button when only Magic Packet is enabled. b. Changed workaround for .Net32/.Net64 link detect problem. c. Changed max send packet BD from 32 to 128. d. Added Power Saving OID 3.16 06/04/02 Changed service names for .net32/.net64 back. 3.15 06/04/02 Fixed the following: a. Added workaround for .Net32/.Net64 link detect problem. b. Corrected service names for .Net32/.Net64 3.14 05/22/02 Fixed the following: a. Incorrect link polarity in phy loopback test b. Incorrect mac address for function 1 when firmware is not running. c. Nic hang when running WHQL large send offload test. d. Added Mac Address override in INF file for Win2k, WinXP. e. Added workaround when the going into suspend or hibernate but the OS doesn't tell the driver that the supported PM mode has changed. 3.13 05/13/02 Fixed the following: a. Added WOL workaround that doesn't require link status polling b. Adjusted MBUF Watermarks to fix problem 10/100 rx discard problem. 3.12 05/01/02 Fixed the following: a. Corrected version number to 3.12 3.11 04/30/02 Fixed the following: a. On Windows XP and later, both NDIS_MAC_OPTION_8021Q_VLAN and NDIS_MAC_OPTION_8021P_PRIORITY options must be enabled when VLAN support is turned on. b. Fixed PCIX hanging problem c. Added fix for mysterious 0x70 clearing problem. 3.10 04/23/02 Fixed the following: a. Second function not being recognized by NT4 b. Official Alpha 5704 release 2.89 12/09/02 Fixed the following: a. The standard receive buffer could overflow by 1 or 2 bytes when jumbo frame is enabled. 2.88 12/03/02 Fixed the following: a. Corrected CQ6203 Long wait during Teaming configuration. 2.87 11/25/02 Fixed the following: a. Corrected issues of Shutdown and going to Standby in PCIX systems with ASF Enabled. 2.86 11/15/02 Fixed the following: a. Changed Link Down status to Error in Even Viewer. b. Report 64bit DMA capable on 64bit adapters. c. Fixed problem with losing link after running cable diags. 2.85 10/18/02 Fixed the following: a. Fixed mouse not moving smoothly problem on Hyper-threading enabled systems. b. Fixed intermittent loopback failures on PCI-X systems. c. Updated internal driver string names. 2.84 09/24/02 Fixed the following: a. Check for duplicate Wake Pattern during handling of OID_PNP_ADD_WAKE_UP_PATTERN and return success if pattern already stored. b. No longer log or report Link Up and Link Down Status; when in Diagnostic Mode. 2.83 09/17/02 Fixed the following: a. Freeing non-empty Ndis packet/buffer pool when driver verifier is enabled. This is a very rare condition. 2.82 08/09/02 Fixed the following: a. CQ4838,4862: Low performance when LargeSend is enabled on IA64 systems. b. Fixed problem with interrupt vector greater than 255. 2.81 07/31/02 Fixed the following: a. Freeing non-empty Ndis packet/buffer pool when driver verifier is enabled. 2.79 07/29/02 Fixed the following: a. Provide statistics counter for frames dropped due to no receive buffer left. b. Qualified bond id check with chip number. Add additional bond ids. c. Driver could crash when sharing interrupt. d. LargeSend may cause a transmit lock. 2.78 06/28/02 Fixed the following: a. Register access contention with ASF during driver initialization. 2.77 06/26/02 Fixed the following: a. Ensure there is no bus activity when there is no link. b. CQ4376: Hot replace of a fiber adapter leaves it in inoperable state. c. CQ4542: CPU test failure on a BCM5701 adapter running in PCI-X mode. d. CQ4577: Register test failure on a BCM5701 adapter running in PCI-X mode. 2.76 06/10/02 Fixed the following: a. Freeing non-empty Ndis packet/buffer pool when driver verifier is enabled. 2.75 05/07/02 Fixed the following: a. Register test failure on the fiber adapter. 2.74 05/06/02 Fixed the following: a. Bad CRC count reported after running diagnostic. 2.73 05/01/02 Allow a user application to query the driver's current flow control setting. Fixed the following: a. On Windows XP and later, both NDIS_MAC_OPTION_8021Q_VLAN and NDIS_MAC_OPTION_8021P_PRIORITY options must be enabled when VLAN support is turned on. b. Intermittent memory test failure. c. Removed speed and duplex settings from the driver's advanced property tab of a fiber adapter. 2.72 04/24/02 Miscellaneous changes to the INF files. 2.71 04/23/02 Fixed the following: a. System crash due to GPIO register access. Added a workaround. 2.68 03/29/02 Fixed the following: a. CQ3740: Missing information in the NT4 help file pertaining to "1 Gb Full" duplex line setting for the fiber adapter. b. High CPU utilization after a CPU test on BCM5703/02. 2.67 03/22/02 EEPROM write was not working. 2.66 03/21/02 Changed driver media description to "Broadcom NetXtreme Installation Media". Allow configurability of the LED control register. 2.65 03/14/02 When the "Speed & Duplex" setting is set to "auto" on the fiber adapter, the driver will fall back to 1000Mb FD mode if the link partner is not attempting to auto negotiate. Fixed the following: a. CQ3636: Cannot pass traffic in 1000Mb FD mode after disconnecting the cable. 2.64 03/13/02 Fixed the following: a. CQ3592: High CPU utilization on the fiber card when it is set to auto-negotiate with a switch that has auto-negotiate turned off. b. CQ3593: Program the link LED of the fiber card to reflect auto-negotiation result. 2.63 03/08/02 Fixed the following: a. CQ3217: Cannot get link when connecting two fiber adapters back-to-back. 2.62 03/01/02 Fixed the following: a. CRC errors on BCM5703S. 2.61 02/28/02 Enable RX checksum and LargeSend offloading by default on WindowsXP. Added BCM5703/02 performance enhancements. Fixed the following: a. CQ3437: 1c_InitTime test failure. Driver was taking too long to obtain link status. 2.59 02/25/02 Fixed the following: a. CQ3386: Removed Ethernet@WireSpeed option form fiber adapters. b. CQ3396: Removing the driver on Windows9x, caused the system to lock-up. c. CQ3387: WOL parameter not removed when upgrading to a fiber adapter. d. Removed Ethernet@WireSpeed option from BCM5700 based adapters. 2.58 02/22/02 Fixed the following: a. CQ3355: WOL at 100Mb mode was not working on BCM5700. b. Changed the default for Ethernet@WireSpeed to enable. c. Unable to pass traffic at 1Gb link when Ethernet@WireSpeed is enabled. 2.57 02/22/02 Added support for BCM5703s. Added the new PCI device IDs for the BCM5703/02 based adapters. Added support for Ethernet@WireSpeed. Fixed the following: a. CQ3153: 2m_WOLPattern Ndis test failure on the new HCT10 QFE5. 2.56 02/11/02 Added ASF WOL support. 2.55 02/06/02 Fixed the following: a. CQ2892: CPU utilization goes up when only the receive cable of the fiber adapter is connected to the switch. b. CQ3035: Changed the copyright year. c. CQ3083: System locks up when running the interrupt test. d. CQ3105: 2c_LoadUnload test failure. 2.54 01/25/02 Removed support for BCM5703/02 A0. This version is based off v2.32 and v2.41 with the following fixes added. a. CQ2097,2879,2888: Intermittent autonegotiation failure when loading the driver for the fiber adapter. b. CQ2548: Unable to "unfail" on NT4 via a Hot-Plug utility. c. CQ2544: Hot-Plug utility displays an incorrect link status on NT4. d. CQ2891,2865: PXE client unable to do remote installation. e. CQ2613: W2K crashes while running continuous loopback in a PCI-X system. 2.53 01/23/02 Fixed the following: a. Unable to read the MAC address from SEEPROM on BCM5703/02. 2.52 01/22/02 Fixed the following: a. CQ2873: Failed 2c_AddressChange when running NdisTester. b. CQ2893: Jumbo frame was not working on BCM5703/02A0. c. CQ2879,2888: Intermittently failing the 1c_gtime test on the fiber adapter. d. CQ2544,2548: NT4 Hot Plug PCI issues. 2.51 01/10/02 Fixed the following: a. BCM5703/02A0 cannot wake-up from hibernation and standby if the firmware is not active. 2.49 01/08/02 Fixed the following: a. Ensure MAX_PCI_RETRY is set to zero immediately after a reset. 2.48 01/02/02 Added support for ASF. 2.47 12/28/01 Fixed the following: a. Lost of network connectivity when running Double-Take on Windows 2000. 2.46 12/27/01 This is an NT4 release only. This version is actually v2.43 with the fix listed below. Fixed the following: a. Failed 2m_media.tst on NT4 when running in 10mb half duplex mode. 2.45 12/20/01 Added a new BCM5703/02A0 firmware workaround for DMA write overrun. Fixed the following: a. Taking extremely long time shutting down Windows 9x when the driver is running. 2.44 12/18/01 Added support for BCM5703/02. Added PCI-X workaround for BCM5703/02A0. 2.43 12/11/01 Added the new Ndis 5.1 VLAN extensions for Windows XP/.NET drivers. To enable this feature, set the registry parameters for "VlanEnable" to 1 and "VlanId" to the desired VLAN ID. Added support for BCM5700 with BCM5411. 2.42 12/07/01 Added support for BCM5703/02. Fixed the following issue: a. Windows 2000 may crash when running the loopback test continuously on a multi-processor system. 2.41 11/15/01 This is an NT4 release only. This version is actually v2.32 with the fix listed below. Fixed the following issue: a. NT4 shutdown causes the system to hang when WOL is enabled. 2.40 04/22/02 This version is based off v2.32 with the following fixes added. a. Lost of network connectivity during WHQL ServerTest on a PCIX-100 system. 2.39 11/02/01 Fixed the following issues: a. "unfail" issue in OEM Hotplug utility. Only affects NT4 driver. 2.38 11/01/01 Fixed the following issues: a. Intermittent problem reading PHY registers. 2.37 10/31/01 Fixed the following issues: a. NT4 HotPlug PCI state was not initialized. b. 1c_Reset, 2c_OffloadChecksum, and 2c_OffloadLargeSend was not fixed in v2.36. 2.36 10/28/01 Fixed the following issues: a. Second installation on NT4 does not update to a newer driver. b. Fixed intermittent failures on 1c_Reset, 2c_OffloadChecksum, and 2c_OffloadLargeSend. 2.35 10/22/01 Added support for BCM5700Cx LargeSend offload. Added support for BCM5702. Fixed the following issues: a. PHY_LINK10 mode not working. b. Failed file compare test with Netbui protocol. 2.34 10/03/01 Fixed the following issues: a. Not reporting link change status to the OS when the cable is being disconnected from a 10Mb link. This problem only occurs on the BCM5700. b. Encapsulation for Task Offload was not properly advertised. 2.33 09/19/01 Fixed the following issues: a. BCM5700 cable unplug problem at 1Gb on PCI-X system. Also requires 1.12, or 2.5 or newer EEPROM. b. Refine the fix in v2.32. Version 2.32 will crash if at the time of the unplug, the system was busy transmitting packets. 2.32 09/14/01 Fixed the following issues: a. BCM5700 cable unplug problem at 1Gb. Also requires 1.12, or 2.5 or newer EEPROM. 2.31 09/12/01 Fixed the following issues: a. There is a possibility of the BCM5700 not claiming its interrupt, which results in system lock-up. b. XP blue screen when running 2c_simultaneous on BCM5700 with jumbo frame set to 9000. c. Misreporting of CRC error statistics. d. 2C_OffloadChecksum failures with the fiber adapter. 2.29 08/25/01 Fixed the follwing issues: a. 2m_standby Ndis test failures on OEM 8450 machine. b. Driver fails to load when the adapter is behind an IBM PCI-X bridge. 2.28 08/23/01 Fixed the following issues: a. When receive checksum is enabled on BCM5700, the driver may crash upon receiving a fragmented UDP datagram that is less than 60 bytes. 2.27 08/22/01 Fixed the following issues: a. Ndis WOL test failures in pattern matching. b. Crash on Windows .NET sending a packet that was double buffered. 2.26 08/19/01 Fixed the following issues: a. Windows 2000 intermittently locks up when entering standby or hibernate mode. 2.25 08/17/01 Allow a way to get the actual bus speed on a PCI-X system. Fixed the following issues: a. NT4 driver installation will failed if the driver for an adapter that previously occupied the same slot was not removed. b. Fixed TCP segmentation certification failures. 2.24 08/14/01 Changed the description of the Broadcom fiber adapter to "Broadcom NetXtreme Gigabit Fiber". Added WOL support for the new A3 chip. Fixed the following issues: a. B57w2k.sys driver locks up when running Storage Consolidation. b. The fiber adapter intermittently fails autonegotiation after resetting HP2524 switch. 2.23 08/02/01 NT4 driver installation now checks for the presence of Service Pack 4 or greater. Fixed the following issues: a. WOL speed was not properly set when shutting the system down. b. B57xp32/64.sys drivers were not using NdisQueryBufferSafe which resulted in 1 failure in the 1c_KernelCalls test. c. Failures in 1c_OffloadLargeSend. 2.22 07/31/01 Fixed the following issues: a. Fiber card back-to-back connection did not work on a PCI-X system. b. BCM5700 crash on XP when telnet to a switch. c. Driver crash after running ping for 30 minutes on an Athlon MP. 2.21 07/22/01 Added LargeSend offload support. Enabled MagicPacket wake-up when the system shuts down. Fixed the following issues: a. System crash on XP when enabling several instances at once. 2.19 07/17/01 Fixed the following issues: a. 802.3z autonegotiation was not working reliably. b. PHY loopback test was broken. 2.18 07/13/01 Added support for Windows 95 Retail edition. Fixed the following issues. a. System crash when running 2m_PerformanceBlast on an IA64 system. Under heavy traffic condition, the driver could miss an interrupt. b. 1c_Reset causes a system crash on Windows NT 4.0. During a reset, a pended transmit request may not be properly completed. 2.17 07/10/01 Added SGL support for the BCM5700 code path. B57w2k will default to use the map registers and B57xp32/64 defaults to use SGL. Added a user configurable parameter for WOL speed. Fixed the following issues. a. Driver was preventing the system from generating a dump file on system crash. 2.16 07/01/01 Fixed the following issues. a. Ndis resetting the miniport driver on the BCM5701 based fiber adapter when the cable is not connect. 2.15 06/28/01 Added support for BCM5701 based fiber board. Fixed the following issues. a. Intermitten running the 1c_FaultHandling script on Whistler with checked Ndis and DriverVerifier enabled. 2.14 06/19/01 Removed all references to "Broadcom" from all OEM inf files. Fixed the following issues. a. Possible memory leak in Windows 98 Retail edition. b. Not indicate the correct link status to BASP. c. Intermitten system crash when initializing the driver with the cable being plugged. d. 802.1p priority tag insertion was not done properly. 2.13 06/12/01 Fixed the following issues. a. Not initializing the chip's internal statistics counters to zero after a reset. b. Intermitten system lock-up when transitioning to low power mode. c. When forcing line speed, NdisTest complained about link status indication during the WOL tests. Removed support for SGL. Added support for Windows 98 Retail edition to the b57w2k.sys binary. 2.12 06/01/01 Fixed the following issues. a. System crash on 2m_pblst.tst NdisTest. b. Installation problem on NT4 when installing various OEM adapters at the same time. c. Intermitten link indications at the end of WOL NdisTest. d. System lock-up when booting up without a valid link. e. Indicating received packets before Ndis sets the packet filter. f. The default internal watermarks were configured for jumbo frame. Enable WOL at 10/100Mb on the new BCM5701 A1 chip. 2.11 05/23/01 Added "RxClearTicksOnBd" and "TxClearTicksOnBd" registry key for configuring the 5701 interrupt mode. By default, if these keys are not present, "RxClearTicksOnBd" is disabled and "TxClearTicksOnBd" is enabled. Tuned the driver for better performance on an MP system. 1.39 05/16/01 Fixed the following issues: a. Low throughput with certain netperf test configuration in 100Mb mode. b. 802.1p was broken. c. Driver was reseting the statistics whenever there was a link change. 1.38 05/07/01 Fixed the following problems. a. Oemsetup.inf generated "Parse error" when upgrading NT4.0 driver. b. Oemsetup.inf created multiple device entries when an older driver is already installed. c. Oemsetup.inf did not display the correct adapter string. Enabled WOL feature on Windows 9x driver. 1.37 05/04/01 Fixed a bug in which a map register may not be freed. On a PAE system, this bug will cause the system to crash when running the HCT test with driver verifier enabled. Added support for Ndis scatter-gather-list. This mode is enabled by setting "UseSgl" keyword to 1 and it only works on the 5701. 1.36 05/02/01 Fixed excessive interrupts problem. Modified link change dampening algorithm. Originally, link change indications were delayed 1-2 seconds. Now, link down indication is immediate and link up indication is delayed 1.5 seconds. Changed the driver description in the resource file to "Broadcom NetXtreme Gigabit Ethernet". Added "DpcLoopCnt" configurable parameter for capping DPC looping. 1.35 04/25/01 Enhance the configurability of determining link change interrupt. Added the following configurable parameters: "PhyIntMode" 0 Auto select link change interrupt (default). 1 Link change is triggered by the PHY interrupt. 2 Link change is determined from the link ready signal. 3 Link change is determined by auto-polling. (5701 only) The default mode for 5700 is "1" and 5701 is "2". "LinkChngMode" 0 Auto select the mechanism for determining link change status. 1 Look at the MAC status register to get link change status. 2 Look at the status block for link change status. (5701 only). The default mode for 5700 is "1" and 5701 is "2". "Bcm540xMode" 0 Auto select 540x LED mode based on the device's subsystem IDs. 1 540x LED mode is set to "Triple Speed". 2 540x LED mode is set to "LINK10". On the 5701, the status block size is configured to 80, 64, or 32 bytes long depending on the number of rings enabled. Modified code to adjust the start of a receive buffer so that the payload will align at a 4-byte boundary. Modified b57w2k.inf to allow for generic installation. The driver will check for supported devices and will fail if an unknown device is detected. Fixed the following issues: a. No link up event after a PHY loopback test. 1.34 04/16/01 Fixed problem in which an Ndis timer may not be properly disabled when unloading the driver. 1.33 04/11/01 The following issues are fixed: a. 10Mbps not working. b. PHY loopback failure in BASCS. Added support for "tagged status block" interrupt mode. Added support for Ndis 64-bit statistics counters. 1.32 04/03/01 Added the "Athlon fix". Enabled by default. Added support for BCM5701. 1.31 03/12/01 Added support for the Agilent and BCM8002 SERDES (fiber boards). Added support for Windows Me and 98. Changed the severity of link down event message log to "Information" instead of "Error". Modified the driver to not log "Informational" messages to the EventViewer during initialization. On a Windows 9x system, this will cause an undesirable error message box to popup after the system boots up. This version of the driver will not log "Driver initialized successfully" message and link information during initialization. Added support for the new Fiber board with the BCM8002 SERDES. Enable LLC_LENGTH check when VLAN is not enabled. Added the "Dribble Bit" workaround. Fixed problem with the outgoing traffic being fragmented at 8190 byte boundary even when the jumbo frame size was set to 9000. 1.29 01/29/01 Disable PCI-X relaxed ordering bit in the PCI-X command register. Changed DMA and MBUF watermarks when jumbo frame is enabled. 1.28 01/26/01 Added support for PCI-X. Fixed system crash caused by running cable diagnostic in heavy traffic. 1.27 01/22/01 Fixed intermitten crash on Whistler when entering lower power mode. This was cause by the driver copying network wake-up frame beyond the give buffer. Added a workaround for the problem with not being able to DMA buffers that end at 0xfffffff8-0xffffffff address region. Driver will not switch to the auxilliary power if the system does not have it. Disallowed receiving packets bigger than 1514 but less than 1536 when jumbo frame is not enabled. Maximum jumbo frame size was changed from 8000 to 9000 bytes in b57nt4.hlp. 1.26 01/02/01 Changed the way DPC is being serialized. Increased the maximum jumbo frame size to 9k. Added code to reset the PHY and wait for link during initialization. Fixed 1c_ofld.tst failure when only the transmit checksum is enabled. Modified the default interrupt coalescing parameters in b57w2k.inf and oemsetup.inf. Restore PCI subsystem and subvendor IDs on a reset. 1.25 12/22/00 Added support for the B1 silicon. Fixed no link up interrupt. Fixed intermitten W2k system hang on boot up when there is no cable connected with Netbuei and Nwlink protocol installed. Modified b57w2k.inf to enable WOL and TX checksum offloading capabilities. Improved driver performance. 1.24 12/16/00 Fixed problem with link functuation when coming out of hibernation mode. Fixed possible memory leak due to transmit packet descriptor not being freed up when the driver unloads. Cosmetic changes to oemsetup.inf and b57w2k.inf. Added code to check for subsystem vendor Id. 1.23 12/11/00 Fixed an intermitten system crash when unloading the driver on a busy network. 1.22 12/09/00 Fixed 1c_gtime failure when forcing 10mb full duplex on an HP 2424M switch. 1.21 12/07/00 Shorten "Link Selection" items in b57w2k.inf and oemsetup.inf. Added software workaround to recover from link mismatch settings. For example, the link partner is forced to 100mb and the adapter is forced to 10mb. 1.19 12/04/00 Replaced "Driver" with "Controller" in b57w2k.inf and oemsetup.inf. Fixed a very intermitten MAC and PHY loopback failure. 1.18 12/01/00 Removed TxMtu configurable parameter. Now the user only has to configure RxMtu to enable jumbo frame support. 5401 B0 silicon was not being resetted when the 1gb link went down. The reset is required as software workaround for the 5401 errata. Driver will now restore a couple of PCI configuration registers after a reset. 1.17 11/29/00 Added the ability to configure jumbo frame parameter in the b57w2k.inf. Fixed driver reporting wrong link status after reboot when forcing link speed on both sides. Fixed failure in MAC loopback test. 1.16 11/28/00 Updated the 5401 tap power-management script. Removed the busy polling for link when unplugging the cable. The polling period was too long and it was causing BASP to drop some Chariot connections. Removed support for A0, A1 silicon to reduce code size. 1.15 11/26/00 Fixed intermitten system lock-up on shutdown when WOL is enabled. Multicast table was never cleared which was causing the intermitten failure in 2c_rmult. 5401 reset on link down should occur only when the current speed is 1gb. Reduced driver load/unload time which will eliminate the 1c_gtime warnings. However, these warnings may still occur when WOL is enabled. This is due to the driver waiting for auto-negotiation to complete before completing initialization. 1.14 11/22/00 Added a software workaround for the 5401 to prevent it from locking up when the cable is unplugged during transmission. All the LEDs now indicate their corresponding link speed. 1.13 11/21/00 Fixed problem with TCP connections dropping when running Chariot in 10/100mb mode. Fixed problem with the adapter being disabled after exiting from the standby mode in Windows 2000. Fixed problem with the adapter not entering into wake-up mode when "shutdown". Ignore TX checksum parameter for B0 silicon. 1.12 11/18/00 Added WOL support for Windows 2000. Fixed intermitten lock-up in 10mb mode. Shadowed several MAC registers. Fixed PHY register read problem. Occasionally PHY register read returned an incorrect value. Default TaskOffload and FlowControl parameter to off. 0.9 11/10/00 Added MagicPacket support. In v0.8, whenever the driver detects a link mismatch, it will recover by switching to auto-negotiation mode. This version does not have this recovery mechanism. Write the link settings to the EventLog after the driver has initialized. Fixed 1c_gtime failure when forcing line speed. 0.8 11/03/00 NdisPacket allocated by the driver did not have the protocol reserved area which could cause system crash. Added a better handshaking mechanism with the firmware. Fixed the 2m_addres test. Added Compaq Hot Plug PCI support in oemsetup.inf. The MAC was not properly setup to operate in half duplex mode. Modified the driver to receive maximum sized VLAN packet without using the Jumbo receive ring. 0.7 10/30/00 Fixed problems with forcing line speed. Added checksum offloading capability. Fixed several issues with the Ndis test. The following test should pass now: 1c_ofldn, 2m_load, 2m_misc, 2m_addre. Added support for IBM hot plug. 0.6 10/22/00 Fixed lock-up that occurs when running the Ndis stress test. Fixed system crash when stopping the driver on an A1 silicon. Minor changes in b57nt4.hlp. Fixed problems with PHY loopback. Added support for MAC loopback. Added a vendor specific OID for changing the MAC address. Tested VLAN tagging and 802.1p priority packet. 0.5 10/17/00 Added a timer routine to periodically program the hardware to update the status block and generate an interrupt. This is necessary because with A0, A1, B0 silicon, under certain condition, the host will miss interrupts. Disable PCI NWI by default. The send producer index is written twice. This is a bug in the A0, A1, B0 silicon in which chip will miss the mailbox stimulus. Added tx/rx PAUSE frame negotiation with link partner. Modified b57w2k.inf to allow the user to configure rx/tx PAUSE frame independently. Fixed VLAN bug. The driver was retrieving VLAN tag from the wrong offset in the miniport reserved area. Added jumbo frame support. The user must manually modify the registry parameter to enable this feature. "RxJumboDescCnt" must be changed to some value greater than 20 but less than 256. This value determine the numbe of receive buffers to allocate for jumbo frames. Modified oemsetup.inf and b57w2k.inf to default "DisableAutoNeg" to 1, which will disable auto-negotiation advertisement when selecting a particular line speed. Added a help file for b57nt4.sys driver. 0.04 10/02/00 Added support for link change detection via PHY interrupt as oppose to having the MAC poll the PHY. PHY interrupt processing can be enable via "UsePhyInterrupt" registry parameter. Default is "auto-polling". Miscellaneous modifications oemsetup.inf and b57w2k.inf. Also fixed driver update issues with oemsetup.inf. Added delay before the driver is unloaded to prevent W2K from detecting the card as a different device. Fixed the deserialized driver to queue outgoing packets when there is no more packet descriptors left. 0.03 09/21/00 Modified reset and halt routines to handle shutdown more robustly. Some systems will not recognize the board after a warm boot. This version of the driver should fix this. 0.02 09/09/00 Initial release for the A1 silicon.