Hardware manual

limited to short distances of at most 5 meters (depends on configuration). Linux supports the bus, although not
all devices that can plug into the bus are supported.
It is synchronous and transmits in special packets like a network. Just like a network, it can have several
devices physically attached to it, including serial ports. Each device on it gets a time-slice of exclusive use for
a short time. A device can also be guaranteed the use of the bus at fixed intervals. One device can monopolize
it if no other device wants to use it. It's not simple to describe in detail.
For serial ports on the USB bus, there are numerous configuration options to use when compiling the kernel.
They all start with: CONFIG_USB_SERIAL. Each one is usually for a certain brand/model of serial port,
although generic is also an option. See the Configuration Help file in the kernel documentation.
For documentation, see the USB directory in /usr/share/doc/kernel ... and look at the file: usb-serial.txt. The
modules that support usb serial devices are found in the modules tree: kernel/drivers/usb/serial. It would be
nice to have a HOWTO on the USB. See also http://www.linux-usb.org and/or http://www.qbik.ch/usb/.
21.7 Firewire
Firewire (IEEE 1394) is something like the USB only faster (800 Mbps is planned). The protocol on the bus is
claimed to be more efficient than USB's. It uses two twisted pair for data plus two power conductors (6
conductors in all). A variants uses only 4 conductors. You may compile firewire support into the Linux kernel.
Like USB, it's also limited to short distances.
21.8 MIDI
Sound cards often have a 15-pin game port connector used for MIDI. They are for connecting a musical
keyboard to a PC so that you can create musical recordings. You could also connect a MIDI sound system.
The MIDI standard uses 31250 baud (1M/32) which is not available on an ordinary serial port. Some MIDI
devices are designed so that they can be connected directly to an ordinary serial port.
Besides the 15-pin connector, a 5-pin DIN connector is also a MIDI standard but the flow of sound is only one
way thru it so for bidirectional sound you need 2 of them. Breakout cables often have a 15-pin connector on
one end and 2 or more 5-pin connectors on the other end. The /dev/midi00 is for MIDI.
21.9 Synchronization & Synchronous
Beside the asynchronous RS-232 (and others) there are a number of synchronous serial port standards. In fact
RS-232 includes synchronous specifications but they aren't normally implemented for serial ports on PC's.
But first we'll explain what a synchronous means.
Defining Asynchronous vs Synchronous
Asynchronous (async) means "not synchronous". In practice, an async signal is what the async serial port
sends and receives which is a stream of bytes with each byte framed by a start and stop bit. Synchronous
(sync) is most everything else. But this doesn't explain the basic concepts.
In theory, synchronous means that bytes are sent out at a constant rate one after another in step with a clock
signal tick. There is often a separate wire or channel for sending the clock signal. The clock signal might also
be embedded in the transmitted bytes. Asynchronous bytes may be sent out erratically with various time
Serial HOWTO
21.6 The Universal Serial Bus (USB) 77