BNX2(4) BNX2(4) NAME bnx2 - Broadcom NetXtreme II BCM5706/5708 series Gigabit Ethernet device driver SYNOPSIS insmod bnx2.o [disable_msi=1] insmod bnx2.ko [disable_msi=1] modprobe bnx2 [disable_msi=1] DESCRIPTION bnx2 is the network device driver for the Broadcom NetXtreme II BCM5706/5708 series PCI/PCI-X Gigabit Ethernet Network Interface Card (NIC). The driver has been tested on all 2.6.x kernels and 2.4.x ker- nels from 2.4.24. Refer to the README.TXT from the driver package on how to compile and install the driver. Refer to various Linux documentations on how to configure network pro- tocol and address. DRIVER DEPENDENCIES The driver uses library functions in the crc32 library. On most ker- nels, the crc32 library is already built into the kernel. On some ker- nels, it may be necessary to load the crc32 module before the driver or an unresolved symbol error will appear. Using modprobe will resolve the dependencies automatically. In rare cases where the crc32 library is not enabled in the kernel, it will be necessary to compile the kernel again with the crc32 library enabled. DRIVER SETTINGS 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. 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. PARAMETERS One optional parameter disable_msi can be supplied as a command line argument to the insmod or modprobe command. This parameter is used to disable Message Signaled Interrupts (MSI) and the parameter is only valid on 2.6 kernels that support MSI. On 2.4 kernels, this parameter cannot be used. By default, the driver will enable MSI if it is sup- ported by the kernel. It will run an interrupt test during initializa- tion to determine if MSI is working. If the test passes, the driver will enable MSI. Otherwise, it will use legacy INTx mode. Set the disable_msi parameter to 1 as shown below to always disable MSI on all NetXtreme II NICs in the system. insmod bnx2.ko disable_msi=1 or modprobe bnx2 disable_msi=1 The parameter can also be set in modprobe.conf. See the man page for more information. DEFAULT SETTINGS Speed : Autonegotiation with all speeds advertised Flow control : Autonegotiation with rx and tx advertised MTU : 1500 (range 46 - 9000) Rx Ring Size : 100 (range 0 - 4080) Tx Ring Size : 255 (range (MAX_SKB_FRAGS+1) - 255) MAX_SKB_FRAGS varies on different kernels and different archi- tectures. On a 2.6 kernel for x86, MAX_SKB_FRAGS is 18. Coalesce rx usecs : 18 (range 0 - 1023) Coalesce rx usecs irq : 18 (range 0 - 1023) Coalesce rx frames : 6 (range 0 - 255) Coalesce rx frames irq : 6 (range 0 - 255) Coalesce tx usecs : 80 (range 0 - 1023) Coalesce tx usecs irq : 80 (range 0 - 1023) Coalesce tx frames : 20 (range 0 - 255) Coalesce tx frames irq : 20 (range 0 - 255) Coalesce stats usecs : 999936 (aprox. 1 sec.) (range 0 - 16776960 in 256 increments) MSI : Enabled (if supported by 2.6 kernel and interrupt test passes) AUTHOR Michael Chan - mchan@broadcom.com SEE ALSO ifconfig(8), insmod(8), modprobe.conf(5), ethtool(8). Broadcom Corporation 01/17/06 BNX2(4)