FireWire is a method of transferring information between digital devices,
especially audio and video equipment. Also known as IEEE 1394, FireWire is fast -- the
latest version achieves speeds up to 800 Mbps. At some time in the future, that number is
expected to jump to an unbelievable 3.2 Gbps when manufacturers overhaul the current
We can connect up to 63 devices to a FireWire bus. Windows operating systems
(98 and later) and Mac OS (8.6 and later) both support it.
Let's say you have your digital camcorder connected to your home computer.
When your computer powers up, it queries all of the devices connected to the bus and
assigns each one an address, a process called enumeration. FireWire is plug-and-play,
so if you connect a new FireWire device to your computer, the operating system auto-
detects it and asks for the driver disc. If you've already installed the device, the computer
activates it and starts talking to it. FireWire devices are hot pluggable, which means they
can be connected and disconnected at any time, even with the power on. FireWire is the
name given to the external wired interface specified by the IEEE standard 1394. It is also
known as i.Link or IEEE 1394 (although the 1394 standard also defines a backplane
interface). It is a personal computer (and digital audio/digital video) serial bus interface
standard, offering high-speed communications and isochronous real-time data services.
FireWire has replaced Parallel SCSI in many applications due to lower implementation
costs and a simplified, more adaptable cabling system.
Almost all modern digital camcorders have included this connection since 1995.
Many computers intended for home or professional audio/video use have built-in
FireWire ports including all Macintosh, Dell and Sony computers currently produced.
FireWire was also an attractive feature on the Apple iPod for several years, permitting
new tracks to be uploaded in a few seconds and also for the battery to be recharged
concurrently with one cable. However, Apple has eliminated FireWire support in favor of
Universal Serial Bus (USB) 2.0 on its newer iPods due to space constraints and for wider
The FireWire icon
The 6-pin and 4-pin FireWire Connectors
According to Michael Johas Teener, original chair and editor of the IEEE 1394
standards document, and technical lead for Apple's FireWire team from 1990 until 1996:
The original FireWire project name was "Chefcat", the name of Michael
Teener's favorite coffee cup. The standard connectors used for FireWire
are related to the connectors on the venerable Nintendo Game Boy. While
not especially glamorous, the Game Boy connectors have proven reliable,
solid, easy to use and immune to assault by small children.
FireWire is a trademark of Apple Computer, Inc. The trademark was filed
in 1993. The "FireWire" name was chosen by a group of engineers
socializing before Comdex 1993, just before the project was about to go
public. IBM, Apple, Texas Instruments, Western Digital, Maxtor and
Seagate were all showing drives, systems and other various FireWire
support technology. The marketing forces behind the FireWire project had
originally considered a name like "Performa".
FireWire won the "most significant new technology" award from Byte
Magazine at the Comdex 1993 show.
During the period they participated with the IEEE p1394 working group,
Apple proposed licensing all of their blocking patents for US$3,000, a one
time fee only for "the point of first use" or the integrated circuits that
implement the protocols. Furthermore, there was a discount if a
contribution was made to the IEEE undergraduate scholarship fund. Under
that agreement, the IEEE agreed to include the appropriate patents in the
Apple never intended to charge for the use of the name "FireWire". It
could be used by any party signing an agreement to use the name for a
product that was compliant with IEEE 1394-1995, the original version of
the standard. Steve Jobs was convinced that Apple should ask for US$1
per port for the patents that became part of the standard. The argument
was that it was consistent with the MPEG patent fees.
The fallout from charging US$1 per FireWire port was significant,
particularly from Intel. Intel had sunk a great deal of effort into the
standard with the improved 1394a-2000 standard being partially based on
work contributed by Intel. A group within Intel used this as a reason to
drop 1394 support and bring out the improved USB 2.0 instead.
Simultaneously, Sony and the other backers of the technology noted to
Apple that they all had patents too and were entitled to per-port royalties.
Under these circumstances, Apple would have to pay roughly US$15 per
port to the other FireWire technology developers. The end result was the
creation of the "1394 Licensing Authority", a body which charges
everyone US$0.25 per end-user system (like a car or computer) that uses
any 1394 technology.
Standards and versions
A 6-Pin FireWire 400 connector
FireWire is Apple Computer's name for the IEEE 1394 High Speed Serial Bus. It
was developed by the IEEE P1394 Working Group, largely driven by contributors from
Apple, although major contributions were also made by engineers from Texas
Instruments, Sony, Digital Equipment Corporation, IBM, and SGS Thomson (now
STMicroelectronics). Apple intended FireWire to be a serial replacement for the parallel
SCSI bus while also providing connectivity for digital audio and video equipment.
Apple's development was completed in 1995. IEEE 1394 is currently a composite of
three documents: the original IEEE Std. 1394-1995, the IEEE Std. 1394a-2000
amendment, and the IEEE Std. 1394b-2002 amendment (there is a 1394c amendment that
provides support for 800Mbit/sec operation over 100m of Category 5 unshielded twisted
pair cable that will be published soon). Sony's implementation of the system is known as
i.Link, and uses only the four signal pins, discarding the two pins that provide power to
the device in favor of a separate power connector on Sony's i.Link products.
The system is commonly used for connection of data storage devices and digital
video cameras, but is also popular in industrial systems for machine vision and
professional audio systems. It is used instead of the more common USB due to its faster
effective speed, higher power-distribution capabilities, and because it does not need a
computer host. Perhaps more importantly, FireWire makes full use of all SCSI
capabilities and, compared to USB 2.0 High Speed, has higher sustained data transfer
rates, a feature especially important for audio and video editors.
However, the small royalty that Apple Computer and other patent holders have
initially demanded from users of FireWire (US$0.25 per end-user system) and the more
expensive hardware needed to implement it (US$1–$2) has prevented FireWire from
displacing USB in low-end mass-market computer peripherals where cost of product is a
A 4-Pin FireWire 400 connector. This connector is not powered.
FireWire can connect together up to 63 peripherals in an acyclic topology (as
opposed to Parallel SCSI's Electrical bus topology). It allows peer-to-peer device
communication, such as communication between a scanner and a printer, to take place
without using system memory or the CPU. FireWire also supports multiple hosts per bus.
It is designed to support Plug-and-play and hot swapping. Its six-wire cable is more
flexible than most Parallel SCSI cables and can supply up to 45 watts of power per port at
up to 30 volts, allowing moderate-consumption devices to operate without a separate
power supply. As noted earlier, the Sony-branded i.Link usually omits the power wiring
of the cables and uses a 4-pin connector. Power is provided by a separate power adaptor
for each device.
A 9-pin FireWire 800 (IEEE 1394b) connector.
FireWire 400 can transfer data between devices at 100, 200, or 400 Mbit/s data
rates (the actual transfer rates are 98.304, 196.608, and 393.216 Mbit/s, respectively).
These different transfer modes are commonly referred to as S100, S200, and S400.
Although USB 2.0 can theoretically operate at 480 MBits/s, tests indicate that this speed
is rarely attained. This is possibly caused by the client-server architecture of USB, as
opposed to the peer-to-peer network operation of FireWire, and the support for memory-
mapped devices in the latter, which allows high-level protocols to run without forcing
numerous interrupts and buffer copy operations on host CPUs. Cable length is limited to
4.5 metres (about 15 feet), although up to 16 cables can be daisy chained using active
repeaters, external hubs, or internal hubs often present in FireWire equipment. The
maximum cable length for any configuration is limited to 72 meters in the S400 standard.
FireWire 800 (Apple's name for the 9-pin "S800 bilingual" version of the
IEEE1394b standard) was introduced commercially by Apple in 2003. This newer 1394
specification and corresponding products allow a transfer rate of 786.432 Mbit/s with
backwards compatibility to the slower rates and 6-pin connectors of FireWire 400.
The full IEEE 1394b specification supports optical connections up to 100 metres
in length and data rates all the way to 3.2 Gbit/s. Standard category-5 unshielded twisted
pair supports 100 metres at S100, and the new p1394c technology goes all the way to
S800. The original 1394 and 1394a standards used data/strobe (D/S) encoding (called
legacy mode) on the signal wires, while 1394b adds a data encoding scheme called
8B10B (also referred to as beta mode). With this new technology, FireWire, which was
arguably already slightly faster, is now substantially faster than Hi-Speed USB.
FireWire devices implement the ISO/IEC 13213 "configuration ROM" model for
device configuration and identification, to provide plug-and-play capability. All FireWire
devices are identified by an IEEE EUI-64 unique identifier (an extension of the 48-bit
Ethernet MAC address format) in addition to well-known codes indicating the type of
device and protocols it supports.
How It Works
There are two levels of interface in IEEE 1394, one for the backplane bus within
the computer and another for the point-to-point interface between device and computer
on the serial cable. A simple bridge connects the two environments. The backplane bus
supports 12.5, 25, or 50 megabits per second data transfer. The cable interface supports
100, 200, or 400 megabits per second. Each of these interfaces can handle any of the
possible data rates and change from one to another as needed.
The serial bus functions as though devices were in slots within the computer
sharing a common memory space. A 64-bit device address allows a great deal of
flexibility in configuring devices in chains and trees from a single socket.
IEEE 1394 provides two types of data transfer: asynchronous and isochronous.
Asynchronous is for traditional load-and-store applications where data transfer can be
initiated and an application interrupted as a given length of data arrives in a buffer.
Isochronous data transfer ensures that data flows at a pre-set rate so that an application
can handle it in a timed way. For multimedia applications, this kind of data transfer
reduces the need for buffering and helps ensure a continuous presentation for the viewer.
The 1394 standard requires that a device be within 4.5 meters of the bus socket.
Up to 16 devices can be connected in a single chain, each with the 4.5 meter maximum
(before signal attenuation begins to occur) so theoretically you could have a device as far
away as 72 meters from the computer.
Another new approach to connecting devices, the Universal Serial Bus (USB),
provides the same "hot plug" capability as the 1394 standard. It's a less expensive
technology but data transfer is limited to 12 Mbps (million bits per second). Small
Computer System Interface offers a high data transfer rate (up to 40 megabytes per
second) but requires address preassignment and a device terminator on the last device in a
chain. FireWire can work with the latest internal computer bus standard, Peripheral
Component Interconnect (PCI), but higher data transfer rates may require special design
considerations to minimize undesired buffering for transfer rate mismatches.
The original FireWire specification, FireWire 400 (1394a), was faster than USB when
it came out. FireWire 400 is still in use today and features:
1. Transfer rates of up to 400 Mbps
2. Maximum distance between devices of 4.5 meters (cable length)
The release of USB 2.0 -- featuring transfer speeds up to 480 Mbps and up to 5
meters between devices -- closed the gap between these competing standards. But in
2002, FireWire 800 (1394b) started showing up in consumer devices, and USB 2.0 was
left in the dust. FireWire 800 is capable of:
1. Transfer rates up to 800 Mbps
2. Maximum distance between devices of 100 meters (cable length)
The faster 1394b standard is backward-compatible with 1394a.
Working Of Firewire Connections
The designers of the Universal Serial Bus (USB) had several particular goals in mind
when they created the USB standard:
1. Low implementation cost, so that USB could be used in cheap peripherals like
mice and game controllers
2. Low cabling cost
3. Lots of devices on the bus
4. Good speed characteristics for things like printers
The idea was to create a system that would replace all of the different ports on
computers (parallel ports, serial ports, special mouse and keyboard ports, etc.) with a
single standard. USB achieved all of these goals very effectively, and there will come a
day in the not-too-distant future when computers will have nothing but a set of USB
connectors on the back.
FireWire, originally created by Apple and later standardized as IEEE-1394, actually
preceded USB and had similar goals. The difference is that IEEE-1394 was originally
intended for devices working with lots more data -- things like camcorders, DVD players
and digital audio equipment. IEEE-1394 and USB share a number of characteristics and
differ in some important ways. Here's a summary:
1. Like USB, IEEE-1394 is a serial bus that uses twisted-pair wiring to move data
2. However, while USB is limited to 12 megabits per second, IEEE-1394 currently
handles up to 400 megabits per second.
3. USB can handle 127 devices per bus, while IEEE-1394 handles 63.
4. Both USB and IEEE-1394 support the concept of a isochronous device -- a device
that needs a certain amount of bandwidth for streaming data. This mode is perfect
for streaming audio and video data.
5. Both USB and IEEE-1394 allow you to plug and unplug devices at any time.
Most digital video cameras have an IEEE-1394 plug. When you attach a camcorder to
a computer using IEEE-1394, the connection is amazing. With the right software the
computer and the camera communicate, and the computer can download all of the scenes
on the tape automatically and with perfect digital clarity. As prices fall, home video
production will become trivial!
Sending Data via FireWire
FireWire uses 64-bit fixed addressing, based on the IEEE 1212 standard. There are
three parts to each packet of information sent by a device over FireWire:
1. A 10-bit bus ID that is used to determine which FireWire bus the data came from
2. A 6-bit physical ID that identifies which device on the bus sent the data
3. A 48-bit storage area that is capable of addressing 256 terabytes of information
for each node
The bus ID and physical ID together comprise the 16-bit node ID, which allows for
64,000 nodes on a system. Data can be sent through up to 16 hops (device to device).
Hops occur when devices are daisy-chained together. Look at the example below. The
camcorder is connected to the external hard drive connected to Computer A. Computer A
is connected to Computer B, which in turn is connected to Computer C. It takes four hops
for Computer C to access the camera.
this setup are equipped with FireWire 800, the camcorder can be up to 400 meters from
Now that we've seen how FireWire works, let's take a closer look at one of its most
popular applications: streaming digital video.
Networking over FireWire
FireWire, with the help of software, is well-suited for creating ad-hoc (terminals
only, no routers) computer networks. Specifically, RFC 2734 specifies how to run IPv4
over the FireWire interface, and RFC 3146 specifies how to run IPv6.
Linux, Windows XP and Mac OS X are popular operating systems that include support
for networking over FireWire. A network between two computers can be created without
a hub, much like the scanner to printer example above. Using one FireWire cable, data
can be transferred quickly between the two computers with minimal networking
configuration. Due to unpopularity, Microsoft Windows Vista has removed support for
networking over FireWire.
Devices on a FireWire bus can communicate by direct memory access, where a
device can use hardware to map internal memory to FireWire's "Physical Memory
Space". The SBP (serial bus protocol) used by FireWire disk drives use this capability to
minimize interrupts and buffer copies. In SBP, the initiator (controlling device) sends a
request by remotely writing a command into a specified area of the target's FireWire
address space. This command usually includes buffer addresses in the initiator's FireWire
"Physical Address Space", which the target is supposed to use for moving I/O data to and
from the initiator.
On many implementations, particularly those like PCs and Macintoshes using the
popular OHCI, the mapping between the FireWire "Physical Memory Space" and device
physical memory is done in hardware, without operating system intervention. While this
enables extremely high-speed and low-latency communication between data sources and
sinks without unnecessary copying (such as between a video camera and a software video
recording application, or between a disk drive and the application buffers), this can also
be a security risk if untrustworthy devices are attached to the bus. For this reason, high-
security installations will typically either purchase newer machines that map a virtual
memory space to the FireWire "Physical Memory Space" (such as a G5 Macintosh, or
any Sun workstation), disable the OHCI hardware mapping between FireWire and device
memory, physically disable the entire FireWire interface, or do not have FireWire at all.
This feature can also be used to debug a machine whose operating system has
crashed, and in some systems for remote-console operations. On FreeBSD, the dcons
driver provides both, with using gdb as debugger. Under Linux, firescope and
FireWire devices are organized on the bus in a tree topology. Each device has a
unique self-id. One of the nodes is elected root node and always has the highest id. The
self-ids are assigned during the self-id process that happens after each bus-reset. The
order in which the self-ids are assigned is equivalent to traversing the tree in a depth-first,
Hot Plug precautions
Although FireWire devices can be hot-plugged without powering down
equipment, there have been a few reports of cameras being damaged if the pins of the
FireWire port are accidentally shorted while swapping. This was especially true for some
early FireWire devices. However, modern FireWire devices have eliminated this
problem. Furthermore, FireWire 800 ensures even greater safety when hot-swapping.
Because any hot-pluggable computer device has a risk of short-circuiting, a user
may wish to power off both the camcorder and computer before connecting a FireWire
cable. Commercial grade equipment is less sensitive to being hot-plugged, although care
should still be taken with any electronic device.
Operating system support
Full support for IEEE 1394a and 1394b is available for FreeBSD, Linux and
Apple Mac OS X operating systems. Microsoft Windows XP supports 1394a and 1394b,
but as of service pack 2 the default speed for all types of FireWire is S100 (100
Mbit/second). A download and registry modification is available from Microsoft to
restore performance to either S400 or S800. Microsoft Windows Vista will initially
support 1394a, with 1394b support coming later in a service pack.
To use FireWire target disk mode
Description and requirements
FireWire target disk mode allows a Macintosh computer with a FireWire port (the
target computer) to be used as an external hard disk connected to another computer (the
host). Once a target computer is started up as a FireWire hard disk and is available to the
host computer, you can copy files to or from that volume.
Important: The computer will not go into FireWire target disk mode if "Open Firmware
Password" has been enabled.
Host computer requirements
Host computers must meet the following requirements:
• Built-in FireWire port, or a FireWire port on a PC card
• FireWire 2.3.3 or later
• Mac OS 8.6 or later
How to use FireWire target disk mode
Important: Unplug all other FireWire devices from both computers prior to using
FireWire target disk mode. Do not plug in any FireWire devices until after you have
disconnected the two computers from each other, or have stopped using target disk mode.
Tip: If you will be transferring FileVault-protected home directories (Mac OS X 10.3 or
later only), log in as the FileVault-protected user and temporarily turn off FileVault.
After transferring home directory contents to the target computer, enable FileVault
protection again if desired.
To use FireWire target disk mode
1. Make sure that the target computer is turned off. If you are using a PowerBook or
iBook as the target computer, you should also plug in its AC power adapter.
2. Use a FireWire cable (6-pin to 6-pin) to connect the target computer to a host
computer. The host computer does not need to be turned off.
3. Start up the target computer and immediately press and hold down the T key until
the FireWire icon appears. The hard disk of the target computer should become
available to the host computer and will likely appear on desktop. (If the target
computer is running Mac OS X 10.4 Tiger, you can also open System
Preferences, choose Startup Disk, and click Target Disk Mode. Then restart the
computer and it will start up in Target Disk Mode.)
4. When you are finished copying files, drag the target computer's hard disk icon to
the Trash or select Put Away from the File menu (Mac OS 9) or Eject from the
File menu (Mac OS X).
5. Press the target computer's power button to turn it off.
6. Unplug the FireWire cable.
If the target computer's hard disk does not become available to the host computer,
check the cable connections and restart the host computer. FireWire Target Disk Mode
works on internal ATA drives only. Target Disk Mode only connects to the master ATA
drive on the Ultra ATA bus. It will not connect to Slave ATA, ATAPI or SCSI drives.
FireWire provides many advantages over other peripheral interconnection
technologies. The cables are as simple to connect as a telephone cord--there is no need
for screws or latches. And, unlike SCSI technology, FireWire is autoconfiguring--so it
eliminates SCSI device ID conflicts and the need for terminators. FireWire is also a hot
plug-and-play technology, which means that a device can be disconnected and then
reconnected without the need to restart the computer. FireWire is fast--it can transfer
digital data at 200 megabits per second, with a planned increase to 400 megabits per
second and beyond. And, the FireWire technology supports expansion--up to 63 devices
can be attached on the same FireWire bus. Finally, FireWire includes support for
isochronous data transfer, which provides guaranteed bandwidth for real-time video and
1. Real-time data transfer for multimedia applications 100, 200, & 400Mbits/s data
rates today; 800 Mbits/s and multi-Gbits/s upgrade path
2. Live connection/disconnection without data loss or interruption
3. Automatic configuration supporting "plug and play"
4. Free form network tool allowing mixing branches and daisy-chains
5. No separate line terminators required.
6. Guaranteed bandwidth assignments for real-time applications
7. Common connectors for different devices and applications
One of the most important uses of FireWire as the digital interface for consumer
electronics and AV peripherals. FireWire is a peer-to-peer interface. This allows dubbing
from one camcorder to another without a computer. It also allows multiple computers to
share a given peripheral without any special support in the peripheral or the computers.
FireWire is a method of transferring information between digital devices, especially
audio and video equipment. We can connect up to 63 devices to a FireWire bus.
Windows operating systems (98 and later) and Mac OS (8.6 and later) both support it.
FireWire provides many advantages over other peripheral interconnection technologies.
The cables are as simple to connect as a telephone cord--there is no need for screws or