Broadcom Corporation 16215 Alton Parkway, Irvine, CA 92619-7013 Release Notes Broadcom BCM570X Solaris 2.6/7/8/9 driver for i386/SPARC platform 10/27/2002 Contents I. Introduction II. Installing Driver III. Uninstalling Driver IV. Driver Update (DU) Diskette Instruction (Intel Platform ONLY) V. Customize Driver Configuration VI. Revision History I. Introduction ============ This file describes the Solaris Release 8 driver for Broadcom's BCM570X 10/100/1000 Mbps Ethernet Network Interface Controller. Driver is released in three formats: 1. BRCMbcme.pkg : Datastream format. 2. BRCMbcme.tar.Z : Compressed and TAR file system format. 3. bcmedu.img : Driver Update (DU) binary image which is used to create DU diskette. II. Installing Driver ================= 1. Change directory to where BRCMbcme.pkg resides. 2. pkgadd -d BRCMbcme.pkg OR ( Copy BRCMbcme.tar.Z to /tmp. cd /tmp uncompress BRCMbcme.tar.Z tar xvf BRCMbcme.tar pkgadd -d /tmp) 3. Execute prtconf to determine instance number of the NIC. 4. ifconfig bcme[instance_number] plumb 5. ifconfig bcme[instance_number] ip_address netmask .... To make these changes permenant, follow these steps: 1. Use your favorit text editor (eg. vi) and create a file named hostname.bcme[instance_number] in /etc directory. Add the IP address of the interface to this file, save and exit. 2. Add a proper subnet mask to the file /etc/netmasks.] In Solaris 7.0 (Intel platform), operating system only allocates 36 pages of 4K physically contiguous memory. Driver needs about 130K physically contiguous memory per NIC. In order to use more than one NIC. O/S has to allocate more memory. This can be done by setting an O/S system variable "lomempages" in /etc/system. For instance, 4 NICs are installed in Solaris 7 system, physically contiguous memory is calculated as follows: 4 NICs * 130K = 520 K ==> 130 pages of 4K is required. Since this memory might be used by other driver in the system, 200 of 4K of memory is allocated. Add the following line in file /etc/system: set lomempages=200 III. Uninstalling Driver ================= 1. ifconfig bcme[instance_number] down 2. ifconfig bcme[instance_number] unplumb 3. pkgrm BRCMbcme. IV. Driver Update (DU) Diskette Instruction (Intel Platform ONLY) ============================================================ This area contains the Solaris diskette image files(s) and the instructions to create diskettes from these image file(s). 1. Insert a blank diskette into your machine's diskette drive and type one of the following commands to format it: * If you are using DOS, type: format A: * If you are using the Solaris operating environment, type: fdformat -Ud 2. Check to see if Volume Management is running: * If you are using DOS, type: dd filename A: * If you are using the Solaris operating environment, type: volcheck ls -l /vol/dev/aliases/floppy0 * If you see a message similar to this: lrwxrwxrwx 1 root 34 Jan 21 17:28 /vol/dev/aliases/floppy0 -> /vol/dev/rdiskette0/unnamed_floppy Type: dd if=bcmedu.img of=/vol/dev/aliases/floppy0 bs=36k eject floppy0 * If you see this message: /vol/dev/aliases/floppy0 not found Type: dd if=bcmedu.img of=/dev/rdiskette bs=36k Installing Solaris DU Diskette(s) You can use Solaris DU diskettes in one of two ways: * To use new drivers to install or upgrade the Solaris operating environment on a machine with new hardware * To add new drivers to support new hardware on an already installed and booted system Installing Solaris Using DU Diskette(s) To install Solaris (Intel Platform Edition) using drivers on the DU diskette: 1. Insert the appropriate Configuration Assistant diskette, made from the included file bcmedu.img into your machine's diskette drive. Also, insert the Solaris Installation CD-ROM, or for network installation, verify with your system administrator that the Solaris network installation image is available on your network. 2. Turn your machine on. 3. When the Configuration Assistant screen is displayed, choose the F4 option (on 2.6, this is labelled F4_Driver Update; on Solaris 7, F4_Add Driver). The message "Enumerating buses ... " is displayed. Then the Install Driver Update screen is displayed. 4. Remove the Configuration Assistant diskette from the diskette drive and insert the first Solaris DU diskette you want. 5. Press F2_Continue. The Select Solaris System Version screen is displayed. 6. Select the appropriate Solaris OS and press F2_Continue. The Loading Driver Update Software screen is displayed, along with a progress bar that shows the percentage of drivers that have been extracted from the diskette. Drivers are read into memory and survive long enough for the system to successfully boot to its installation program. When all the new drivers on the diskette have been processed, the Continue Driver Update Installation screen is displayed. 7. Remove the DU diskette from the diskette drive and insert the next DU diskette you want, if any. 8. Press F2_Continue. Again, the Loading Driver Update Software screen is displayed, along with a progress bar that shows the percentage of drivers that have been extracted from the diskette. Drivers are read into memory and survive long enough for the system to successfully boot to its installation program. When all the new drivers on the diskette have been processed, the Continue Driver Update Installation screen is displayed. 9. Repeat Steps 7 and 8 until all the DU diskettes you want are installed. 10. When all the drivers are processed, remove the DU diskette from the diskette drive and reinsert the Configuration Assistant diskette. IMPORTANT: Do not remove the Configuration Assistant diskette from the diskette drive until you see the following message displayed in a dialog box: If you want to bypass the device configuration and boot screens when the system reboots, eject the Device Configuration Assistant/Boot diskette now. 11. Press F2_Continue. The Solaris Device Configuration Assistant screen is displayed. 12. Press F2_Continue. The message "Enumerating buses ..." is displayed. Then the Scanning Devices screen is displayed. System devices are scanned. When scanning is complete, the Identified Devices screen is displayed. 13. Press F2_Continue. The message "Loading driver ..." is displayed followed by messages about the drivers that are required to boot your system. After a few seconds, the Boot Solaris screen is displayed. 14. At the Boot Solaris screen, select the device controller attached to the device that contains your install medium. 15. Press F2_Continue. Drivers for the device controller you selected are displayed. Your system boots to run the install program. The install program starts and your machine begins booting the complete Solaris operating environment. Then, after some time, the following messages are displayed, prompting you to insert each of the Solaris DU diskettes required to install your machine: Installing unbundled device driver support Extracting driver list from tree.. <DU diskette name> driver-name... Please insert the Driver Update diskette labeled <DU diskette name> Press <ENTER> when ready. 16. Remove the Configuration Assistant diskette and reinsert the first DU diskette you inserted earlier into the diskette drive. 17. Press Enter. Packages, patches, or both that contain the new drivers are installed from the diskette onto your machine. Messages about each installation are displayed. *If drivers on other DU diskettes are required for your machine, this prompt is displayed: Please insert the Driver Update diskette labeled <DU diskette name> Press <ENTER> when ready. *Otherwise, this prompt is displayed: If you have additional Update diskettes to install (such as video), please insert diskette now. Additional Update diskettes to install? (y/n) [y] 18. If drivers on other DU diskettes are required, remove the DU diskette from the diskette drive, insert the next DU diskette you are prompted to insert, press Enter, and repeat until all drivers you need are installed. 19. Press Enter. When installation is complete, the message "Installation complete" is displayed. 20. Remove the diskette from the diskette drive. 21. Reboot your machine. When the Solaris operating environment is finished booting and running, the new devices whose drivers you installed are available for use. Adding a DU Diskette to an Existing Solaris System Before adding new or updated drivers, the newly supported hardware devices should be installed and configured according to the instructions in the corresponding Device Reference Page, if any. See the Solaris (Intel Platform Edition) Device Configuration Guide. When the Solaris (Intel Platform Edition) software is already installed, the simplest way to add new or updated drivers is to install the DU diskettes as patches on your system, as follows: 1. Become superuser on your system. 2. Check to see if Volume Management is running on the machine you are updating: ps -ef | grep vold For more information about managing diskettes and drives, see the System Administration Guide. 3. If Volume Management is running, temporarily stop it by typing: # /etc/init.d/volmgt stop 4. Insert the DU diskette into the diskette drive. 5. Mount the DU diskette at the /mnt mount point: # mount -F pcfs /dev/diskette /mnt Note: At this point, you must mount the DU diskette in the file structure to update your system successfully. 6. Execute the install script on the diskette, using the appropriate Solaris release directory (currently sol_26 for Solaris 2.6, sol_27 for Solaris 7, and so on). For example: # /mnt/DU/sol_27/i86pc/Tools/install.sh -i The install.sh script searches for all new or updated drivers on the diskette. When a new or updated driver is found, the following prompt is displayed: Unconditionally installing DUs <DU driver names> Install patch driver-name? [y] 7. If the driver is the one you want to install, at the prompt, type y for yes or press Enter. If the driver is not the one you want to install, type n for no. If you type y, the install.sh script installs the driver you indicated as well as the bootmod and bootbin patches. 8. When you're done and the install.sh script exits, unmount the diskette: # cd / # umount /mnt 9. Remove the DU diskette from the diskette drive. 10. Reboot your machine. # touch /reconfigure # reboot 11. If you haven't already, turn your system off, add the new hardware, and then turn your system on again. 12. When the autoboot sequence prompt is displayed, quickly press Escape. The autoboot sequence is interrupted. The Configuration Assistant screen is displayed. 13. Press F2_Continue. The message "Enumerating buses ..." is displayed. The Scanning Devices screen is then displayed. System devices are scanned. When scanning is complete, the Identified Devices screen is displayed. 14. Press F2_Continue. The message "Loading driver com.bef ..." is displayed. The Boot Solaris screen is then displayed. 15. On the Boot Solaris screen, select the device controller attached to the device that contains your install medium, in this case the main system disk. The /etc/bootrc script is displayed. 16. At the prompt, type: b -r Your machine boots. You can now use your new hardware. V. Customize Driver Configuration ============================== To customize the driver edit "/kernel/drv/bcme.conf" and update the respective parameters in this file. The following describes the meaning of these parameters: # ForceSpeedDuplex : configures link (or instance) to a certain Speed and # Duplex. By default, AutoNegotiate (0) is set. The setup is based on the # following values: # 0 : AutoNegotiate. # 1 : 10 Mbps speed and Half Duplex mode. # 2 : 10 Mbps speed and Full Duplex mode. # 3 : 100 Mbps speed and half Duplex mode. # 4 : 100 Mbps speed and Full Duplex mode. # 5 : Force 1000 Mbps Full Duplex mode (Fiber NIC only). # 6 : AutoNegotiate only 1000 Mbps Full Duplex mode. # 7 : AutoNegotiate only 1000 Mbps Half Duplex mode. # 8 : AutoNegotiate only 100 Mbps Full Duplex mode. # 9 : AutoNegotiate only 100 Mbps Half Duplex mode. # 10 : AutoNegotiate only 10 Mbps Full Duplex mode. # 11 : AutoNegotiate only 10 Mbps Half Duplex mode. # # For examples, configure adapters of instance#0 and instance#3 to # 100 Mbps Full Duplex, and 10 Mbps Half Duplex. # ForceSpeedDuplex=2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0; # ForceSpeedDuplex=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; # # FlowControl : configures flow control parameters of a link. The setup is # based on the following values: # 0: Both Tx and Rx flow control are disabled. # 1: Tx flow control is enabled. Pause frames will be sent if # resource is low. But device will not process Rx Pause Frame. # 2: Rx flow control is enabled. If device receives Pause Frame, # it will stop sending. But device will not send Pause Frame # if resource is low. # 3: Both Rx and TX flow control are enabled. Pause frames # will be sent if resource is low. If device receives Pause Frame, # it will stop sending. # 4: Advertise both Rx and TX flow control being enable and negotiate # with link partner. If link AutoNgotiate is not enabled, then # both Tx & Rx Flow Control are disabled. FlowControl=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; # # MaxJumboFrameSize : configures Jumbo Frame feature of a link. The valid # range for this parameter is 0 to 9000. If value configured is less then # 1500, then Jumbo Frame feature is disable. BCM5705 NICs don't support # jumbo frame and therfore this parameter will be ignored by the driver. MaxJumboFrameSize=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; # # TxPacketDescCnt: configures number of Tx packet descriptor. The valid # value is 32 to 512. More system memory resource will be used for # larger number of Tx Packet Descriptors. Default value is 200. # TxPacketDescCnt=200; # # RxStdDescCnt: configures number of Rx packet descriptor. The valid value # is 32 to 512. More system memory resource will be used for larger # number of Rx Packet Descriptors. Default value is 500. # RxStdDescCnt=500; # # RxJumboDescCnt: configures number of Rx Jumbo packet descriptor. The # valid value is 32 to 256. More system memory resource will be used for # larger number of Rx Jumbo packet descriptors. This parameter is only # used if jumbo frame feature is enabled. Default value is 50. # RxJumboDescCnt=50; # # RxCoalescingTicks: configures number of Rx Host Coalescing Ticks in # microseconds. This determines upper-bound of time interval that the # device will generates interrupt if one or more frames are received. # The default value is 150. # RxCoalescingTicks=150; # # RxMaxCoalescedFrames: configures number of Rx Maximum Coalesced Frames # parameters. This determines upper-bound of maximum number of Rx buffer # descriptors that device processes before it will generate an interrupt. # The default value is 10. # RxMaxCoalescedFrames=10; # # TxCoalescingTicks: configures number of Tx Host Coalescing Ticks in # microseconds. This determines upper-bound of time interval that the # device will generates interrupt if one or more frames are sent. The # default value is 500. # TxCoalescingTicks=500; # # TxMaxCoalescedFrames: configures number of Tx Maximum Coalesced Frames # parameters. This determines upper-bound of maximum number of Tx buffer # descriptors that device processes before it will generate an interrupt. # The default value is 80. # TxMaxCoalescedFrames=80; # # RxCoalescingTicksDuringInt: configures number of Rx Host Coalescing Ticks # in microseconds during interrupt. This determines upper-bound of time # interval that the device will generates interrupt if one or more frames # are received during interrupt handling. The default value is 75. # RxCoalescingTicksDuringInt=75; # # TxCoalescingTicksDuringInt: configures number of Tx Host Coalescing # Ticks in microseconds during interrupt. This determines upper-bound of # time interval that the device will generates interrupt if one or more # frames are received during interrupt handling. The default value is 75. # TxCoalescingTicksDuringInt=75; # # RxMaxCoalescedFramesDuringInt: configures number of Rx Maximum Coalesced # Frames parameters during interrupt handling. This determines upper-bound # of maximum number of Rx buffer descriptors that device processes before # it will generate an interrupt during interrupt handling. The default # value is 10. # RxMaxCoalescedFramesDuringInt=10; # # TxMaxCoalescedFramesDuringInt: configures number of Tx Maximum Coalesced # Frames parameters during interrupt handling. This determines upper-bound # of maximum number of Tx buffer descriptors that device processes before # it will generate an interrupt during interrupt handling. The default # value is 10. # TxMaxCoalescedFramesDuringInt=10; # # StatsCoalescingTicks: configures how often adapter statistics are DMAed # to host memory in microsecond. Default is 1000000. # StatsCoalescingTicks=1000000; # # DoubleCopyTxBufferSize: configures double copy Tx buffer size. If a # packet to be transmitted is less than this parameter and spanned more # than 1 fragments. These fragments of this packet will be combined into # 1 fragment. # DoubleCopyTxBufferSize=64; Customize Driver Configuration via NDD command ============================================== Driver configurations can also be temporarily changed with Solaris ndd command. Any changes made with ndd command are temporary and will be l ost when you reboot the system. To make configuration changes survive after reboot, modifying bcme.conf instead. To display parameters that are configurable via ndd: ndd /dev/bcme '?' The system should returns the following: ? (read only) Instance (read and write) ForceSpeedDuplex (read and write) FlowControl (read and write) TxPacketDescCnt (read and write) RxStdDescCnt (read and write) RxCoalescingTicks (read and write) RxMaxCoalescedFrames (read and write) TxCoalescingTicks (read and write) TxMaxCoalescedFrames (read and write) RxCoalescingTicksDuringInt (read and write) RxMaxCoalescedFramesDuringInt (read and write) TxCoalescingTicksDuringInt (read and write) TxMaxCoalescedFramesDuringInt (read and write) StatsCoalescingTicks (read and write) DoubleCopyTxBufferSize (read and write) DoubleCopyTxBufferSize (read and write) BlinkLeds (write only) To configure a particular NIC, parameter "Instance" has to be set to proper instance associated with a particular NIC. For instance, to force NIC of instance 1 to 100Mbps Full Duplex, ndd -set /dev/bcme Instance 1 ndd -set /dev/bcme ForceSpeedDuplex 3 To query current configuration of Flow Control of instance 3, ndd -set /dev/bcme Instance 3 ndd -get /dev/bcme FlowControl To blink all LEDs for 10 seconds of NIC of instance 5. ndd -set /dev/bcme Instance 5 ndd -set /dev/bcme BlinkLeds 10 VI. Revision History ================ v0.1 (02/26/01) - First Release. v0.2 (03/01/01) - Fixed a problem where driver transmits garbage data if packet crosses multiple 4K pages. v0.3 (03/05/01) - Enhanced to log Link Up/Down events. - Fixed a problem no more than 4 NICs can be installed in a system. - Fixed a problem where 10/100 Mbps doesn't work. v0.4 (03/06/01) - Fixed a problem where command "netstat -i" doesn't show NIC statistics. - Fixed a problem where driver might lock up if number of bytes per fragments is less than 8. - Fixed a problem where ping response time is large if ping packet is big (such as 64K ...) v0.5 (03/08/01) - Fixed a problem where driver can no longer transmit after a few hours of operation. v0.6 (03/12/01) - Fixed a problem where netperf performance degrades over time. v0.7 (03/13/01) - Added features to allow users to configure various driver parameters with configuration file bcme.conf. v0.8 (03/14/01) - Fixed a problem where load/unload drivers many times can lock up system. - Driver is now released as standard PACKAGE format. - Fixed a problem where FlowControl being set to 4 in bcme.conf doesn't configure driver correctly. v0.9 (03/16/01) - Added Jumbo frame support. - Added more statistics. These statistics counters can be viewed with netstat -k bcme[instance]. - Added support some OEM NICs/LOMs. v1.0.0 (03/23/01) - Enhanced driver configuration so that driver configurations can be changed via ndd command. - Added proprietory IOCTLs so that driver can be debugged via debug application. - Enhanced to display Broadcom banner when driver is loaded and also display type of NIC detected. v1.0.1 (03/28/01) - Fixed a problem where driver doesn't load correctly in Dell Viper system. This is due issue where some PCI devices in the Dell Viper system have the same Subsystem Vendor ID/Device ID. - Added support for Athlon system. v1.0.2 (04/02/01) - Fixed a problem where Fiber NIC doesn't work when it is connected to switch. v1.0.3 (04/03/01) - Fixed a problem where SUN compliance test failed after 18 hrs. v1.0.4 (04/25/01) - Added BCM5701 support. v1.0.5 (05/02/01) - Added support for new OEM NICs. - Changed banners for Broadcom NICs to "Broadcom NetXtreme ..." v1.0.6 (05/08/01) - Fixed a problem where driver per-instance parameters cannot be configured with bcme.conf. v1.0.7 (05/11/01) - Added support for new OEM NICs. v2.0.0 (05/25/01) - Added 64-bit driver support for SPARC platform (SPARC version 9 instruction set). It has been tested on Ultra-30 and Utra-5 platform. - Added Hot-plug support. v2.0.1 (05/30/01) - Fixed a problem where driver doesn't load on Intel platform with Solaris 7 O/S. - Added support for Autonegotiate for individual speed. - Enhanced to allow O/S to transmit when no link is detected. v2.0.2 (06/01/01) - Fixed a problem where driver doesn't recognize a certain OEM NICs. - Fixed a problem where dirver is unable to Autonegotiate 1000 Mbps Full Duplex ONLY. v2.0.3 (06/24/01) - Optimized data path. - Added support for new NIC types. v2.0.4 (06/25/01) - Optimized data path via host coalescing parameters. v2.0.5 (07/03/01) - Added support for Solaris 2.6. - Added ndd option to allow users to blink all LEDs of a given NIC instance for a given duration. - Fixed a problem where netperf intermittently fails in a certain configuration. - Added support for 32-bit version NICs. v2.0.6 (07/06/01) - Fixed a problem where interface hangs up when Jumbo frame is enabled and under heavy traffic such as Chariot performance testing. v2.0.7 (08/04/01) - Fixed a problem where promiscuous mode doesn't work. - Fixed a problem where flow-control cannot be set via ndd command on Fiber interface. - Fixed a problem where not all LEDs are blinked via ndd command on BCM5700-based NICs. - Added software workaround AMD Athlon issue. - Changed default host coalescing parameters to improve Netpef Performance. v2.0.11 (08/30/01) - Fixed a problem where driver fails to initialize in a certain Compaq machines. - Added checksum offload support. - Optimized Tx performance. - Fixed a problem where per-instance parameters are not set correctly if instance number is 16. - Provided software workaround if NIC is behind an external PCI-X bridge. v2.0.12 (08/31/01) - Fixed a problem where interface is hung under heavy traffic and a lot of clients. v2.0.13 (09/01/01) - Fixed a problem where driver doesn't recover after DMA write underrun is detected on the PCI-X platform. v2.0.14 (09/10/01) - Fixed FCS counter issue. - Fixed some OEM strings. - Fixed a problem systems might hang up during bootup time if Fiber NICs are on some systems. - Fixed a problem performance is low on 1000 Mbps Half. v2.0.15 (09/13/01) - Fixed a problem where link can come up at 10Mbps if pre-boot WOL is enabled on the NIC in back-to-back configuration. - Fixed a problem where setting speed/duplex with ndd command doesn't work if speed/duplex is changed from Selective Autoneg to Autoneg. v2.0.16 (09/14/01) - Fixed a problem where system might crash if cable is unplugged under heavy traffic. This problem only occurs on BCM5700-based NICs. It also requires bootcode firmware version 2.4 or newer. v2.0.18 (09/24/01) - Enhanced performance when running in the SPARC environment. - Added a workaround where older version of OpenBoot firmware (in some Sun systems) doesn't initialize upper 32-bit of 64-bit BAR. v2.0.19 (10/18/01) - Fixed a problem where driver doesn't work correctly when single LED mode is utilized in BCM5701-based NIC/LOM. - Added support for BCM5702 and BCM5703. v2.0.20 (10/25/01) - Fixed a problem where receiving data can be corrupted under heavy traffic in high-speed (>100 MHz) PCI-X systems. v2.0.21 (10/29/01) - Fixed a problem where performance is degraded in Intel platform. - Fixed a problem where jumbo frame is broken in Intel platform. v2.1.0 (01/20/02) - Fixed display banners for BCM5702/BCM5703 NICs. - Fixed a problem where BCM5702 LOM might not be initialized correctly if subsystem Vendor ID/device ID of all PCI devices in the system are identical. v2.1.1 (01/22/02) - Fixed a problem where interface hangs up if O/S requests transmiting packets with over 256 fragments (CQ2710). v2.1.2 (02/22/02) - Added support for Ethernet WireSpeed feature for BCM5702/ BCM5703 NICs/LOMs. - Fixed a problem where NFS copy/compare test stops intermittently when 2 PCs connected back-to-back (CQ3296). - Fixed a problem where bcm5703 fiber card comes up as 14e4,1647 instead of 14e4,a. (CQ3246) - Added support for NICs with device ID 0x16a6 and 0x16a7. v2.1.4 (03/22/02) - Added support for different LED configurations. - Enhanced performance for BCM5702/BCM5703-based NICs/LOMs. - Fixed a problem where MAC device type/revision is not displayed accurately for BCM5702/BCM5703. v2.1.5 (03/22/02) - Enhanced Fiber LED configuration per OEM's requirements. - Added support for new OEM adapters. v2.1.6 (04/01/02) - Fixed a problem where BCM5701 doesn't work well in Compaq 8500 PCI-X 100MHz Slot. (CQ3782) v2.1.7 (04/03/02) - Added support for new OEM NICs. v2.1.8 (04/04/02) - Fixed a problem where certification fails. (CQ3821) v2.1.9 (04/10/02) - Fixed a problem where driver doesn't work reliably on Compaq DL850 PCI-X slot. v2.1.10 (04/16/02) - Fixed a problem where jumbo frame doesn't work in SPARC environment. - Fixed a problem where driver hangs up during stress test with BCM5704-based NICs. v2.1.11 (04/22/02) - Removed BCM5704 support. v3.0.0 (05/30/02) - Added BCM5704 support. - Fixed a problem where BCM5704-based NIC fails on the PCI-X slots. (CQ4142) - Fixed a problem where macDeviceType in statistics doesn't indicate BCM5704-based NICs correctly. (CQ4161) - Fixed a problem where Netperf UDP test fails with BCM5704-based NICs. (CQ4170) - Added support for Solaris 7 DU package. - Fixed a problem where CPU utilization is high for BCM5704-based NICs. (CQ4297) v3.0.1 (06/26/02) - Fixed a problem wher RIP packets are sent out with invalid MAC type field in Solaris 7.0 environment. (CQ4497) v5.0.0 (10/06/02) - Added support for BCM5704 Fiber. - Added support for BCM5705. - Fixed a problem where kstats reports wrong information for BCM5704A1 NICs. v5.0.1 (10/10/02) - Fixed a problem where DU image doesn't create floppy disk label. (CQ4955) - Removed "Driver" string from driver description. (CQ4304) - Fixed a problem where BCM5703 A3 NIC doesn't work in PCI-X 100 MHz. (CQ5728) - Fixed so that jumbo frame is not configurable for BCM5705. v5.0.3 (10/27/02) - Fixed a problem where manual page file is not copied to man directory in i386 platform. - Fixed a problem wher BCM5705 interface might hang during repeated sequence of load/unload. (CQ5845) v6.0.0 (02/07/03) - Updated all copyright strings. - Default flow control is now 4 (auto) v6.0.1 (02/10/03) - Added code to zero pad bytes of short (<64B) packets. - Added RDMA and WDMA clockfix for 5705_A3 cards - Disable Ethernet@Wirespeed for latest 5705 cards - Changed Compaq strings to HP. - Added new device IDs and strings for 5705A3, 5705MA3, and 5901A3 revisions. - Added new deviceIDs to postinstall script. v6.0.2 (02/12/03) - Additional ethernet@wirespeed changes. - Added a new macDeviceType entry for 5782 - Fixed bcmedu.img file to support 5782 - Fixed FlowControl bugDownload 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.