13 \- Universal Serial Bus device drivers
118 These programs drive USB devices of specific classes via
120 Usually they are started by
122 upon attachment of the device to the bus.
123 Less often, users start them manually, depending on
132 and other programs are started by hand.
134 Without arguments, the drivers handle all the devices (of
135 the appropriate USB class) found on the bus.
136 To make a driver handle only certain devices, supply as arguments
137 the paths for the directories of the devices
138 (actually of their zero endpoints).
140 Drivers that provide file systems accept options
144 to instruct them to post a 9P connection at
146 with the given name and/or to mount themselves at
150 these options may not be used.
152 the file tree supplied by the device driver is
153 available through the file system provided by
157 and reachable through the 9P connection posted at
164 present on most drivers trigger debug diagnostics and
165 file system debugging diagnostics.
166 Repeating any one of these may increase verbosity.
168 To help locate devices of interest,
170 lists all the USB devices available,
171 including those with no driver started.
172 .SS Keyboards and mice
174 supports USB keyboards and mice either as separate USB devices
175 or as a single combined USB device.
176 Scan codes from the keyboard are sent to
181 Mouse events are sent to
185 The following options are understood:
189 Accelerate the mouse to level
191 (similar to the kernel mouse driver acceleration).
194 Serve just the keyboard (and not the mouse).
197 Serve just the mouse (and not the keyboard).
200 configures and manages USB mass storage devices. It
201 provides a file system (usually seen at
203 that includes one directory per storage device, named
205 in correspondence with the usb device number and the storage
206 unit number (or LUN).
207 For example, LUN number 2 on
209 can be accessed through
212 The storage device directory contains the usual files
222 file supplies the device
227 mounts the FAT file systems in the DOS partitions of the named
229 if none, it mounts those file systems found at
230 .BR /dev/sdU*.*/data .
231 When more than one partition is found, a suffix is appended to
232 the disk name to identify the partition number.
235 undoes the effect. If no argument is given, it unmounts all USB
238 unmounts all partitions from disk with USB target
245 .\" TODO: fill in missing words
249 provides a single file can be written to print on a USB printer.
250 Options are similar to those of
252 The file is also bound at
255 .SS Ethernet adapters
257 provides a file interface similar to that of
259 for each USB Ethernet adapter found.
260 The name of an Ethernet device is
265 When started manually, the file interface is mounted at
269 .SS Serial and JTAG ports
271 provides a file system (usually mounted at
273 that includes one directory per USB serial port, named
277 In this directory there are two files,
285 which admits writes in the same format as
291 gives the serial port's settings in the same format as
295 Options are similar to those of
298 JTAG ports are similar
299 but the files are named
306 configures and manages a USB audio device.
307 It implements a file system,
310 but this can be changed with
322 maintain backward compatibility with the Soundblaster driver.
329 to print information about the device on startup.
332 option specifies a name for a file descriptor to be posted in
343 yields the device's settings.
346 is compatible with the Soundblaster and produces output in this
356 This file can be written using the same syntax.
360 Settings are given as percentages of the range,
361 except for speed which is in Hz.
365 provides more information, using up to 6 columns of 12 characters each.
366 From left to right, the fields are:
371 .IR "current value" ,
372 .IR "minimum value" ,
376 There are 3, 5, or 6 columns present.
377 Maxima and resolution are omitted when they are not available or not applicable.
380 is reported as 1 (one) if the sampling frequency is continuously variable.
381 It is absent if it is settable at a fixed number of discrete values only.
385 have been read, a zero-length buffer is returned
386 (the usual end-of-file indication).
389 will then block until one of the settings changes,
390 then report its new value.
397 Audio data is written to
401 The data format is little-endian,
402 samples ordered primarily by time and
403 secondarily by channel.
404 Samples occupy the minimum integral number of bytes.
405 Read and write operations of arbitrary size are allowed.
409 discovers and configures SIM or SAM cards using the CCID standard.
410 It provides a file system (usually mounted at
412 that includes three files,
419 a description of the smartcard reader capabilities is printed.
421 is just intended for debugging.
422 Reads and writes to the
423 raw file send and receive raw CCID packets.
424 Smart cards identify themselves by giving out an ATR,
425 an array of characters describing the card uniquely.
426 Users of the driver write the ATR to the
428 file and are blocked until a card with that ATR is seen.
429 From then on they can do ICC RPCs using whatever
430 language the smart card speaks. A small write cancels
433 The driver takes care of powering the card adequately, based
434 on its ATR, and tunnelling the RPCs through the USB device.
435 Only slot 0 is supported.
437 When the smartcard disappears,
438 all reads and write fail until the file is reopened and
439 a new ATR is written to it.
444 Ibuddy supports a USB I-buddy toy, a little winged-demon.
445 The driver provides one directory per attached toy with a single
447 file to control the device.
448 Directories are named
452 the corresponding usb device number.
455 file provides the state of the device in this form:
466 Each line describes the status of one feature.
471 are the different leds in the head of
474 represents the red led in the chest of
477 represents the status of the wings, which
478 can be closed or open.
480 represents the orientation
481 of the toy (left or right, from the figure's point of view).
483 Lines can be written to the
485 file to command the device.
486 Multiple lines (six at most) can be written
487 at once, with one action per line.
500 The various device drivers are generic USB drivers and
501 may work only for certain devices on each class.
503 USB ATA storage devices are not supported.
505 The Ethernet device works only for certain ASIX-based cards and for CDC devices.
506 Both the Ethernet and printer drivers have not
507 been tested and it is likely they will fail.
509 The serial driver works only for the Prolific chip and Ftdi,
514 signals and some of the extra features are unimplemented.
515 For Ftdi, only the Sheevaplug and Guruplug have been tried.
516 There is support for the EHCI debug port, but it loses bytes.