home | help
BGE(4)			     Kernel Interfaces Manual			  BGE(4)

NAME
     bge  -- Broadcom BCM570x/5714/5721/5750/5751/5752/5789 PCI Gigabit Ethernet
     adapter driver

SYNOPSIS
     To compile this driver into the kernel, place the following lines in your
     kernel configuration file:

	   device miibus
	   device bge

     Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

	   if_bge_load="YES"

DESCRIPTION
     The bge driver provides support for various  NICs	based  on  the	Broadcom
     BCM570x, 5714, 5721, 5750, 5751, 5752 and 5789 families of Gigabit Ethernet
     controller chips.

     All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5 cop-
     per  cable,  except for the SysKonnect SK-9D41 which supports only 1000Mbps
     over multimode fiber.  The BCM570x builds upon the technology of the Alteon
     Tigon II.	It has two R4000 CPU cores and is PCI v2.2 and PCI-X  v1.0  com-
     pliant.   It supports IP, TCP and UDP checksum offload for both receive and
     transmit, multiple RX and TX DMA rings for  QoS  applications,  rules-based
     receive  filtering,  and  VLAN tag stripping/insertion as well as a 256-bit
     multicast hash filter.  Additional features may be provided  via  value-add
     firmware  updates.   The  BCM570x supports TBI (ten bit interface) and GMII
     transceivers, which means it can be used with either  copper  or  1000baseX
     fiber  applications.   Note however the device only supports a single speed
     in TBI mode.

     Most  BCM5700-based  cards  also  use  the  Broadcom  BCM5401  or	 BCM5411
     10/100/1000  copper  gigabit transceivers, which support autonegotiation of
     10, 100 and 1000Mbps modes in full or half duplex.

     The BCM5700, BCM5701, BCM5703, BCM5704, BCM5714 and  BCM5780  also  support
     jumbo  frames,  which can be configured via the interface MTU setting.  Se-
     lecting an MTU larger than 1500 bytes with the ifconfig(8) utility  config-
     ures  the adapter to receive and transmit jumbo frames.  Using jumbo frames
     can greatly improve performance for certain tasks, such as  file  transfers
     and data streaming.

     The bge driver supports the following media types:

     autoselect   Enable  autoselection of the media type and options.	The user
		  can manually override the autoselected mode  by  adding  media
		  options to rc.conf(5).

     10baseT/UTP  Set  10Mbps  operation.   The  ifconfig(8) mediaopt option can
		  also be used	to  select  either  full-duplex  or  half-duplex
		  modes.

     100baseTX	  Set	100Mbps  (Fast	Ethernet)  operation.	The  ifconfig(8)
		  mediaopt option can also be used to select either  full-duplex
		  or half-duplex modes.

     1000baseTX   Set  1000baseTX operation over twisted pair.	Only full-duplex
		  mode is supported.

     1000baseSX   Set 1000Mbps (Gigabit Ethernet) operation.   Both  full-duplex
		  and half-duplex modes are supported.

     The bge driver supports the following media options:

     full-duplex  Force full duplex operation.

     half-duplex  Force half duplex operation.

     The bge driver also supports one special link option for 1000baseTX cards:

     link0  With  1000baseTX  cards,  establishing  a link between two ports re-
	    quires that one port be configured as  a  master  and  the	other  a
	    slave.  With autonegotiation, the master/slave settings will be cho-
	    sen  automatically.  However when manually selecting the link state,
	    it is necessary to force one side of the link to be a master and the
	    other a slave.  The bge driver configures the ports as slaves by de-
	    fault.  Setting the link0 flag with ifconfig(8) will set a port as a
	    master instead.

     For more information on configuring this device, see ifconfig(8).

HARDWARE
     The bge driver provides support for various  NICs	based  on  the	Broadcom
     BCM570x  family of Gigabit Ethernet controller chips, including the follow-
     ing:

     *	 3Com 3c996-SX (1000baseSX)
     *	 3Com 3c996-T (10/100/1000baseTX)
     *	 Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX)
     *	 Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
     *	 Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseTX)
     *	 IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX)
     *	 HP Compaq dc7600 integrated BCM5752 NIC (10/100/1000baseTX)
     *	 HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX)
     *	 HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX)
     *	 HP ProLiant NC7771 PCI-X Gigabit NIC (10/100/1000baseTX)
     *	 HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX)
     *	 Netgear GA302T (10/100/1000baseTX)
     *	 SysKonnect SK-9D21 (10/100/1000baseTX)
     *	 SysKonnect SK-9D41 (1000baseSX)

LOADER TUNABLES
     The following tunable can be set at the loader(8) prompt before booting the
     kernel, or stored in loader.conf(5).

     hw.bge.allow_asf
	     Allow the ASF feature for cooperating with IPMI.  Can cause  system
	     lockup problems on a small number of systems.  Disabled by default.

DIAGNOSTICS
     bge%d: couldn't map memory  A fatal initialization error has occurred.

     bge%d: couldn't map ports	A fatal initialization error has occurred.

     bge%d: couldn't map interrupt  A fatal initialization error has occurred.

     bge%d:  no  memory  for softc struct!  The driver failed to allocate memory
     for per-device instance information during initialization.

     bge%d: failed to enable memory mapping!  The driver  failed  to  initialize
     PCI  shared memory mapping.  This might happen if the card is not in a bus-
     master slot.

     bge%d: no memory for jumbo buffers!  The driver failed to	allocate  memory
     for jumbo frames during initialization.

     bge%d:  watchdog timeout  The device has stopped responding to the network,
     or there is a problem with the network connection (cable).

SEE ALSO
     altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4),	vlan(4),
     ifconfig(8)

HISTORY
     The bge device driver first appeared in FreeBSD 4.5.

AUTHORS
     The bge driver was written by Bill Paul <wpaul@windriver.com>.

FreeBSD 7.0			October 26, 2007			  BGE(4)

home | help