.TH USB 4 .SH NAME usbmouse, usbaudio, usbprinter, usbstart \- Universal Serial Bus user\-level device drivers .SH SYNOPSIS .B usb/usbmouse [ .B -fsv ] [ .B -a .I accel ] [ .I m .I n ] .PP .B usb/usbaudio [ .B -V ] [ .B -v .I volume ] [ .B -m .I mountpoint ] [ .B -s .I srvname ] [ .I m .I n ] .PP .B usb/usbprinter .PP .B usbstart .SH DESCRIPTION These programs implement support for specific .SM USB device classes. With the exception of .IR usbstart , they should be run after .IR usbd (4) has located available .SM USB devices and provided them with device addresses and minimal configuration. Dynamic handling of device insertion and removal is currently not supported. .SS Mice Without arguments, .I usbmouse reads the .SM USB status files (see .IR usb (3)) to find a mouse, writing events from the first one found to .B /dev/mousein (see .IR mouse (3)). Given an argument of .SM USB hub number .I m and slot number .IR n , .I usbmouse looks for a mouse only at .BI /dev/usb m / n /status . The options are: .TP .BI -f Run in foreground. .TP .BI -s Enable the scrollwheel. .TP .BI -v Produce verbose output on standard error. Often combined with .BR -f . .TP .BI -a " accel" Set the movement acceleration to the number .IR accel . .SS Audio devices .I Usbaudio configures and manages a .SM USB audio device. With no arguments, it reads the .SM USB status files to find an audio device, and uses the first one found. Given an argument of .SM USB hub number .I m and slot number .IR n , .I usbaudio looks for an audio device only at .BI /dev/usb m / n /status . .PP .I Usbaudio serves a one-level file system presenting the files .BR audio , .BR audioctl , .BR audioin , and .BR volume . The names .B audio and .B volume maintain compatibility with the soundblaster driver (see .IR audio (3)). This filesystem is by default mounted on .BI /dev , but a .I mountpoint can be specified with the .B \-m option. The .B \-s option causes .I usbaudio to post its service as .BI /srv/ srvname . .PP The .B \-V option produces verbose information about the audio device on standard error. .PP Reading .B volume or .B audioctl yields the device's settings. The data format of .B volume is compatible with the soundblaster and produces something like: .IP .EX audio out 65 treb out 0 bass out 0 speed out 44100 .EE .PP This file can be written using the same syntax. The keyword .B out may be omitted. Settings are given as percentages of the range, except for speed which is in .SM Hz. The .B -v option sets the initial .IR volume . .PP The file .B audioctl provides more information, using up to 6 columns of 12 characters each. From left to right, the fields are: .IR "control name" , .I in or .IR out , .IR "current value" , .IR "minimum value" , .IR maximum , and .IR resolution . There are 3, 5, or 6 columns present. Maxima and resolution are omitted when they are not available or not applicable. The resolution for .I speed is reported as 1 (one) if the sampling frequency is continuously variable. It is absent if it is settable at a fixed number of discrete values only. .PP When all values from .B audioctl have been read, a zero-sized buffer is returned (the usual end-of-file indication). A new read will then block until one of the settings changes and then report its new value. .PP The file .B audioctl can be written like .BR volume . .PP Audio data is written to .B audio and read from .BR audioin . The audio data is a sequence of little-endian integer samples ordered primarily by time and secondarily by channel. Samples occupy the minimum integral number of bytes. Read and write operations of arbitrary size are allowed. .SS Printers .I Usbprinter is an .IR rc (4) script that reads the .SM USB status files and .IR bind s the .B ep2data file of the first printer device it finds to .BR /n/lp , which can then be used as an .B LPDEST (see .IR lp (1)). .SS Convenience The .IR rc (1) script .I usbstart starts .IR usbd (4), then uses .I usbmouse and .I usbaudio to configure and manage a mouse and an audio device. .I Usbstart is similar to the example below. .SH EXAMPLE .LP To use a .SM USB mouse, audio device, and printer, put the following in your profile (replace .I x with your favorite initial volume setting): .IP .EX .ta 6n if (test -r '#U'/usb0) { usb/usbd usb/usbmouse -a 2 usb/usbaudio -v \fIx\fP usb/usbprinter } .EE .PP .SH FILES .TF /dev/usb?/?/status .TP .B /dev/usb?/?/status .SM USB device status files .TF /n/lp .TP .B /n/lp .I usbprinter .IR bind (1) location for .B ep2data file .SH SOURCE .B /sys/src/cmd/usb .br .B /rc/bin/usbstart .SH "SEE ALSO" .IR usb (3), .IR usbd (4), .IR mouse (3), .IR audio (3), .IR lp (1) .SH BUGS .I Usbaudio is only known to work with the list of devices below: .IP .RS .TP Xitel AN1 Output only. Marginally enough to drive headphones. Has mute, volume, bass, treble controls. .TP Philips DSS 370/17 USB speakers Usbaudio acts on the volume .L + and .L - buttons. .TP Edirol UA-3 Playback and record. Playback only at 44.1 KHz, record at 32, 44.1 or 48 KHz. Playback volume control and mute control. The device only has analog (slider controlled) input volume control. .TP Edirol UA-1X Playback and record. Playback only at 32, 44.1 or 48 KHz, record at 8, 16, 22.05, 32, 44.1 or 48 KHz. Playback volume control and mute control (recording not tested). .TP Xitel Pro HiFi-Link Playback only. 48 KHz only. There is a volume control but it isn't connected to the output, so does nothing. .TP Onkyo WAVIO series MA-500U Includes three optical digital interfaces, two analog, and an amplifier (15W + 15W). .TP Turtle Beach Audio Advantage micro Headset and S/Pdif out, volume and mute controls. .RE