devnp-bcm1250.so

Driver for Broadcom BCM1250 10/100/1000 Mbit Ethernet controllers

Syntax:

io-pkt-variant -d bcm1250 \
memrange=0xXXXXXXXX,irq=0xYYYYYYYY,\
mac=ZZZZZZZZZZZZ[,option[,option ...]] ... &

where variant is one of v4, v4-hc, or v6-hc.

Runs on:

Neutrino

Options:


Note: Use commas, not spaces, to separate the options. These options override the autodetected defaults.

allmulticast
Always receive all multicast packets.
cluster=X
The size of the Rx descriptor data buffers, in bytes. The default is 2048; 4096 is a good value with the appropriate io-pkt binary.
dma64=0|1
Turn off or on 64-byte DMA transfers.
duplex=0|1
Half (0) or full (1) duplex mode. The default is automatically detected on supported hardware. You can also use ifconfig -m and ifconfig bcmX media to set this.
irq=num
The IRQ of the interface.
kermask=0|1
Specify the masking:
lockcpu=N
Set the CPU affinity for the Rx thread to N.
mac=XXXXXXXXXXXX
The interface address of the controller. You must specify this option if you aren't using the syspage option.
memrange=XXXXXXXXXXXX
Register base physical memory address.
nomulticast
Disable multicast support. By default, multicast is enabled.
probe_phy=0|1
Disable (0) or force (1) periodic PHY probing when idle.
receive=num
The number of Rx buffers to internally cache. The default is 512.
speed=10|100|1000
The media data rate in megabits/second. The default is automatically detected on supported hardware. You can also use ifconfig -m and ifconfig bcmX media to set this.
syspage
Read hardware parameters (IRQs, MAC, base register address, and PHY address) for all devices from the system page. If you don't use this option, you must use the mac=X option.
transmit=num
The number of Tx buffers to internally cache. The default is 1024.
tx_rd=N
Set the TX_RD threshold.
tx_rl=N
Set the TX_RL threshold.
verbose
verbose=N
Be verbose. Specify num for more verbosity (num can be 1-4; the higher the number, the more detailed the output). The default is 0. The output goes to slogger; invoke sloginfo to view it.

Description:

The devnp-bcm1250.so driver controls Broadcom BCM1250 10/100/1000 Mbit Ethernet controllers. This is a native io-pkt driver; its interface names are in the form bcmX, where X is an integer.

Some devices support hardware checksums, although some might do so in only one direction; to determine if your device does, type:

ifconfig bcmX

and look for the following in the list of supported options:

You can then use ifconfig to enable or disable whichever of these options your device supports.


Note: Native io-pkt and ported NetBSD drivers don't put entries into the /dev/io-net namespace, so a waitfor command for such an entry won't work properly in buildfiles or scripts. Use if_up -p instead; for example, instead of waitfor /dev/io-net/bcm0, use if_up -p bcm0.

Examples:

Start the v4 TCP/IP variant of io-pkt using the devnp-bcm1250.so driver on BCM91480A eth0:

io-pkt-v4 -d /proc/boot/devnp-bcm1250.so \
  memrange=0x10064000,irq=0x80050024,mac=001122334455
ifconfig bcm0 10.184

See also:

devn-*, devnp-*, ifconfig, io-pkt, nicinfo