Device Controller Driver (DCD) server for universal serial bus (USB)

Note: You must be root to start this server.


io-usb-dcd [-d dll [opts] ] [-n name] [-P priority]... [-V] [-v]

Runs on:

QNX Neutrino


-d dll [opts]
Load the specified device controller DLL and pass the options (opts) to it. For information on the drivers and their syntax and options, see the devu-* entries.
-n name
Set the server name. The default is /dev/io-usb-dcd/io-usb.
-P priority
The priority to use for the server; the default is 21.
Display the server version and then exit.
Be verbose.


The io-usb-dcd Device Controller Driver (DCD) server contains USB protocols and communicates with clients (function drivers). The USB stack is a server/dll interface that the server uses to load the DLLs that manage the USB chips. You can load drivers when you start io-usb-dcd by specifying the -d command-line option.

  • This is the device-side stack; for the host-side stack, see io-usb.
  • You can start more than one driver by using multiple -d command-line options.

Once io-usb-dcd has started, you can dynamically load and unload modules using the mount and umount commands.

The io-usb-dcd controller uses the LD_LIBRARY_PATH environment variable when searching for the shared objects. If LD_LIBRARY_PATH is not set, or the shared object in question isn't in one of its directories, or you want to override the default, specify the full path in the mount command.


# Create an 8 MB RAM disk:
devb-ram ram capacity=16384,nodinit blk cache=0m

# Format the RAM disk as a DOS filesystem (substitute
# the /dev/hd entry created by devb-ram):
mkdosfs /dev/hdn

# Start the USB stack:
io-usb-dcd -dusbumass-$(HW_VARIANT) ioport=ioport,irq=irq

# Load the mass-storage function driver:
devu-umass_client-block -l lun=0,devno=1,iface=0,fname=/dev/hdn

# Turn on the link (enables connection to the USB host):
ulink_ctrl -l 1