devc-serusb

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

Note: You must be root to start this driver.

Syntax:

devc-serusb [options]

Runs on:

QNX Neutrino

Targets:

ARMLE-v7, x86

Options:

-b number
The initial baud rate (default 57600).
-C size
The size of the canonical buffer, in bytes (default 256).
-d args[,args ...]
Device-specific options. See below.
-E
Set options to "raw" (default).
-e
Start in edited mode (default raw). Software flow control is enabled by default.
-F
Disable hardware flow control (default to hardware flow control enabled). Hardware flow control isn't supported in edited mode.
-f
Enable hardware flow control (default). Hardware flow control isn't supported in edited mode.
-I number
The size of the raw input buffer in bytes (default 2048).
-O number
("Oh") The size of the interrupt output buffer in bytes (default 2048).
-o opt[,opt...]
Additional options, separated by commas. The options include:
  • nodaemon — don't call procmgr_daemon() to make the driver run in the background. Use this option if you need to know when the device terminates.
  • priority=prio — set the working priority of the internal pulse.
-S|s
Disable / enable software flow control. The default depends on the mode: in raw mode (-E, the default), it's disabled; in edited mode (-e), it's enabled.

The order in which you specify the -E or -e, and -S or -s options matters:

Options Mode Software flow control
-e Edited Enabled
-S -e Edited Enabled
-e -S Edited Disabled
-E Raw Disabled
-s -E Raw Disabled
-E -s Raw Enabled
-v[v]...
Be verbose; additional v characters cause more verbosity.

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

busno=bus
The bus number of the USB controller.
debug=[rx|tx|intr|all|none]
Write raw URB data to slogger.
devno=dev
The USB address of the device.
did=did
The device ID of the device.
drt=num
Data ready timeout (device-specific).
ign_remove
Specify to prevent the removal callback from being attached.
module=name
Set the hardware module to use for an unknown vendor ID or device ID.
name=name
The basename for the pathname entry. The default is /dev/serusb.
path=name
Connect to the specified USB stack. Default is /dev/io-usb/io-usb.
pindex=idx
Set the port that the index options are to be applied to.
priority=prio
Set the priority of the event-processing thread. Default is 21.
query_modules
Display the currently supported hardware modules.
retry=num
The number of retries if a status of USBD_STATUS_DEV_NOANSWER is given.
rx_urbs=num
The number of URBs for BulkIn. Default is 4.
tx_urbs=num
The number of URBs for BulkOut. Default is 4.
unit=num
The unit number: 1 = /dev/serusb1, 2 = /dev/serusb2, etc. Default is the first available number, starting from 1.
vid=vid
The vendor ID of the device.
wait=num
Wait num seconds for the USB stack. Default is 60 seconds.

Description:

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