Driver for the USB CDC NCM network control module


io-pkt-variant -d ncm ... 

where variant is v4-hc or v6-hc.

Runs on:

QNX Neutrino


The internal buffer size for the AT command (default 2048).
Attach to a specific device on the USB bus with the given number.
Use a cacheable buffer for the bulk endpoint point: 1 for Rx, 2 for Tx, 3 for both.
Attach to a specific USB device address.
Extend the network interface name. If you don't specify the string argument, the interface name includes the bus number and device number, in the form ncm_busno_devno; if you specify string, it's used as the interface name.
Ignore the USB removal callback; the user should handle device removal.
Connect to the specified USB stack. The default is /dev/usb/io-usb-otg.
Keep the driver loaded across device insertion and removal.
Note: When you use the pnp option, the DLL remains loaded and connected to the USB stack. Ethernet interfaces are created as devices are inserted. If you use ifconfig ncmX destroy to remove the last interface, the DLL is unloaded. This means the driver currently doesn't support being removed and inserted again.
The priority of the USB callback thread. The default is 21.
The number of receive URBs; the default is 64.
The number of transmit URBs; the default is 64.
Be verbose. The output goes to slogger2; invoke slog2info to view it.
Wait num seconds for the USB stack (default 60 seconds).


The driver manages the USB CDC NCM network control module. Its interface names are in the form ncmX, where X is an integer. You can use the ext_name option to specify extended interface names.

Launcher applications that get notifications of device insertions and removals can use the busnum and devnum options. These applications mount the DLL to target specific devices connected to the USB. When the device is removed, it is expected that the launcher will also unmount the interface associated with interface. For io-pkt* drivers, you can't use umount to unload the DLL, but you can use ifconfig's destroy command to unload DLL.

The driver provides an additional interface serncmX under /dev for AT commands. You can send AT command and receive response through this interface.

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

ifconfig ncmX

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 ncm0.


Start the v4 TCP/IP variant of io-pkt using the driver:

io-pkt-v4-hc -d ncm verbose -ptcpip 
ifconfig ncm0 10.184

Unload the DLL:

ifconfig ncm0 down
ifconfig ncm0 destroy