.\" Copyright (c) 2005 - 2010 Broadcom Corporation
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation.
.\"
.\" bnx2.4,v 1.5 
.\"
.TH BNX2 4 "04/17/09" "Broadcom Corporation"
.\"
.\" NAME part
.\"
.SH NAME
bnx2 \- Broadcom NetXtreme II BCM5706/5708/5709/5716 series Gigabit Ethernet device driver
.\"
.\" SYNOPSIS part
.\"
.SH SYNOPSIS
.B insmod bnx2.o
.RB [ disable_msi=\c
.IR 1 ]
.PP
.B insmod bnx2.ko
.RB [ disable_msi=\c
.IR 1 ]
.PP
.B modprobe bnx2
.RB [ disable_msi=\c
.IR 1 ]
.\"
.\" DESCRIPTION part
.\"
.SH DESCRIPTION
.I bnx2
is the network device driver for the Broadcom
.B NetXtreme II BCM5706/5708/5709/5716
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 kernels from 2.4.24.
.PP
Refer to the README.TXT from the driver package on how to
compile and install the driver.
.PP
Refer to various Linux documentations
on how to configure network protocol and address.
.\"
.\" DRIVER DEPENDENCIES part
.\"
.SH 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 modules 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 part
.\"
.SH DRIVER SETTINGS
Driver settings can be queried and changed using \fBethtool\fP. The latest
ethtool can be downloaded from \fBhttp://sourceforge.net/projects/gkernel\fP
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 distributions, "ethtool -s" parameters can be
specified in the ifcfg-ethx scripts using the ETHTOOL_OPTS keyword. The
specified ethtool parameters will be set during ifup. Example:
/etc/sysconfig/network-scripts/ifcfg-eth0:

ETHTOOL_OPTS="wol g speed 100 duplex half autoneg off"

.\"
.\" PARAMETER part
.\"
.SH PARAMETERS
One optional parameter \fBdisable_msi\fP 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 supported
by the kernel. It will run an interrupt test during initialization to
determine if MSI is working. If the test passes, the driver will enable
MSI. Otherwise, it will use legacy INTx mode.
.PP
Set the \fBdisable_msi\fP parameter to 1 as shown below to always disable
MSI on all NetXtreme II NICs in the system.
.PP
insmod bnx2.ko disable_msi=1
.PP
or
.PP
modprobe bnx2 disable_msi=1
.PP
The parameter can also be set in modprobe.conf. See the man page
for more information.
.\"
.\" DEFAULT SETTINGS part
.\"
.SH DEFAULT SETTINGS
.TP
Speed :
Autonegotiation with all speeds advertised
.TP
Flow control :
Autonegotiation with rx and tx advertised
.TP
MTU :
1500 (range 46 - 9000)
.TP
Rx Ring Size :
255 (range 0 - 4080)
.TP
Rx Jumbo Ring Size :
0 (range 0 - 16320) automatically adjusted by the
driver based on MTU and Rx Ring Size.
.TP
Tx Ring Size :
255 (range (MAX_SKB_FRAGS+1) - 255)

MAX_SKB_FRAGS varies on different kernels and
different architectures. On a 2.6 kernel for
x86, MAX_SKB_FRAGS is 18.
.TP
Coalesce rx usecs :
18 (range 0 - 1023)
.TP
Coalesce rx usecs irq :
18 (range 0 - 1023)
.TP
Coalesce rx frames :
12 (range 0 - 255)
.TP
Coalesce rx frames irq :
2 (range 0 - 255)
.TP
Coalesce tx usecs :
80 (range 0 - 1023)
.TP
Coalesce tx usecs irq :
18 (range 0 - 1023)
.TP
Coalesce tx frames :
20 (range 0 - 255)
.TP
Coalesce tx frames irq :
2 (range 0 - 255)
.TP
Coalesce stats usecs   :
999936 (aprox. 1 sec.)
(range 0 - 16776960 in 256 increments)
.TP
MSI :
Enabled (if supported by 2.6 kernel and interrupt test passes)
.TP
TSO :
Enabled on 2.6 kernels
.TP
WoL :
Initial setting based on NVRAM's setting.
.\"
.\" AUTHOR part
.\"
.SH AUTHOR
Michael Chan \- mchan@broadcom.com
.\"
.\" SEE ALSO part
.\"
.SH SEE ALSO
.BR ifconfig (8),
.BR insmod (8),
.BR modprobe.conf (5),
.BR ethtool (8).

