1.\" $NetBSD: bge.4,v 1.18 2024/06/06 21:26:12 andvar Exp $ 2.\" 3.\" Copyright (c) 2003 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Matthias Scheler <tron@NetBSD.org>. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd October 15, 2019 31.Dt BGE 4 32.Os 33.Sh NAME 34.Nm bge 35.Nd Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet driver 36.Sh SYNOPSIS 37.Cd "bge* at pci? dev ? function ?" 38.Pp 39Configuration of PHYs may also be necessary. 40See 41.Xr mii 4 . 42.Sh DESCRIPTION 43The 44.Nm 45driver provides support for various NICs based on the Broadcom BCM570x, 46571x, 572x, 575x, 576x, 578x, 5776x and 5778x Gigabit Ethernet controller 47chips and the 590x and 5779x Fast Ethernet controller chips, 48including the following: 49.Pp 50.Bl -bullet -compact 51.It 523Com 3c996-T (10/100/1000baseT) 53.It 543Com 3c996-SX (1000baseSX) 55.It 563Com 3c996B-T (10/100/1000baseT) 57.It 58Allied-Telesis AT-2972LX10/LC 59.It 60Apple Thunderbolt to Gigabit Ethernet adapter A1433 (10/100/1000baseT) 61.It 62Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseT) 63.It 64Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseT) 65.It 66Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseT) 67.It 68Fujitsu PRIMEPOWER 250/450 LAN (10/100/1000baseT) 69.It 70Fujitsu PW0G8GE1U (1000baseSX) 71.It 72Fujitsu PW0G8GE2U (10/100/1000baseT) 73.It 74Fujitsu PW008GE4 (1000baseSX) 75.It 76Fujitsu PW008GE5 (10/100/1000baseT) 77.It 78Fujitsu PW008QG1U (10/100/1000baseT) 79.It 80HP ProLiant NC320T PCI-E Gigabit NIC (10/100/1000baseT) 81.It 82HP ProLiant NC320m PCI-E Gigabit NIC (10/100/1000baseT) 83.It 84HP ProLiant NC331T PCI-E Gigabit NIC (10/100/1000baseT) 85.It 86HP ProLiant NC332T PCI-E Gigabit NIC (10/100/1000baseT) 87.It 88HP ProLiant NC370F PCI-X Gigabit NIC (1000baseSX) 89.It 90HP ProLiant NC370T PCI-X Gigabit NIC (10/100/1000baseT) 91.It 92HP ProLiant NC1020 PCI Gigabit NIC (10/100/1000baseT) 93.It 94HP ProLiant NC6770 PCI-X Gigabit NIC (1000baseSX) 95.It 96HP ProLiant NC7760 embedded PCI Gigabit NIC (10/100/1000baseT) 97.It 98HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseT) 99.It 100HP ProLiant NC7771 PCI-X Gigabit NIC (10/100/1000baseT) 101.It 102HP ProLiant NC7780 embedded PCI-X Gigabit NIC (10/100/1000baseT) 103.It 104HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseT) 105.It 106HP ProLiant NC7782 embedded PCI-X Gigabit NIC (10/100/1000baseT) 107.It 108IBM ThinkPad T43/T43p integrated BCM5751M NIC (10/100/1000baseT) 109.It 110IBM xSeries 235 integrated BCM5703X NIC (10/100/1000baseT) 111.It 112IBM xSeries 305 integrated BCM5703X NIC (10/100/1000baseT) 113.It 114Netgear GA302T (10/100/1000baseT) 115.It 116SysKonnect SK-9D21 (10/100/1000baseT) 117.It 118SysKonnect SK-9D41 (1000baseSX) 119.El 120.Pp 121The 122.Nm 123driver supports IPv4 IP, TCP, and UDP checksum offload for receive, 124IP checksum offload for transmit, VLAN tag insertion and stripping, 125as well as a 256-bit multicast hash filter. 126The BCM5717, BCM5718, BCM5723, BCM5754, BCM5755, BCM5761, BCM5762, BCM5764, 127BCM5784, BCM5785, BCM5787 and BCM577xx chips also support IPv6 receive TCP/UDP 128checksum offload. 129The 130.Nm 131driver supports this feature of the chip. 132See 133.Xr ifconfig 8 134for information on how to enable this feature. 135.Pp 136The BCM5700, BCM5701, BCM5702, BCM5703, BCM5704, BCM5714, BCM5717, BCM5719, 137BCM5720, BCM5762, BCM5780, BCM57765 and BCM57766 also support jumbo frames, 138which can be configured via the interface MTU setting. 139Selecting an MTU larger than 1500 bytes with the 140.Xr ifconfig 8 141utility configures the adapter to receive and transmit Jumbo frames. 142.Pp 143The level of interrupt mitigation for received packets can be adjusted 144with the 145.Li hw.bge.rx_lvl 146.Xr sysctl 8 147control. 148A value of 1 yields a 149.Nm 150interrupt for every two full-sized Ethernet frames. 151Each increment of the value will, roughly, halve receive interrupt rate, 152up to a maximum of 5, which interrupts about every 30 to 40 full-sized 153TCP segments. 154.Pp 155The 156.Nm 157driver supports the following media types: 158.Bl -tag -width 1000baseSX 159.It Cm autoselect 160Enable autoselection of the media type and options. 161The user can manually override 162the autoselected mode by adding media options to the appropriate 163.Xr ifconfig.if 5 164file. 165.It Cm 10baseT 166Set 10Mbps operation. 167The 168.Xr ifconfig 8 169.Ic mediaopt 170option can also be used to select either 171.Cm full-duplex 172or 173.Cm half-duplex 174modes. 175.It Cm 100baseTX 176Set 100Mbps (Fast Ethernet) operation. 177The 178.Xr ifconfig 8 179.Ic mediaopt 180option can also be used to select either 181.Cm full-duplex 182or 183.Cm half-duplex 184modes. 185.It Cm 1000baseT 186Set 1000baseT operation over twisted pair. 187Both 188.Cm full-duplex 189and 190.Cm half-duplex 191modes are supported. 192.It Cm 1000baseSX 193Set 1000Mbps (Gigabit Ethernet) operation. 194Both 195.Cm full-duplex 196and 197.Cm half-duplex 198modes are supported. 199.El 200.Pp 201The 202.Nm 203driver supports the following media options: 204.Bl -tag -width full-duplex 205.It Cm full-duplex 206Force full duplex operation. 207.It Cm half-duplex 208Force half duplex operation. 209.El 210.Pp 211For more information on configuring this device, see 212.Xr ifconfig 8 . 213.Sh DIAGNOSTICS 214.Bl -diag 215.It "bge%d: can't find mem space" 216A fatal initialization error has occurred. 217.It "bge%d: couldn't map interrupt" 218A fatal initialization error has occurred. 219.It "bge%d: watchdog timeout -- resetting" 220The device has stopped responding to the network, or there is a problem with 221the network connection (cable). 222.El 223.Sh SEE ALSO 224.Xr arp 4 , 225.Xr brgphy 4 , 226.Xr ifmedia 4 , 227.Xr mii 4 , 228.Xr netintro 4 , 229.Xr pci 4 , 230.Xr ifconfig 8 231.Sh HISTORY 232The 233.Nm 234driver first appeared in 235.Nx 1.6.1 . 236.Sh AUTHORS 237.An -nosplit 238The 239.Nm 240driver was written by 241.An Bill Paul 242.Aq wpaul@windriver.com 243for 244.Fx 245and ported to 246.Nx 247by 248.An Frank van der Linden 249.Aq fvdl@wasabisystems.com , 250.An Jason R. Thorpe 251.Aq thorpej@wasabisystems.com 252and 253.An Jonathan Stone 254.Aq jonathan@dsg.stanford.edu . 255