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 and zlib_inflate libraries. On most kernels, these libraries are already built into the kernel. In some cases, it may be necessary to load these library mod- ules before the driver or unresolved symbol errors will appear. Using modprobe will resolve the dependencies automatically. In rare cases where the crc32 and zlib_inflate libraries are not enabled in the kernel, it will be necessary to compile the kernel again with the libraries 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. On Red Hat dis- tributions, "ethtool -s" parameters can be specified in the ifcfg-ethx scripts using the ETHTOOL_OPTS keyword. The specified ethtool parame- ters will be set during ifup. Example: /etc/sysconfig/network- scripts/ifcfg-eth0: ETHTOOL_OPTS="wol g speed 100 duplex half autoneg off" 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 : 255 (range 0 - 4080) Rx Jumbo Ring Size : 0 (range 0 - 16320) automatically adjusted by the driver based on MTU and Rx Ring Size. 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) TSO : Enabled on 2.6 kernels WoL : Initial setting based on NVRAM's setting. AUTHOR Michael Chan - mchan@broadcom.com SEE ALSO ifconfig(8), insmod(8), modprobe.conf(5), ethtool(8). Broadcom Corporation 08/10/06 BNX2(4)