deva-ctrl-usb.so

Sound driver for USB audio devices

Note: You must be root to start this driver.

Syntax:

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/deva-ctrl-usb.so &

Runs on:

QNX Neutrino

Options:

busno=bus
The bus number of the USB controller.
config=num
The configuration number. If you don't provide this option, the audio driver lets the USB manager select the configuration, which in this case will be the device's first configuration.
devno=dev
The USB address of the device.
did=did
The device ID of the device.
iface=iface
The audio control interface number.
max_fragsize=num
The maximum fragsize (the default is 8 KB).
rx_voices=num
The number of RX voices.
tx_voices=num
The number of TX voices.
usb_path=path
The path to the io-usb server.
vid=vid
The vendor ID of the device.

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

Description:

The deva-ctrl-usb.so 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 deva-ctrl-usb.so is running, you can use applications with sound, and those that control the sound system.

If you provide the vid and did arguments, then the driver's insertion callback enumerates only devices that match the provided vendor and device IDs.

If you provide the busno and devno arguments, then the audio driver doesn't attach an insertion callback to detect newly inserted devices. The driver only attaches to the already inserted device corresponding to these two arguments. When the device is removed, the driver DLL will be unmounted from io-audio.

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 driver DLL is unmounted from io-audio, but the io-audio manager continues to run (after you re-insert the device, you can run mount -Tio-audio deva-ctrl-usb.so). You have to slay io-audio if you want to terminate the manager itself.

Note:
  • 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.

Examples:

Invoke deva-ctrl-usb.so directly from io-audio:

io-audio -d usb &

Mount deva-ctrl-usb.so (io-audio must be running):

mount -Tio-audio /lib/dll/deva-ctrl-usb.so &

Errors:

When an error occurs, deva-ctrl-usb.so sends a description of the error to the system logger (see slogger2).