BGE(4) | Device Drivers Manual | BGE(4)

# NAME

`bge` — Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet driver

# SYNOPSIS

`bge* at pci? dev ? function ?`

Configuration of PHYs may also be necessary. See mii(4).

# DESCRIPTION

The `bge` driver provides support for various NICs based on the Broadcom BCM570x, 571x, 572x, 575x, 576x, 578x, 5776x and 5778x Gigabit Ethernet controller chips and the 590x and 5779x Fast Ethernet controller chips, including the following:

- 3Com 3c996-T (10/100/1000baseT)
- 3Com 3c996-SX (1000baseSX)
- 3Com 3c996B-T (10/100/1000baseT)
- Allied-Telesis AT-2972LX10/LC
- Apple Thunderbolt to Gigabit Ethernet adapter A1433 (10/100/1000baseT)
- Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseT)
- Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseT)
- Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseT)
- Fujitsu PRIMEPOWER 250/450 LAN (10/100/1000baseT)
- Fujitsu PW0G8GE1U (1000baseSX)
- Fujitsu PW0G8GE2U (10/100/1000baseT)
- Fujitsu PW008GE4 (1000baseSX)
- Fujitsu PW008GE5 (10/100/1000baseT)
- Fujitsu PW008QG1U (10/100/1000baseT)
- HP ProLiant NC320T PCI-E Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC320m PCI-E Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC331T PCI-E Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC332T PCI-E Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC370F PCI-X Gigabit NIC (1000baseSX)
- HP ProLiant NC370T PCI-X Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC1020 PCI Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC6770 PCI-X Gigabit NIC (1000baseSX)
- HP ProLiant NC7760 embedded PCI Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC7771 PCI-X Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC7780 embedded PCI-X Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseT)
- HP ProLiant NC7782 embedded PCI-X Gigabit NIC (10/100/1000baseT)
- IBM ThinkPad T43/T43p integrated BCM5751M NIC (10/100/1000baseT)
- IBM xSeries 235 integrated BCM5703X NIC (10/100/1000baseT)
- IBM xSeries 305 integrated BCM5703X NIC (10/100/1000baseT)
- Netgear GA302T (10/100/1000baseT)
- SysKonnect SK-9D21 (10/100/1000baseT)
- SysKonnect SK-9D41 (1000baseSX)

The `bge` driver supports IPv4 IP, TCP, and UDP checksum offload for receive, IP checksum offload for transmit, VLAN tag insertion and stripping, as well as a 256-bit multicast hash filter. The BCM5717, BCM5718, BCM5723, BCM5754, BCM5755, BCM5761, BCM5762, BCM5764, BCM5784, BCM5785, BCM5787 and BCM577xx chips also support IPv6 receive TCP/UDP checksum offload. The `bge` driver supports this feature of the chip. See ifconfig(8) for information on how to enable this feature.

The BCM5700, BCM5701, BCM5702, BCM5703, BCM5704, BCM5714, BCM5717, BCM5719, BCM5720, BCM5762, BCM5780, BCM57765 and BCM57766 also support jumbo frames, which can be configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit Jumbo frames.

The level of interrupt mitigation for received packets can be adjusted with the `hw.bge.rx_lvl` sysctl(8) control. A value of 1 yields a `bge` interrupt for every two full-sized Ethernet frames. Each increment of the value will, roughly, halve receive interrupt rate, up to a maximum of 5, which interrupts about every 30 to 40 full-sized TCP segments.

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 the appropriate ifconfig.if(5) file.
`10baseT`
  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.
`1000baseT`
  Set 1000baseT operation over twisted pair. Both `full-duplex` and `half-duplex` modes are 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.

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

# DIAGNOSTICS

bge%d: can't find mem space
  A fatal initialization error has occurred.
bge%d: couldn't map interrupt
  A fatal initialization error has occurred.
bge%d: watchdog timeout -- resetting
  The device has stopped responding to the network, or there is a problem with the network connection (cable).

# SEE ALSO

arp(4), brgphy(4), ifmedia(4), mii(4), netintro(4), pci(4), ifconfig(8)

# HISTORY

The `bge` driver first appeared in NetBSD 1.6.1.

# AUTHORS

The `bge` driver was written by Bill Paul ⟨wpaul@windriver.com⟩ for FreeBSD and ported to NetBSD by Frank van der Linden ⟨fvdl@wasabisystems.com⟩, Jason R. Thorpe ⟨thorpej@wasabisystems.com⟩ and Jonathan Stone ⟨jonathan@dsg.stanford.edu⟩.

October 15, 2019 | NetBSD 11.99