Installation Notes Broadcom b44 Linux Driver Version 1.00g 06/07/2006 Broadcom Corporation 16215 Alton Parkway, Irvine, CA 92619-7013 Copyright (c) 2006 Broadcom Corporation All rights reserved Table of Contents ================= Introduction Limitations Packaging Installing Source RPM Package Building Driver From TAR File Driver Settings Driver Defaults Unloading and Removing Driver Driver Messages Introduction ============ This file describes the b44 Linux driver for the Broadcom 440x 10/100 Mbps PCI Network Controllers. The latest driver is in the latest 2.6 Linux kernel. It can also be downloaded from http://www.broadcom.com as a source package, but is generally not necessary to do so if you are using the latest 2.6 upstream kernel from http://www.kernel.org or one of the latest vendor kernels from Red Hat, SuSE, or others. The b44 driver from this Broadcom package is almost identical to the b44 driver in the latest 2.6 upstream Linux kernel. It includes some additional kernel compatible code to allow it to compile on older 2.6 and some 2.4 kernels. The version number is also similar but generally has a one letter suffix at the end, (e.g. 1.00a) to distinguish it from the in-kernel b44 driver. The next few sections on packaging, compiling, and installation apply to the Broadcom driver package only. Limitations =========== The current version of the driver has been tested on 2.4.x kernels starting from 2.4.24 and all 2.6.x kernels. The driver may not compile on kernels older than 2.4.24. Testing is concentrated on i386 and x86_64 architectures. Only limited testing has been done on some other architectures such as powerpc and sparc64. Minor changes to some source files and Makefile may be needed on some kernels. Packaging ========= To replace an older previously installed or in-kernel b44 driver, follow the instructions below. The driver package from http://www.broadcom.com is released in two packaging formats: source RPM and compressed tar formats. The file names for the two packages are b44-<version>.src.rpm and b44-<version>.tar.gz. Identical source files to build the driver are included in both packages. Installing Source RPM Package ============================= The following are general guidelines for installing the driver. 1. Install the source RPM package: rpm -ivh b44-<version>.src.rpm 2. CD to the RPM path and build the binary driver for your kernel: cd /usr/src/{redhat,OpenLinux,turbo,packages,rpm ..} rpm -bb SPECS/b44.spec or rpmbuild -bb SPECS/b44.spec (for RPM version 4.x.x) Note that the RPM path is different for different Linux distributions. 3. Install the newly built package (driver and man page): rpm -ivh RPMS/<arch>/b44-<version>.<arch>.rpm <arch> is the architecture of the machine, e.g. i386: rpm -ivh RPMS/i386/b44-<version>.i386.rpm Note that the --force option may be needed on some Linux distributions if conflicts are reported. The driver will be installed in the following path: 2.4.x kernels: /lib/modules/<kernel_version>/kernel/drivers/net/b44.o 2.6.x kernels: /lib/modules/<kernel_version>/kernel/drivers/net/b44.ko 4. Load the driver: insmod b44.o or insmod b44.ko (on 2.6.x kernels) or modprobe b44 5. To configure network protocol and address, refer to various Linux documentations. Building Driver From TAR File ============================= The following are general guidelines for installing the driver. 1. Create a directory and extract the files: tar xvzf b44-<version>.tar.gz 2. Build the driver b44.o (or b44.ko) as a loadable module for the running kernel: cd src make 3. Test the driver by loading it: insmod b44.o or insmod b44.ko (on 2.6.x kernels) or insmod b44 4. Install the driver: make install See RPM instructions above for the location of the installed driver. 5. To configure network protocol and address, refer to various Linux documentations. Driver Settings =============== This and the rest of the sections below apply to both the in-kernel b44 driver and the b44 driver package from Broadcom. Driver settings can be queried and changed using ethtool. The latest ethtool can be downloaded from http://sourceforge.net/projects/gkernel if it is not already installed. The following are some common examples on how to use ethtool. See the ethtool man page for more information. ethtool settings do not persist across reboot or module reload. The ethtool commands can be put in a startup script such as /etc/rc.local to preserve the settings across a reboot. 1. Show current speed, duplex, and link status: ethtool eth0 2. Change speed, duplex, autoneg: Example: 100Mbps half duplex, no autonegotiation: ethtool -s eth0 speed 100 duplex half autoneg off Example: Autonegotiation with full advertisement: ethtool -s eth0 autoneg on Example: Autonegotiation with 100Mbps full duplex advertisement only: ethtool -s eth0 speed 100 duplex full autoneg on 3. Show flow control settings: ethtool -a eth0 4. Change flow control settings: Example: Turn off flow control ethtool -A eth0 autoneg off rx off tx off Example: Turn flow control autonegotiation on with tx and rx advertisement: ethtool -A eth0 autoneg on rx on tx on Note that this is only valid if speed is set to autonegotiation. 5. Get statistics: ethtool -S eth0 6. See ethtool man page for more options. Driver Defaults =============== Speed : Autonegotiation with all speeds advertised Flow control : Autonegotiation with rx and tx advertised MTU : 1500 (range 46 - 1500) Unloading and Removing Driver ============================= To unload the driver, use ifconfig to bring down all eth# interfaces opened by the driver, then do the following: rmmod b44 Note that on 2.6 kernels, it is not necessary to bring down the eth# interfaces before unloading the driver module. If the driver was installed using rpm, do the following to remove it: rpm -e b44 If the driver was installed using make install from the tar file, the driver b44.o (or b44.ko) has to be manually deleted from the system. Refer to the section "Installing Source RPM Package" for the location of the installed driver. Driver Messages =============== The following are the most common sample messages that may be logged in the file /var/log/messages. Use dmesg -n <level> to control the level at which messages will appear on the console. Most systems are set to level 6 by default. To see all messages, set the level higher. Driver signon: ------------- b44.c:v1.00b (Apr 20, 2006) NIC detected: ------------ Link up and speed indication: ---------------------------- b44: eth0: Link is up at 100 Mbps, full duplex. b44: eth0: Flow control is off for TX and on for RX. Link down indication: -------------------- b44: eth0: Link is down. b44 notes: ---------- speed 10Mbs The link LED is also a speed LED and when the b44 is set to speed 10Mbs the link/speed LED will not illuminate. It only illuminates when speed is 100Mbs AND link is detected. Tx Pause Tx pause frame generation is disabled by default. When it is enabled it may affect b44 performance.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.