devnp-usbdnet.so

Class Driver for USBDNET (USB Device Network Driver)

Syntax:

io-pkt-variant -d usbdnet [option[,option ...]] ... &

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

Runs on:

QNX Neutrino

Options:

Note: Use commas, not spaces, to separate the options.
iface_num=number
An interface delimiter that marks the start of a new set of interface parameters when you're configuring multiple interfaces.
mac=XXXXXXXXXXXX
The MAC address on the QNX Neutrino side; a 12-character hexadecimal string (e.g., 0123456789cd).
mtu=num
The maximum transmission unit (default 1500).
nodescmod
Don't modify the USB descriptors; let a USB manager do that.
npkt=number
The maximum number of Ethernet frames to bundle (for RNDIS and NCM only).
path=name
Connect to the specified USB stack. The default is /dev/io-usb-dcd/io-usb.
protocol=str
The protocol to use; one of the following:
  • ecm — Ethernet Control Model
  • rndis — Remote Network Driver Interface Specification
  • ncm — Network Control Model

The default is ecm. The interface name matches the protocol selected.

receive=num
The number of receive URBs to use; the default is 32.
transmit=num
The number of transmit URBs to use; the default is 32.
usbdnet_mac=XXXXXXXXXXXX
The MAC address on the host side; a 12-character hexadecimal string (e.g., 0123456789ab).
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 slogger; invoke sloginfo to view it.
wait=num
Wait num seconds for the USB stack (default 60 seconds).

Description:

The devnp-usbdnet.so driver is the class driver for USBDNET (USB Device Network Driver). This is a native io-pkt driver; its interface names are in the form ecmX, ncmX, or rndisX, depending on the protocol, where X is an integer.

Note:
  • You can set the MTU only on the command line (e.g., mtu=8100), and not using ifconfig. This is because some protocols (such as ECM) require that you advertise the MTU in the device descriptor. Changing the MTU using ifconfig would require the driver to force the host to reenumerate the device.
  • You can destroy the interface only when the USB cable is disconnected; otherwise the ifconfig if ifaceX destroy command will fail.
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/ecm0, use if_up -p ecm0.

Examples:

Start io-pkt using the devnp-usbdnet.so driver and the default ECM protocol:

io-pkt-v4-hc -d usbdnet -ptcpip &
ifconfig ecm0 192.168.1.1