Release Notes Broadcom tg3 Linux Driver Version 3.110g 06/08/2010 Broadcom Corporation 5300 California Avenue, Irvine, CA 92617 Copyright (c) 2010 Broadcom Corporation All rights reserved v3.110g (June 8, 2010) ======================== Fixes ----- 1) Problem: (CQ47824) 57765 devices will occasionally not be able to ping. Cause : The fix and reasoning behind the fix for CQ44458 below are incorrect. The indirection table addresses rx queues, not MSI-X vectors. Change : Revert the fix for CQ44458. Impact : Pings work as expected. The root cause for CQ44458 is that the incoming rx packets just don't hash to the last RSS queue. Enhancements ------------ 1) Change : Integrate changes based on code review. 2) Change : Make MSI-X interrupt allocation failure checks more robust. 3) Change : Add support for 50612E phy for 5785. v3.110f (May 28, 2010) ======================== Fixes ----- 1) Problem: BD and / or packet corruption happens under high traffic conditions for 5717 B0 and 5719 revs. Cause : The multiple DMA read engine still has problems. Change : Turn off the multiple DMA read engine and coalesce all packets that have fragments that are less than 8 bytes in length. Impact : This problem affects all 5717 and 5719 devices. 2) Problem: Link up via parallel detect does not work. Cause : The phy on 5717 and 5719 devices determines link up via parallel detection internally. When the ISR processes the link change though, the remote partner's link advertisement register will read 0x0. This ultimately causes the driver to incorrectly conclude that the link is down. Change : Trust the link status in phy register 0x1. If the remote partner's advertisement register reads 0x0, assume link is up via parallel detect. Impact : This problem affects all 5717 and 5719 serdes devices. Enhancements ------------ 1) Change : For the 5717 (and 5719), the driver uses the PCI function number to determine which MDIO bus address the driver should use to address the current device's phy. This release changes the code to use the function number provided by the kernel rather than decoding a device register. The 5719 changes the layout of this register, so the benefit of this change is more maintainable code. v3.110e (May 13, 2010) ======================== Fixes ----- 1) Problem: Driver issues ALIGN not defined warnings on 2.4 kernels. Cause : Missing compatibility code. Change : The driver's compatibility code will define this macro if it does not already exist. Impact : This problem was only seen on 2.4 kernels. 2) Problem: Driver compile fails on newer kernels. Cause : Recent makefile changes assumed `uname -p` would return x86_64, i686, etc. On some systems, the command actually returns a processor specific descriptive string. Change : Use `uname -m` instead, which seems to get it right in all cases so far. Impact : This bug affects any system that does not meet the old assumptions. Enhancements ------------ 1) Change : Allow the allocation of a single MSI-X interrupt if the system supports more than one CPU. The benefit is that the system can migrate that interrupt to any CPU if needed. v3.110d (May 11, 2010) ======================== Fixes ----- 1) Problem: (CQ45614) Driver fails to build if kernel variant binaries are not installed. Cause : The driver's makefile looks at the installed kernel binary directory in /lib/modules for a symlink that points to the kernel sources. If that symlink is not found, the build ultimately fails. Change : Change the makefile to look for kernel sources in known locations if the kernel binary symlinks are missing. Impact : This problem can happen anytime somebody runs make with KVER set and with only the kernel devel packages installed. 2) Problem: (CQ44458) CPU3 does not get utilized when RSS mode is enabled. Cause : The RSS indirection table indexes into the MSI-X vector table, not table of RX queues. Change : Add one to the indirection table index so that the table always routes packets to valid vectors. Impact : This problem happens on 5717 and 57765. At the time of this writing, these are the only two devices that implement RSS and MSI-X interrupts. 3) Problem: (CQ44456) 72hour cc32 stress test fails. Cause : The driver was leaking memory. An out of memory condition could cause the reboot. Change : Free all rx rings when deconstructing the device. Impact : This problem happens on 5717 and 57765. At the time of this writing, these are the only two devices that implement RSS and MSI-X interrupts. v3.110c (April 27, 2010) ======================== Fixes ----- 1) Problem: (CQ47032) Driver version incorrect in Dash Management console. Cause : The driver posted a static 3.81 version to APE shared memory. Change : Implement a driver version reporting scheme that will always stay accurate. Impact : This problem only afflicts APE-enabled devices. At the time of this writing, only the 5761 and 5717 devices are affected. 2) Problem: Driver implements APE mutex locking incorrectly for the 5717. Cause : APE mutex registers changed location. Change : Recode the driver to use the new mutex register location. Impact : This bug only affects the 5717 asic rev. 3) Problem: On SLES 11.X systems, modules that are marked externally supported prevent kernel updates. This is regarded as a security concern. Cause : The system's update mechanisms simply won't update kernels with such modules in place. Change : Remove the Module.supported target from the driver's makefile. This will render the module unloadable in a default install. Update the README.TXT file to describe the problem and how to work around it. Impact : This problem will affect all SLES 11 and newer installs. 4) Problem: Jumbo frames are corrupted at 100Mbps. Cause : Driver was accidentally disabling the tx mbuf lockup fix in register 0x45c. Change : Set bit 8 of 0x45c to enable lockup fix. Impact : This problem affects all 5755 and newer devices. Enhancements ------------ 1) Change : Enable the multiple DMA read facilities for 5717 B0 devices. 2) Change : Removed the Module.supported file as a build target. This means the admin will have to toggle the allow_unsupported_modules flag in /etc/modprobe.d/unsupported-modules. The README.TXT has been updated to address this. v3.110b (April 13, 2010) ======================== Initial release notes.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.