Sound driver for USB audio devices

Note: You must be root to start this driver.


Direct invocation (also causes a new io-audio process to start):

io-audio -d usb [opt[,opt...]] &

Mounting (requires that io-audio already be running):

mount -Tio-audio [-oopt[,opt...]] /lib/dll/ &

Runs on:

QNX Neutrino


The bus number of the USB controller.
The USB address of the device.
The device ID of the device.
The audio control interface number.
Maximum fragsize (the default is 8 KB).
The number of RX voices.
The number of TX voices.
The vendor ID of the device.

For card options that apply to all sound drivers, see the entry for io-audio.


The shared object is a device driver DLL used by the io-audio manager. It uses the API described in the Audio Developer's Guide.

While is running, you can use applications with sound, and those that control the sound-system.

If you're starting the driver to target a particular audio function, you must provide the vid, did, busno, devno, and iface options. The USB device must be inserted before you start or mount the driver.

When the device is removed, the audio DLL is unmounted from io-audio, but the io-audio manager itself continues to run (after you re-insert the device, you can run mount -Tio-audio You have to slay io-audio if you want it to be terminated.

  • Some USB Host controllers are restricted in the number of transfer descriptors available, so adjustments to either the audio driver's max_fragsize or the USB Host controller driver's TD pools (num_td=xx) may be required for successful isoch transfers.
  • Graphics drivers run at a higher priority than applications, but they shouldn't run at a higher priority than the audio, or else breaks in the audio occur. You can use the on command to adjust the priorities of the audio and graphics drivers.


Invoke directly from io-audio:

io-audio -d usb &

Mount (io-audio must be running):

mount -Tio-audio /lib/dll/ &


When an error occurs, sends a description of the error to the system logger (see slogger).