| Installation Notes |
| Broadcom NetXtremeII Linux Drivers |
| 10/27/2008 |
| |
| Broadcom Corporation |
| 5300 California Avenue, |
| Irvine, CA 92617 |
| |
| Copyright (c) 2004 - 2008 Broadcom Corporation |
| All rights reserved |
| |
| |
| Table of Contents |
| ================= |
| |
| Introduction |
| Limitations |
| Packaging |
| Installing Source RPM Package |
| Building Driver From TAR File |
| |
| |
| Introduction |
| ============ |
| |
| This file describes the installation procedures for the following |
| Broadcom Linux drivers: |
| |
| - bnx2 driver for the Broadcom NetXtreme II BCM5706/BCM5708/5709/5716 |
| 10/100/1000/2500/10000 Mbps PCIX/PCIE Ethernet Network Controller. |
| |
| - bnx2x driver for the Broadcom NetXtremeII BCM57710/BCM57711/BCM57711E |
| 10/100/1000/2500/10000 Mbps PCIE Ethernet Network Controller. |
| |
| - cnic driver that supports additional features required by the bnx2i iSCSI |
| offload driver. The bnx2i iSCSI driver is packaged separately. |
| |
| |
| Limitations |
| =========== |
| |
| The current versions of the drivers have 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. |
| |
| Minor changes to some source files and Makefile may be needed on some |
| kernels. |
| |
| Additionally, the Makefile will not compile the cnic driver on kernels |
| older than 2.6.16. iSCSI offload is only supported on 2.6.16 and newer |
| kernels. |
| |
| |
| Packaging |
| ========= |
| |
| The driver is released in two packaging formats: source RPM and compressed tar |
| formats. The file name for the source RPM is: |
| |
| netxtreme2-<version>.src.rpm |
| |
| The file name for the tar archive is: |
| netxtreme2-<version>.tar.gz. |
| |
| Identical source files to build the drivers 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 netxtreme2-<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/netxtreme2.spec |
| |
| or |
| |
| rpmbuild -bb SPECS/netxtreme2.spec (for RPM version 4.x.x) |
| |
| Note that the RPM path is different for different Linux distributions. |
| |
| The driver will be compiled for the running kernel by default. To build |
| the driver for a kernel different than the running one, specify the |
| kernel by defining it in KVER: |
| |
| rpmbuild -bb SPECS/netxtreme2.spec --define "KVER <kernel version>" |
| |
| where <kernel version> in the form of 2.x.y-z is the version of another |
| kernel that is installed on the system. |
| |
| 3. Install the newly built package (driver and man page): |
| |
| rpm -ivh RPMS/<arch>/netxtreme2-<version>.<arch>.rpm |
| |
| where <arch> is the machine architecture such as i386: |
| |
| rpm -ivh RPMS/i386/netxtreme2-<version>.i386.rpm |
| |
| Note that the --force option may be needed on some Linux distributions |
| if conflicts are reported. |
| |
| The drivers will be installed in the following path: |
| |
| 2.4.x kernels: |
| |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2.o |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.o |
| |
| 2.6.0 kernels: |
| |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2.ko |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.ko |
| |
| 2.6.16 and newer kernels: |
| |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2.ko |
| /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.ko |
| /lib/modules/<kernel_version>/kernel/drivers/net/cnic.ko |
| |
| 4. Unload existing driver if necessary: |
| |
| rmmod bnx2 |
| rmmod bnx2x |
| |
| If the cnic driver is loaded, it should also be unloaded: |
| |
| rmmod cnic |
| |
| 5. Load the bnx2 driver for the BCM5706/BCM5708/5709/5716 devices: |
| |
| insmod bnx2.o |
| or |
| insmod bnx2.ko (on 2.6.x kernels) |
| or |
| modprobe bnx2 |
| |
| To load the bnx2x driver for the BCM57710/BCM57711/BCM57711E devices: |
| |
| insmod bnx2x.o |
| or |
| insmod bnx2x.ko (on 2.6.x kernels) |
| or |
| modprobe bnx2x |
| |
| To load the cnic driver: |
| |
| insmod cnic.ko |
| or |
| modprobe cnic |
| |
| 6. 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 netxtreme2-<version>.tar.gz |
| |
| 2. Build the drivers as a loadable module for the running kernel: |
| |
| make |
| |
| The driver will be compiled for the running kernel by default. To build |
| the driver for a kernel different than the running one, specify the |
| kernel by defining it in KVER: |
| |
| make KVER=<kernel version> |
| |
| where <kernel version> in the form of 2.x.y-z is the version of another |
| kernel that is installed on the system. |
| |
| 3. Test the driver by loading it (Same procedures as described in the |
| Source RPM section above). |
| |
| 4. Install the driver and man page: |
| |
| 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. |
| |