Host Controller Driver (HCD) server for universal serial bus (USB)
io-usb [-CcVv] [-d dll [opts] ] [-e priority] [-h num] [-m num] [-n name] [-P priority]... [-r num] [-t memory=name]
QNX Neutrino
The io-usb Host Controller Driver (HCD) server contains USB protocols and communicates with clients (class 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 by specifying the -d command-line option.
Once io-usb has started, you can dynamically load and unload modules using the mount and umount commands.
The io-usb 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.
For example, to mount the EHCI (high speed) USB driver:
mount -Tio-usb devu-ehci.so /dev/io-usb/io-usb
To mount the OHCI (full/low speed) USB driver:
mount -Tio-usb devu-ohci.so /dev/io-usb/io-usb
To mount the UHCI (full/low speed) USB driver:
mount -Tio-usb devu-uhci.so /dev/io-usb/io-usb
To mount the XHCI (high/full/low speed) USB driver:
mount -Tio-usb devu-xhci.so /dev/io-usb/io-usb
Selecting a driver configuration
You should use the -c option in conjunction with a launcher application, such as usblauncher (see the Device Publishers Developer's Guide), which choose a driver's configuration before launching the driver to manage a device's interfaces.
A launcher application must choose a default configuration for devices with more than one configuration, or these devices will not function:
Start the USB 2.0 stack and USB drivers:
io-usb -dehci -dohci -duhci -dxhci
or use this sequence of commands to do the same thing:
io-usb & mount -T io-usb devu-ehci.so /dev/io-usb/io-usb mount -T io-usb devu-ohci.so /dev/io-usb/io-usb mount -T io-usb devu-uhci.so /dev/io-usb/io-usb mount -T io-usb devu-xhci.so /dev/io-usb/io-usb
Unload a module:
umount /dev/io-usb/devu-ehci.so