Linux+: Hardware Part 12 – FireWire

J

Jarret W. Buse

Guest
Linux+: Hardware Part 12 – FireWire

FireWire is another external bus similar to the Universal Serial Bus (USB). FireWire was designed by Apple in 1994 and standardized by the Institute of Electrical and Electronics Engineers (IEEE, or I triple-E) in 1995.

NOTE: USB has remained more commercially acceptable since more USB devices exist than FireWire devices. The IEEE committee was the IEEE P1394 Working Group The High Speed Serial Bus was termed IEEE-1394.

Originally, a single FireWire port could support as many as six external devices. This is in contrast to the 127 devices that a USB device can support, but FireWire can transfer data at rates up to 400 Mbits/second. The speed allows for real-time data transfers such as from video cameras.

FireWire is a serial bus meaning that data is transferred one bit at a time. The transfer can be isochronous or asynchronous.

Isochronous is when the system and the FireWire device transfer data continuously in a synchronized manner, such as by the system clock.

Asynchronous transfers are based on a pattern where the transfer can be paused and resumed when needed by sending a signal before each bit or set of bits is transmitted. In this way the system and device are prepared to receive the transfer when the signal is received, but not until the signal is sent. All transfers rely on the signal and all transfers can be halted until the signal is received.

Similar to USB, FireWire devices are hot swappable. Hot swap means that a device can be removed or added without powering off the system. FireWire devices are also Plug and Play (PnP). PnP devices do not need to be configured with specific Interrupt Requests (IRQs), Input/Output (I/O) Addresses, etc. Each FireWire device contains a Read Only Memory (ROM) chip which contains the necessary configuration information for the device.

FireWire can be integrated into a system or an expansion card can be added which has FireWire Ports on it.

FireWire can now support up to 63 devices on a daisy-chain or tree style topology. Daisy-chain is when each device is connected to the next in a line. A tree topology is when a device may support the connection of multiple devices and then instead of a single line, multiple lines can come from one device.

There are two basic connector types, a four pin (Picture 1), six pin (Picture 2) or nine pin (Picture 3) connector.

Hardware 12 - Picture 1.JPG

PICTURE 1

Hardware 12 - Picture 2.JPG
Hardware 12 - Picture 2.JPG

PICTURE 2

Hardware 12 - Picture 3.JPG

PICTURE 3​

The 4 and 6 pin connector are from FireWire 400 and the 9 pin connector is FireWire 800.

The first release of FireWire used FireWire 400 connectors (4 and 6 pin). Later, the 1394a standard was introduced which standardized the 4 pin connector. IEEE 1394b introduced FireWire 800. IEEE 1394c, also known as FireWire S800T, brought an Ethernet style connector (Picture 4) using Category 5e cabling.

Hardware 12 - Picture 4.JPG

PICTURE 4​

FireWire 400

FireWire 400 was the original FireWire as introduced by Apple. Data could be transferred 100, 200 or 400 Mbit/second (12.5, 25 or 50 MB/second). The actual transfer modes were termed S100, S200 and S400.

The cable length between devices is set at 14.8 feet with a total of 16 cables daisy chained in a line. For this distance active repeaters or hubs are required. A signal could not travel from the FireWire Port to the end device without the signal being degraded and lost. An active repeater is one that is powered and the signal is re-transmitted. The signal is boosted as if it were sent from the original port. The boost allows the signal to not be degraded and lost.

1394a

The 1394a specification in 2000 offered improvements over the standard FireWire released by Apple.

The improvements are as follows:
  • Asynchronous Streaming of data
  • Power saving ability
  • Packet concatenation where multiple packets can be joined as one
  • Bus reconfiguration
The connector also brought the 4 pin connector (Picture 1) which allowed it to be used in a 6 pin slot. The 4 pin connector only lacks two pins which supplies power.

FireWire 800 (1394b)

The initial 1394b specification made transfer rates capable of 786.432 Mbits/second or 98 MB/second. The new specification also introduced the 9 pin connector which were not backward compatible, but special ‘bilingual’ cables could be used to connect older devices to the new port.

Once the specification was completed the transfer rates could reach 3200 Mbits/second or 400 MB/second. The copper wiring was replaced with optic cabling which could be 330 feet in length for one cable. It was still possible to use the Ethernet style cabling (Picture 4) as Gigabit Ethernet to achieve 100MB/second transfer rates.

FireWire S800T (1394c)

This standard introduced transfer speeds of 800 Mbit/second (100MB/second) speeds over the Ethernet style cabling (Picture 4).

The specification allowed the use of the Ethernet cabling to support both 1394c and Ethernet over the same cables.

Linux and FireWire

Linux supports FireWire and the FireWire device information is kept in the device folder under the folder /dev/raw1394/.

When a device is attached, a folder should be created for the new device. Within the newly created folder for the device, files should be created to show the information for the new device.
 

Attachments

  • slide.jpg
    slide.jpg
    26.9 KB · Views: 87,771

Members online


Top