Updated: October 26, 2022

Driver for USB-to-serial adaptors and USB CDC ACM devices

Note: You must be root or have the right abilities to start this driver.


devc-serusb [options]

Runs on:

QNX Neutrino


In addition to the devc-ser* options, this driver supports the following options:

-d args[,args ...]
Device-specific options. See below.
Test the connection by completing the initialization but don't begin processing data and just exit afterwards. Use this option if you want to confirm that the device is connected properly, without running any data through the driver.

The device-specific options that you can specify with the -d option are:

The bus number of the USB controller.
Write raw URB data to slogger2.
The USB address of the device.
The device ID of the device.
Data ready timeout (device-specific).
A list of USB interfaces to use. You must specify at least one interface, and use a colon (:) to separate multiple interfaces.
Specify to prevent the removal callback from being attached.
Set the hardware module to use for an unknown vendor ID or device ID.
The basename for the pathname entry. The default is /dev/serusb.
Connect to the specified USB stack. Default is /dev/usb/io-usb-otg.
Set the port that the index options are to be applied to.
Set the priority of the event-processing thread. Default is 21.
Display the currently supported hardware modules.
The number of retries if a status of USBD_STATUS_DEV_NOANSWER is given.
The number of URBs for BulkIn. Default is 4.
The number of URBs for BulkOut. Default is 4.
The unit number: 1 = /dev/serusb1, 2 = /dev/serusb2, etc. Default is the first available number, starting from 1.
The vendor ID of the device.
Wait num seconds for the USB stack. Default is 60 seconds.


The devc-serusb is a driver for USB-to-serial adaptors and Communications Device Class Abstract Control Model (CDC ACM) devices. The driver automatically detects ACM devices, based on the USB Class code.

If you provide the vid, did, busno and devno arguments for device-specific options, devc-serusb doesn't attach an insertion callback to detect newly inserted devices. The driver will work only with the already-inserted device that corresponds to the arguments specified on the command line. If you don't also specify the ign_remove option, the driver is terminated when the device is removed.

The unit option has meaning only when the driver is started for a specific device by using the vid, did, busno and devno arguments. If the driver is managing device insertions, the default behavior always applies.

Note: Because devc-serusb is a USB class driver, the USB stack (io-usb-otg) must be running before you start this driver.

This driver supports a DCMD_CHR_RESET devctl() command that resets the device. Not all drivers use this command.