On-The-Go (OTG) manager for USB
io-usb-otg [-CcVv] [-d dll [opts] ] [-E priority] [-e priority] [-n name] [-o dll [opts]] [-P priority] [-r num] [-T num] [-t memory=name] [-U priority]
QNX Neutrino
If the smmuman service is running, you can specify 1 or on to configure io-usb-otg to interface with smmuman to manage ("cage") access for non-CPU initiated reads and writes (i.e., DMA devices). If you specify 1 or on but smmuman isn't running, the io-usb-otg manager fails to start.
The default setting is 0 or off. An invalid setting is treated as off.
The io-usb-otg manager manages the USB bus and USB protocols through hardware controller drivers (DLLs). The -d and -o options let you load the DLLs when you start io-usb-otg; to load more than one DLL, use multiple -d or -o options.
The io-usb-otg manager supports both USB host mode and USB device mode; the default mode is determined by the DLL passed to the -d option. The -o option is useful for a dual-mode system, as it lets you load DLLs for both modes. Typically, you use -o in conjunction with an external process such as the USB launcher service (usblauncher_otg), which can automatically start and stop the appropriate DLLs when io-usb-otg switches from one mode to the other. See the USB launcher chapter in the Device Publishers Developer's Guide for more information about this service.
Note that mounting and unmounting DLLs isn't supported in this release. For information on DLLs and their syntax, see the devu-* entries.
The io-usb-otg manager handles all data transfers to and from devices connected to the USB bus. Drivers external to the manager are responsible for implementing class- or vendor-specific protocols (for instance, mass storage); these drivers communicate with the connected devices through the io-usb-otg manager.
Device configuration
You should use the -c option in conjunction with a launcher application such as usblauncher_otg, which chooses a device's configuration before launching the driver to manage a device's interfaces.
A launcher application must choose a default configuration for any device with more than one configuration, or the device won't function:
Start the USB stack and USB drivers on a PCI-based system:
io-usb-otg -dehci -dohci -duhci -dxhci
Start the USB stack and the EHCI (high speed) USB driver:
io-usb-otg -dehci ioport=0x02184000, irq=75