Introduction

FireWire or IEEE1394 was developed in 80s and 90s by Apple to provide high-speed communications.

FireWire is available as wireless, fiber optic and coaxial versions, all using the same protocol. The technology is a peer-to-peer standard, that means that every connected device can be a host or client. Firewire can connect up to 63 devices.

Features of FireWire

  • Peer-to-Peer networking allowing up to 63 devices to be connected per bus
    • Although USB provides 127 devices per bus, it use a Client-Host which makes it less usable
    • non-cyclic network
      • automatic address selection
      • no terminators needed in opposition of SCSI
      • locations are random
  • Half-duplex 98.304 Mbps 1394a supports 2x (196.608) and 4× (393.216)
    • 1394b provides full duplex 98.304 Mbps on 1x 2x 4x 8x 16x 32x
  • Data encoding
  • Support for Direct Memory Access (DMA)
  • Data-Strobe encoding providing less jitter than normal clock-data
  • Like USB, backwards compatible
  • Isochronous which means that between cycles are equal time intervals

Advantages of FireWire

  • hot pluggable (support by udev)
  • outstanding performance
    • True data rates where USB normally only provides half the theoretical rate
    • direct map to processor
    • Direct Memory Access for FireWire equipment

Support Linux

Linux has supported FireWire since 2.3.40 with the Linux1394 driver but in 2010 the old driver stack was deprecated to make space for a new, better one: FireWire-*.

Differences between the two drivers

Pre 2.6.37 (2010)

Post 2.6.37 (2010)

Purpose

Comments

ieee1394

firewire-core

base driver

ohci1394

firewire-ohci

driver for ohci 1.0, 1.1 and 1394b controllers

sbp2

firewire-sbp2

support for storage and other SBP2 devices

eth1394

firewire-net

Ethernet over FireWire (IPv4 only)

Firewire device must be named 'firewire0' in /etc/network/interfaces

raw1394

firewire-core

userspace access

similar but not binary compatible

dv1394

firewire-core

userspace access (deprecated in favour of raw1394 + libraw1394)

similar but not binary compatible

video1394

firewire-core

for applications using industrial cameras and webcams and a few other special purposes, especially via libdc1394

similar but not binary compatible

-

sbp-target

let the computer act like a storage device

firedtv

firedtv

support for DVB-C, DVB-T, DVB-S tuner boxes and tuner cards from Digital Everywhere

-

snd-firewire-speakers

LaCie FireWire Speakers and Griffin Firewave

-

snd-isight

microphone in the Apple iSight webcam

-

init_ohci1394_dma

initialize OHCI-1394 remote DMA early during boot for remote debugging

pcilynx (but barely working)

nosy

capturing all FireWire traffic for protocol analysis using a PCILynx controller card

Version 2 of the libraries behind video1394 and raw1394 are compatible with firewire-core

Applications

Digital Audio

The use of FireWire in audio interfaces is one of the biggest applications of Firewire since it is used in hundreds of amateur or professional studio's. Firewire is perfect for audio transport, for it's reliability, an example are the Firewire Focusrite Audio Interfaces which delivers high-standard FireWire audio interfaces and almost every device of this brand is full supported by Linux in the form of the FFADO project that provides drivers for many Firewire audio interfaces. As of Kernel 4.4 almost all audio firewire devices are supported directly by ALSA drivers and should "just work". More information....

Digital Video

You might know DV, it is a protocol used by quite a lot camcorders (from a few years back). A DV device works at 100 Mbps, so there might be a problem when a faster Firewire is daisy chained. More information....

Ethernet over FireWire

FireWire can be used to provide an Ethernet connection between two or more computers (peer-to-peer networking). RFC article 2734 and 3146 describe how to use IPv4 and IPv6 through this all-around technology. How to do this on Ubuntu and Debian can be found here

Although that FireWire is very reliable, the cable length is fair disadvantage and is why Gigabit Ethernet is becoming a competitor. Gigabit Ethernet is already used in many digital snakes and digital mixing consoles. The IEEE 1394a standard states that Firewire can be used over 100m UTP at 100Mbps wherefore Ethernet could become irrelevant again but this application of Firewire is not widely used.

Set-Top-Boxes

In the USA all recording set-top-boxes (DVRs) are required to have a functional FireWire port. Probably by DV.

Storage

FireWire is also used in external hard disks to provide high speed performance and reliability

FireWire (last edited 2019-04-03 22:44:44 by jenw)