1 .\" Copyright (c) 2006-2014 QLogic Corporation
3 .\" Redistribution and use in source and binary forms, with or without
4 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'
14 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
17 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 .\" THE POSSIBILITY OF SUCH DAMAGE.
32 .Nd "QLogic NetXtreme II (BCM5706/5708/5709/5716) PCI/PCIe Gigabit Ethernet adapter driver"
34 To compile this driver into the kernel,
35 place the following lines in your
36 kernel configuration file:
37 .Bd -ragged -offset indent
42 Alternatively, to load the driver as a
43 module at boot time, place the following line in
45 .Bd -literal -offset indent
51 driver supports QLogic's NetXtreme II product family, including the
52 BCM5706, BCM5708, BCM5709 and BCM5716 Ethernet controllers.
54 The NetXtreme II product family is composed of various Converged NIC (or CNIC)
55 Ethernet controllers which support a TCP Offload Engine (TOE), Remote DMA (RDMA),
56 and iSCSI acceleration, in addition to standard L2 Ethernet traffic, all on the
59 The following features are supported in the
64 .Bl -item -offset indent -compact
66 IP/TCP/UDP checksum offload
68 Jumbo frames (up to 9022 bytes)
74 10/100/1000Mbps operation in full-duplex mode
76 10/100Mbps operation in half-duplex mode
81 driver supports the following media types:
82 .Bl -tag -width ".Cm 10baseT/UTP"
84 Enable autoselection of the media type and options.
85 The user can manually override
86 the autoselected mode by adding media options to
93 option can also be used to select either
99 Set 100Mbps (Fast Ethernet) operation.
103 option can also be used to select either
109 Sets 1000Mbps operation.
112 mode is supported at this speed.
114 Set 1000baseT operation over twisted pair.
119 Set 2500Mbps operation.
127 driver supports the following media options:
128 .Bl -tag -width ".Cm full-duplex"
130 Force full duplex operation.
132 Force half duplex operation.
135 For more information on configuring this device, see
140 driver provides support for various NICs based on the QLogic NetXtreme II
141 family of Gigabit Ethernet controllers, including the
146 QLogic NetXtreme II BCM5706 1000Base-SX
148 QLogic NetXtreme II BCM5706 1000Base-T
150 QLogic NetXtreme II BCM5708 1000Base-SX
152 QLogic NetXtreme II BCM5708 1000Base-T
154 QLogic NetXtreme II BCM5709 1000Base-SX
156 QLogic NetXtreme II BCM5709 1000Base-T
158 QLogic NetXtreme II BCM5716 1000Base-T
160 Dell PowerEdge 1950 integrated BCM5708 NIC
162 Dell PowerEdge 2950 integrated BCM5708 NIC
164 Dell PowerEdge R710 integrated BCM5709 NIC
166 HP NC370F Multifunction Gigabit Server Adapter
168 HP NC370T Multifunction Gigabit Server Adapter
170 HP NC370i Multifunction Gigabit Server Adapter
172 HP NC371i Multifunction Gigabit Server Adapter
174 HP NC373F PCIe Multifunc Giga Server Adapter
176 HP NC373T PCIe Multifunction Gig Server Adapter
178 HP NC373i Multifunction Gigabit Server Adapter
180 HP NC373m Multifunction Gigabit Server Adapter
182 HP NC374m PCIe Multifunction Adapter
184 HP NC380T PCIe DP Multifunc Gig Server Adapter
186 HP NC382T PCIe DP Multifunction Gigabit Server Adapter
188 HP NC382i DP Multifunction Gigabit Server Adapter
190 HP NC382m DP 1GbE Multifunction BL-c Adapter
193 The following variables are available as both
198 .Bl -tag -width indent
199 .It Va hw.bce.verbose
200 Enable/Disable verbose logging and output to the console.
201 Useful for debugging (default 0).
202 .It Va hw.bce.msi_enable
203 Enable/Disable MSI support (default 1).
204 .It Va hw.bce.tso_enable
205 Enable/Disable TSO support (default 1).
206 .It Va hw.bce.strict_rx_mtu
207 Enable/Disable strict RX frame size checking (default 0).
208 .It Va hw.bce.hdr_split
209 Enable/Disable frame header/payload splitting (default 1).
210 .It Va hw.bce.rx_pages
211 Set the number of memory pages assigned to receive packets by the driver.
212 Due to alignment issues, this value can only be of the set
213 1, 2, 4 or 8 (default 2).
214 .It Va hw.bce.tx_pages
215 Set the number of memory pages assigned to transmit packets
217 Due to alignment issues, this value can only be of the set
218 1, 2, 4 or 8 (default 2).
219 .It Va hw.bce.rx_ticks
220 Time in microsecond ticks to wait before generating a status
221 block updates due to RX processing activity.
222 Values from 0-100 are valid.
223 A value of 0 disables this status block update.
224 Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0
226 .It Va hw.bce.rx_ticks_int
227 Time in microsecond ticks to wait during RX interrupt
228 processing before generating a status block update.
229 Values from 0-100 are valid.
230 Valid values are in the range from 0-100.
231 A value of 0 disables this status block update (default 18).
232 .It Va hw.bce.rx_quick_cons_trip
233 Number of RX Quick BD Chain entries that must be completed
234 before a status block is generated.
235 Values from 0-256 are valid.
236 A value of 0 disables this status block update.
237 Cannot be set to 0 if hw.bce.rx_ticks is also 0 (default 6).
238 .It Va hw.bce.rx_quick_cons_trip_int
239 Number of RX quick BD entries that must be completed before
240 a status block is generated duing interrupt processing.
241 Values from 0-256 are valid.
242 A value of 0 disables this status block update (default 6).
243 .It Va hw.bce.tx_ticks
244 Time in microsecond ticks to wait before a status block
245 update is generated due to TX activitiy.
246 Values from 0-100 are valid.
247 A value of 0 disables this status block update.
248 Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0
250 .It Va hw.bce.tx_ticks_int
251 Time in microsecond ticks to wait in interrupt processing
252 before a status block update is generated due to TX activity
253 Values from 0-100 are valid.
254 A value of 0 disables this status block update (default 80).
255 .It Va hw.bce.tx_cons_trip
256 How many TX Quick BD Chain entries that must be completed
257 before a status block is generated.
258 Values from 0-100 are valid.
259 A value of 0 disables this status block update.
260 Cannot be set to 0 if hw.bce.tx_ticks is also 0 (default 20).
261 .It Va hw.bce.tx_cons_trip_int
262 How many TX Quick BD Chain entries that must be completed
263 before a status block is generated during an interrupt.
264 Values from 0-100 are valid.
265 A value of 0 disables this status block update (default 20).
269 .It "bce%d: PCI memory allocation failed!"
270 The driver has encountered a fatal initialization error.
271 .It "bce%d: PCI map interrupt failed!"
272 The driver has encountered a fatal initialization error.
273 .It "bce%d: Unsupported controller revision (%c%d)"
274 The driver does not support the controller revision in use.
275 .It "bce%d: Controller initialization failed!"
276 The driver has encountered a fatal initialization error.
277 .It "bce%d: NVRAM test failed!"
278 The driver could not access the controller NVRAM correctly.
279 .It "bce%d: DMA resource allocation failed!"
280 The driver could not allocate DMA memory to setup the controllers
281 host memory data structures.
282 .It "bce%d: Interface allocation failed!"
283 The driver could not create a network interface for the controller.
284 .It "bce%d: PHY probe failed!"
285 The driver could not access the PHY used by the controller.
286 .It "bce%d: Failed to setup IRQ!"
287 The driver could not initialize the IRQ handler.
288 .It "bce%d: Error: PHY read timeout!"
289 The driver could not read a PHY register before the timeout period expired.
290 .It "bce%d: PHY write timeout!"
291 The driver could not write to the PHY register because a timeout occurred.
292 .It "bce%d: Timeout error reading NVRAM at offset 0x%08X!"
293 The driver could not write to NVRAM because a timeout occurred.
294 .It "bce%d: Unknown Flash NVRAM found!"
295 The driver does not recognize the NVRAM device being used and therefore
296 cannot access it correctly.
297 .It "bce%d: Invalid NVRAM magic value!"
298 The driver cannot read NVRAM or the NVRAM is corrupt.
299 .It "bce%d: Invalid Manufacturing Information NVRAM CRC!"
300 The driver cannot read NVRAM or the NVRAM is corrupt.
301 .It "bce%d: Invalid Feature Configuration Information NVRAM CRC!"
302 The driver cannot read NVRAM or the NVRAM is corrupt.
303 .It "bce%d: DMA mapping error!"
304 The driver was unable to map memory into DMA addressable space required
306 .It "bce%d: Could not allocate parent DMA tag!"
307 The driver could not allocate a PCI compatible DMA tag.
308 .It "bce%d: Could not allocate status block DMA tag!"
309 The driver could not allocate a DMA tag for the controller's
311 .It "bce%d: Could not allocate status block DMA memory!"
312 The driver could not allocate DMA addressable memory for the controller's
314 .It "bce%d: Could not map status block DMA memory!"
315 The driver could not map the status block memory into the controller's DMA
317 .It "bce%d: Could not allocate statistics block DMA tag!"
318 The driver could not allocate a DMA tag for the controller's
320 .It "bce%d: Could not allocate statistics block DMA memory!"
321 The driver could not allocate DMA addressable memory for the controller's
323 .It "bce%d: Could not map statistics block DMA memory!"
324 The driver could not map the statistics block memory into the controller's DMA
326 .It "bce%d: Could not allocate TX descriptor chain DMA tag!"
327 The driver could not allocate a DMA tag for the controller's
329 .It "bce%d: Could not allocate TX descriptor chain DMA memory!"
330 The driver could not allocate DMA addressable memory for the controller's
332 .It "bce%d: Could not map TX descriptor chain DMA memory!"
333 The driver could not map the TX descriptor chain memory into the controller's DMA
335 .It "bce%d: Could not allocate TX mbuf DMA tag!"
336 The driver could not allocate a DMA tag for the controller's
338 .It "bce%d: Unable to create TX mbuf DMA map!"
339 The driver could not map the TX mbuf memory into the controller's DMA
341 .It "bce%d: Could not allocate RX descriptor chain DMA tag!"
342 The driver could not allocate a DMA tag for the controller's
344 .It "bce%d: Could not allocate RX descriptor chain "
345 The driver could not allocate DMA addressable memory for the controller's
347 .It "bce%d: Could not map RX descriptor chain DMA memory!"
348 The driver could not map the RX descriptor chain memory into the controller's DMA
350 .It "bce%d: Could not allocate RX mbuf DMA tag!"
351 The driver could not allocate a DMA tag for the controller's
353 .It "bce%d: Unable to create RX mbuf DMA map!"
354 The driver could not map the RX mbuf memory into the controller's DMA
356 .It "bce%d: Firmware synchronization timeout!"
357 The driver was not able to synchronize with the firmware running on the
359 The firmware may be stopped or hung.
360 .It "bce%d: Invalid Ethernet address!"
361 The driver was not able to read a valid Ethernet MAC address from NVRAM.
362 .It "bce%d: Reset failed!"
363 The driver has encountered a fatal initialization error.
364 .It "bce%d: Byte swap is incorrect!"
365 The driver has encountered a fatal initialization error.
367 with details of the CPU architecture and system chipset in use.
368 .It "bce%d: Firmware did not complete initialization!"
369 The driver has encountered a fatal initialization error.
370 .It "bce%d: Bootcode not running!"
371 The driver has encountered a fatal initialization error.
372 .It "bce%d: Error mapping mbuf into RX chain!"
373 The driver could not map a RX mbuf into DMA addressable memory.
374 .It "bce%d: Error filling RX chain: rx_bd[0x%04X]!"
375 The driver was unable to allocate enough mbufs to fill the RX chain
376 during initialization.
377 Try increasing the number of mbufs available in
378 the system, increase system memory, or if using jumbo frames, make sure
379 enough 9KB mbufs are available.
380 .It "bce%d: Failed to allocate new mbuf, incoming frame dropped!"
381 The driver was unable to allocate a new mbuf for the RX chain and reused
382 the mbuf for the received frame, dropping the incoming frame in the process.
383 Try increasing the number of mbufs available in the system or increase system
385 .It "bce%d: Controller reset failed!"
386 A fatal initialization error has occurred.
387 .It "bce%d: Controller initialization failed!"
388 A fatal initialization error has occurred.
389 .It "bce%d: Block initialization failed!"
390 A fatal initialization error has occurred.
391 .It "bce%d: Error mapping mbuf into TX chain!"
392 The driver could not map a TX mbuf into DMA addressable memory.
393 .It "bce%d: Error registering poll function!"
394 The driver received an error while attempting to register the poll function.
395 .It "bce%d: Changing VLAN_MTU not supported."
396 Changing the VLAN MTU is not currently supported by the driver.
397 .It "bce%d: Cannot change VLAN_HWTAGGING while management firmware (ASF/IPMI/UMP) is running!"
398 Management firmware to support ASF/IPMI/UMP requires that VLAN
399 tag stripping be enabled in the controller.
400 .It "bce%d: Changing VLAN_HWTAGGING not supported!"
401 Disabling VLAN tag stripping is not currently supported by the driver.
402 .It "bce%d: Watchdog timeout occurred, resetting!"
403 The device has stopped responding to the network, there is a problem
404 with the cable connection, or a driver logic problem has occurred..
405 .It "bce%d: Fatal attention detected: 0x%08X!"
406 A controller hardware failure has occurred.
407 If the problem continues replace the controller.
410 For support questions please contact your QLogic approved reseller or
411 QLogic Technical Support at
412 .Pa http://support.qlogic.com ,
414 .Aq support@qlogic.com .
426 device driver first appeared in
431 driver was written by
432 .An David Christensen Aq davidch@broadcom.com .