devnp-e1000.so

Updated: April 19, 2023

Driver for Intel Gigabit Ethernet controllers

Syntax:

io-pkt-variant -d e1000 [option[,option ...]] ... 

where variant is v4-hc or v6-hc.

Runs on:

QNX Neutrino

Options:

Note: Use commas, not spaces, to separate the options.
did=0xXXXX
Detect only devices with this specific PCI Device ID. The default is automatically detected on supported hardware.
duplex=0|1
Half (0) or full (1) duplex mode. The default is automatically detected on supported hardware. If you specify duplex, specify speed as well; if duplex alone is specified, it is ignored and both speed and duplex are auto-negotiated.

You can also use ifconfig -m and ifconfig wmX media to set this.

force_link
Force the link speed/duplex. The default is to autonegotiate the advertised speed/duplex.
int_mod=N
The interrupt moderation value. The default is 20000 interrupts/sec; a value of zero disables interrupt moderation.
irq=N
IRQ of the interface. The default is automatically detected on supported hardware.
mac=XXXXXXXXXXXX
The MAC address of the controller. The default is automatically detected on supported hardware.
max_read=N
The maximum PCIe read request size. N must be 128, 256, 512, 1024, 2048, or 4096 bytes.
mtu=N
The maximum transmission unit. The default is 1514.
nomulticast
Disable the driver from sending or receiving multicast packets. By default, multicast is enabled.
pci=0xXXXX
Detect only devices at this specific PCI index.
priority=N
The priority of the driver's event-handler thread (default 21).
receive=num
The number of receive descriptors; the default is 512, and the maximum is 4096.
speed=N
Set the link speed (specified in Mbits/second). If you specify speed, specify duplex as well; if speed alone is specified, the specified speed is correctly set, but duplex defaults to half (0).

You can also use ifconfig -m and ifconfig wmX media to set this.

transmit=N
The number of transmit descriptors; the default is 4096, as is the maximum.
tx_reap=N
The maximum number of transmit descriptors to reap. The default is 64.
verbose or verbose=num
Be verbose. Specify num for more verbosity (num can be 1-4; the higher the number, the more detailed the output). The output goes to slogger2; invoke slog2info to view it.
vid=0xXXXX
Detect only devices with this specific PCI Vendor ID.

Description:

The devnp-e1000.so driver manages all current Intel Gigabit devices. Its interface names are in the form wmX, 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 wmX

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: The network drivers don't put entries into the /dev namespace, so a waitfor command for such an entry won't work properly in buildfiles or scripts. Use if_up -p instead; for example, if_up -p wm0.

The SQE (Squelch Test Errors) counter—one of the fields reported by nicinfo—isn't applicable to devnp-e1000.so, so this driver uses it in a non-standard way. You can lose packets because:

Other drivers add the two together, but this driver uses the SQE counter for internal Rx FIFO overruns, which generally indicate excessive bus latency, perhaps misconfigured link-level flow control, or even misconfigured Rx FIFO watermarks.

Examples:

Start io-pkt using the devnp-e1000.so driver and the full TCP/IP stack:

io-pkt -d e1000
ifconfig wm0 192.168.0.10