Plan 9 from Bell Labs’s /usr/web/sources/patch/applied/usbaudio-imic/usb.orig

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.TH USB 4
.SH NAME
usbmouse,
usbaudio,
usbprinter
\- Universal Serial Bus user level device drivers
.SH SYNOPSIS
.B usb/usbmouse
[
.B -fsv
] [
.B -a
.I accel
] [
.I ctrlno
.I n
]
.PP
.B usb/usbaudio
[
.B -V
] [
.B -v
.I volume
] [
.B -m
.I mountpoint
] [
.B -s
.I srvname
] [
.I ctrlno
.I n
]
.PP
.B usb/usbprinter
.SH DESCRIPTION
These programs implement support for specific USB device classes.
They should be run after
.IR usbd (4)
has had a chance to locate the devices in question and provide
them with device addresses and minimal configuration.
Dynamic handling of device insertion and removal is currently not supported.
.SS Mice
.I Usbmouse
sends mouse events from a USB mouse to
.B /dev/mousein
where the Plan 9 kernel processes them like other mice.
.PP
Without arguments, it scans the USB status files to find a mouse
and uses the first one it finds.  A pair of numeric arguments overrides this search
with a specific USB controller and device.  The options are
.TP
.BI -f
Run usbmouse in foreground.
.TP
.BI -s
Use the scrollwheel.
.TP
.BI -v
Verbose mode.
.TP
.BI -a " accel"
Accelerate mouse movements.
.SS Audio devices
.I Usbaudio
configures and manages a usb audio device.  It implements a file system,
normally mounted in
.BI /dev ,
but this can be changed with the
.B \-m
flag, with files
.BR volume ,
.BR audioctl ,
.BR audio ,
and
.BR audioin .
The names
.B volume
and
.B audio
maintain backward compatibility with the soundblaster driver.
.PP
The
.B \-V
flag (verbose) causes usbaudio to print information about the device on startup.
.PP
The
.B \-s
flag specifies a name for a file descriptor to be posted in
.CW /srv .
.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
.I out
may be omitted.  Settings are given as percentages of the range.
.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 data format is little endian, 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 a script that mounts a usb printer on
.BR /dev/lp .
.SH EXAMPLE
.LP
To use a USB mouse and audio device, put the following in your profile
(replace x by your favorite initial volume setting):
.IP
.EX
.ta 6n
if (test -r '#U'/usb0) {
	usb/usbd
	usb/usbmouse -a 2
	usb/usbaudio -v x
	usb/usbprint
}
.EE
.PP
Alternatively, just put
.B usbstart
in your profile.
.SH SOURCE
.B /sys/src/cmd/usb
.SH "SEE ALSO"
.IR usb (3),
.IR usbd (4)
.SH BUGS
Usbaudio only works for certain audio devices.  This is the list of devices known to work with usbaudio:
.IP
.RS
.TP
Xitel AN1
Output only.  Marginally enough to drive headphones.  Has mute, volume, bass, treble controls.
.TP
Philips USB speakers, model DSS 370/17
Usbaudio acts on the volume + and - 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.
(haven't tested recording, but I believe it'll work)
.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

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].