Server for universal serial bus (USB)
io-usb [-d dll [opts] ] [-e priority] [-n name] [-P priority]... [-V] [-v]
- Do not select a device configuration if the device has more than one configuration. See Selecting a driver configuration below.
- -d dll [opts]
- Load the specified host controller DLL and opts and pass it the dll. For information on the drivers and their syntax and options, see the devu-* entries.
- -e priority
- Set the priority of the enumeration thread.
- -n name
- Set the server name. The default is /dev/io-usb/io-usb.
- -P priority
- The priority to use for the server; the default is 21.
- -r num
- Set the number of enumeration retries (default 3).
- -t memory=name
- Set the typed-memory name (default none, using sysram). This option tells the stack to allocate memory from the specified typed-memory region (such as the memory used for usbd_alloc(), and other internal memory that's needed to transfer data from the USB chip).
- Display server version and exit.
- Be verbose.
The io-usb server contains USB protocols and communicates with clients (class drivers). The USB stack is a server/dll interface which 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.
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
Selecting a driver configuration
You should use the -c option in conjunction with a launcher application, such as enum-usb, 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:
- If you specify the -c option, io-usb will not select a device's configuration, leaving the configuration selection to the launcher application.
- If you do not specify the -c option, io-usb will automatically select the device's first configuration.
Start the USB 2.0 stack and USB drivers:
io-usb -dehci -dohci -duhci
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
Unload a module:
Last modified: 2013-09-30