HOME
The Info List - FireWire


--- Advertisement ---



IEEE 1394
IEEE 1394
is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple, which called it FireWire. The 1394 interface is also known by the brands i.LINK (Sony), and Lynx (Texas Instruments). The copper cable it uses in its most common implementation can be up to 4.5 metres (15 ft) long. Power is also carried over this cable, allowing devices with moderate power requirements to operate without a separate power supply. FireWire
FireWire
is also available in Cat 5 and optical fiber versions. The 1394 interface is comparable to USB, though USB
USB
requires a master controller and has greater market share.[2]

Contents

1 History and development 2 Intellectual property considerations 3 Technical specifications

3.1 Encoding scheme 3.2 Arbitration

4 Standards and versions

4.1 FireWire
FireWire
400 (IEEE 1394-1995)

4.1.1 Improvements (IEEE 1394a-2000)

4.2 FireWire
FireWire
800 (IEEE 1394b-2002) 4.3 FireWire
FireWire
S800T (IEEE 1394c-2006) 4.4 FireWire
FireWire
S1600 and S3200 4.5 Future enhancements (including P1394d)

5 Operating system support 6 Cable TV system support 7 Comparison with USB 8 Common applications

8.1 Consumer automobiles 8.2 Consumer audio and video 8.3 Military and aerospace vehicles 8.4 General networking 8.5 IIDC 8.6 DV 8.7 Frame grabbers 8.8 iPod and iPhone synchronization and charging

9 Security issues 10 See also 11 References 12 Further reading 13 External links

History and development[edit]

The 6-conductor and 4-conductor alpha FireWire
FireWire
400 socket

A 9-pin FireWire
FireWire
800 connector

The alternative Ethernet-style cabling used by 1394c

4-conductor (left) and 6-conductor (right) FireWire
FireWire
400 alpha connectors

A pair of 6-conductor alpha connectors on the edge of an expansion card

FireWire
FireWire
is Apple's name for the IEEE 1394
IEEE 1394
High Speed Serial Bus. It was initiated by Apple (in 1986[3]) and developed by the IEEE P1394 Working Group, largely driven by contributions from Apple, although major contributions were also made by engineers from Texas Instruments, Sony, Digital Equipment Corporation, IBM, and INMOS/SGS Thomson (now STMicroelectronics). IEEE 1394
IEEE 1394
is a serial bus architecture for high-speed data transfer. FireWire
FireWire
is a serial bus, meaning that information is transferred one bit at a time. Parallel buses utilize a number of different physical connections, and as such are usually more costly and typically heavier.[4] IEEE 1394
IEEE 1394
fully supports both isochronous and asynchronous applications. Apple intended FireWire
FireWire
to be a serial replacement for the parallel SCSI
SCSI
bus, while providing connectivity for digital audio and video equipment. Apple's development began in the late 1980s, later presented to the IEEE,[5] and was completed in January 1995. In 2007, IEEE 1394
IEEE 1394
was a composite of four documents: the original IEEE Std. 1394-1995, the IEEE Std. 1394a-2000 amendment, the IEEE Std. 1394b-2002 amendment, and the IEEE Std. 1394c-2006 amendment. On June 12, 2008, all these amendments as well as errata and some technical updates were incorporated into a superseding standard, IEEE Std. 1394-2008.[6] Apple first included on-board FireWire
FireWire
in some of its 1999 Macintosh models (though it had been a build-to-order option on some models since 1997), and most Apple Macintosh computers manufactured in the years 2000 through 2011 included FireWire
FireWire
ports. However, in February 2011 Apple introduced the first commercially available computer with Thunderbolt. Apple released its last computers featuring FireWire
FireWire
late 2012. By 2014, Thunderbolt had become a standard feature across Apple's entire line of computers effectively becoming the spiritual successor to FireWire
FireWire
in the Apple ecosystem. Sony's implementation of the system, i.LINK, used a smaller connector with only four signal conductors, omitting the two conductors that provide power for devices in favor of a separate power connector. This style was later added into the 1394a amendment.[5] This port is sometimes labeled S100 or S400 to indicate speed in Mbit/s. The system was commonly used to connect data storage devices and DV (digital video) cameras, but was also popular in industrial systems for machine vision and professional audio systems. Many users preferred it over the more common USB 2.0
USB 2.0
for its then greater effective speed and power distribution capabilities. Benchmarks show that the sustained data transfer rates are higher for FireWire
FireWire
than for USB
USB
2.0, but lower than USB
USB
3.0. Results are marked on Apple Mac OS X but more varied on Microsoft
Microsoft
Windows.[7][8] Intellectual property considerations[edit] Implementation of IEEE 1394
IEEE 1394
[9] is said to require use of 261 issued international patents[10] held by 10[11] corporations. Use of these patents requires licensing; use without license generally constitutes patent infringement.[12] Companies holding IEEE 1394
IEEE 1394
IP formed a patent pool with MPEG LA, LLC as the license administrator, to whom they licensed patents. MPEG LA
MPEG LA
sublicenses these patents to providers of equipment implementing IEEE 1394. Under the typical patent pool license, a royalty of US$0.25 per unit is payable by the manufacturer upon the manufacture of each 1394 finished product;[12] no royalties are payable by users. A person or company may review the actual 1394 Patent Portfolio License upon request to MPEG LA.[13] Implementors would thereby ordinarily reveal some interest to MPEG LA
MPEG LA
early in the design process. MPEG LA
MPEG LA
does not provide assurance of protection to licensees beyond its own patents. At least one formerly licensed patent is known to be removed from the pool,[10] and other hardware patents exist that reference 1394-related hardware[14][15][16] and software functions related to use in IEEE 1394.[17] In total, over 1770 patents issued in the 20 years (the WIPO minimum) preceding 2011[18] contain "IEEE 1394" in their titles alone, placing 1500 unavailable from MPEG LA.[improper synthesis?] The 1394 High Performance Serial Bus Trade Association (the "1394 TA") was formed to aid marketing of IEEE 1394. Its bylaws prohibit dealing with intellectual property issues.[19] The 1394 Trade Association operates on an individual no cost membership basis to further enhancements to 1394 standards. The Trade Association also is the library source for all 1394 documentation and standards available. Technical specifications[edit] FireWire
FireWire
can connect up to 63 peripherals in a tree or daisy-chain topology[20] (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
FireWire
also supports multiple hosts per bus. It is designed to support plug and play and hot swapping. The copper cable it uses in its most common implementation can be up to 4.5 metres (15 ft) long and is more flexible than most parallel SCSI
SCSI
cables. In its six-conductor or nine-conductor variations, it can supply up to 45 watts of power per port at up to 30 volts,[citation needed] allowing moderate-consumption devices to operate without a separate power supply. FireWire
FireWire
devices implement the ISO/IEC 13213 "configuration ROM" model for device configuration and identification, to provide plug-and-play capability. All FireWire
FireWire
devices are identified by an IEEE EUI-64 unique identifier in addition to well-known codes indicating the type of device and the protocols it supports. FireWire
FireWire
devices are organized at 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, which happens after each bus resets. The order in which the self-IDs are assigned is equivalent to traversing the tree depth-first, post-order. FireWire
FireWire
is capable of safely operating critical systems due to the way multiple devices interact with the bus and how the bus allocates bandwidth to the devices. FireWire
FireWire
is capable of both asynchronous and isochronous transfer methods at once. Isochronous data transfers are transfers for devices that require continuous, guaranteed bandwidth.[4] In an aircraft, for instance, Isochronous devices include control of the rudder, mouse operations and data from pressure sensors outside the aircraft. All these elements require constant, uninterrupted bandwidth. To support both elements, FireWire
FireWire
dedicates a certain percentage to isochronous data and the rest to asynchronous data. In IEEE 1394, 80% of the bus is reserved for isochronous cycles, leaving asynchronous data with a minimum of 20% of the bus.[21] Encoding scheme[edit] FireWire
FireWire
uses Data strobe encoding (D/S encoding).[22] In D/S encoding, two non-return-to-zero (NRZ) signals are used to transmit the data with high reliability. The NRZ signal sent is fed with the clock signal through an XOR gate, creating a strobe signal.[22] This strobe is then put through another XOR gate
XOR gate
along with the data signal to reconstruct the clock.[22] This in turn acts as the bus's Phase-locked loop
Phase-locked loop
for synchronization purposes.[22] Arbitration[edit] The process of the bus deciding which node gets to transmit data at what time is known as arbitration.[23] Each arbitration round lasts about 125 microseconds.[23] During the round, the root node (device nearest the processor) sends a cycle start packet.[23] All nodes requiring data transfer respond, with the closest node winning.[23] After the node is finished, the remaining nodes take turns in order. This repeats until all the devices have used their portion of the 125 microseconds, with isochronous transfers having priority.[23] Standards and versions[edit] The previous standards and its three published amendments are now incorporated into a superseding standard, IEEE 1394-2008.[6] The features individually added give a good history on the development path. FireWire
FireWire
400 (IEEE 1394-1995)[edit] The original release of IEEE 1394-1995[24] specified what is now known as FireWire
FireWire
400. It can transfer data between devices at 100, 200, or 400 Mbit/s half-duplex[25] data rates (the actual transfer rates are 98.304, 196.608, and 393.216 Mbit/s, i.e., 12.288, 24.576 and 49.152 megabytes per second respectively).[5] These different transfer modes are commonly referred to as S100, S200, and S400. Cable length is limited to 4.5 metres (14.8 ft), although up to 16 cables can be daisy chained using active repeaters; external hubs, or internal hubs are often present in FireWire
FireWire
equipment. The S400 standard limits any configuration's maximum cable length to 72 metres (236 ft). The 6-conductor connector is commonly found on desktop computers, and can supply the connected device with power. The 6-conductor powered connector, now referred to as an alpha connector, adds power output to support external devices. Typically a device can pull about 7 to 8 watts from the port; however, the voltage varies significantly from different devices.[26] Voltage is specified as unregulated and should nominally be about 25 volts (range 24 to 30). Apple's implementation on laptops is typically related to battery power and can be as low as 9 V.[26] Improvements (IEEE 1394a-2000)[edit] An amendment, IEEE 1394a, was released in 2000,[27] which clarified and improved the original specification. It added support for asynchronous streaming, quicker bus reconfiguration, packet concatenation, and a power-saving suspend mode. IEEE 1394a offers a couple of advantages over the original IEEE 1394-1995. 1394a is capable of arbitration accelerations, allowing the bus to accelerate arbitration cycles to improve efficiency. It also allows for arbitrated short bus reset, in which a node can be added or dropped without causing a big drop in isochronous transmission.[21] 1394a also standardized the 4-conductor alpha connector developed by Sony
Sony
and trademarked as "i.LINK", already widely in use on consumer devices such as camcorders, most PC laptops, a number of PC desktops, and other small FireWire
FireWire
devices. The 4-conductor connector is fully data-compatible with 6-conductor alpha interfaces but lacks power connectors.

FireWire
FireWire
800 port (center)

FireWire
FireWire
800 (IEEE 1394b-2002)[edit]

A 9-conductor bilingual connector

IEEE 1394b-2002[28] introduced FireWire
FireWire
800 (Apple's name for the 9-conductor "S800 bilingual" version of the IEEE 1394b standard). This specification and corresponding products allow a transfer rate of 786.432 Mbit/s full-duplex via a new encoding scheme termed beta mode. It is backwards compatible with the slower rates and 6-conductor alpha connectors of FireWire
FireWire
400. However, while the IEEE 1394a and IEEE 1394b standards are compatible, FireWire
FireWire
800's connector, referred to as a beta connector, is different from FireWire
FireWire
400's alpha connectors, making legacy cables incompatible. A bilingual cable allows the connection of older devices to the newer port. In 2003, Apple was the first to introduce commercial products with the new connector. The full IEEE 1394b specification supports data rates up to 3200 Mbit/s (i.e., 400 megabytes/s) over beta-mode or optical connections up to 100 metres (330 ft) in length. Standard Category 5e unshielded twisted pair supports 100 metres (330 ft) at S100. The original 1394 and 1394a standards used data/strobe (D/S) encoding (renamed to alpha mode) with the cables, while 1394b added a data encoding scheme called 8B10B
8B10B
referred to as beta mode. Beta mode is based on 8B/10B
8B/10B
(from Gigabit Ethernet, also used for many other protocols). 8B/10B
8B/10B
encoding involves expanding an 8 bit data word into 10 bits, with the extra bits after the 5th and 8th data bits.[29] The partitioned data is sent through a Running Disparity calculator function.[29] The Running Disparity
Running Disparity
calculator attempts to keep the number of 1s transmitted equal to 0s,[30] thereby assuring a DC-balanced signal. Then, the different partitions are sent through a 5B/6B encoder for the 5 bit partition and a 3B/4B encoder for the 3 bit partition. This gives the packet the ability to have at least two 1s, ensuring synchronization of the PLL at the receiving end to the correct bit boundaries for reliable transfer.[30] An additional function of the coding scheme is to support the arbitration for bus access and general bus control. This is possible due to the "surplus" symbols afforded by the 8B/10B
8B/10B
expansion. (While 8-bit symbols can encode a maximum of 256 values, 10-bit symbols permit the encoding of up to 1024.) Symbols invalid for the current state of the receiving PHY indicate data errors. FireWire
FireWire
S800T (IEEE 1394c-2006)[edit] IEEE 1394c-2006 was published on June 8, 2007.[31] It provided a major technical improvement, namely new port specification that provides 800 Mbit/s over the same 8P8C
8P8C
(Ethernet) connectors with Category 5e cable, which is specified in IEEE 802.3 clause 40 (gigabit Ethernet over copper twisted pair) along with a corresponding automatic negotiation that allows the same port to connect to either IEEE Std 1394 or IEEE 802.3 (Ethernet) devices. Though the potential for a combined Ethernet
Ethernet
and FireWire
FireWire
8P8C
8P8C
port is intriguing, as of November 2008[update], no products or chipsets include this capability. FireWire
FireWire
S1600 and S3200[edit] In December 2007, the 1394 Trade Association announced that products would be available before the end of 2008 using the S1600 and S3200 modes that, for the most part, had already been defined in 1394b and were further clarified in IEEE Std. 1394-2008.[6] The 1.572864 Gbit/s and 3.145728 Gbit/s devices use the same 9-conductor beta connectors as the existing FireWire
FireWire
800 and are fully compatible with existing S400 and S800 devices. It competes with USB 3.0.[32] S1600 (Symwave[33]) and S3200 (Dap Technology[34]) development units have been made, however because of FPGA technology DapTechnology targeted S1600 implementations first with S3200 not becoming commercially available until 2012. Steve Jobs
Steve Jobs
declared FireWire
FireWire
dead in 2008.[35] As of 2012[update], there were few S1600 devices released, with a Sony
Sony
camera being the only notable user.[36] Future enhancements (including P1394d)[edit] A project named IEEE P1394d was formed by the IEEE on March 9, 2009 to add single mode fiber as an additional transport medium to FireWire.[37] The project was withdrawn in 2013.[38] Other future iterations of FireWire
FireWire
were expected to increase speed to 6.4 Gbit/s and additional connectors such as the small multimedia interface.[39][citation needed] Operating system support[edit] Full support for IEEE 1394a and 1394b is available for Microsoft Windows, FreeBSD,[40] Linux,[41][42] Apple Mac OS 8.6
Mac OS 8.6
through Mac OS 9,[43] Mac OS X, NetBSD, and Haiku. In Windows XP, a degradation in performance of 1394 devices may have occurred with installation of Service Pack 2. This was resolved in Hotfix 885222[44] and in SP3. Some FireWire
FireWire
hardware manufacturers also provide custom device drivers that replace the Microsoft
Microsoft
OHCI host adapter driver stack, enabling S800-capable devices to run at full 800 Mbit/s transfer rates on older versions of Windows (XP SP2 w/o Hotfix 885222) and Windows Vista. At the time of its release, Microsoft Windows
Microsoft Windows
Vista supported only 1394a, with assurances that 1394b support would come in the next service pack.[45] Service Pack 1 for Microsoft Windows
Microsoft Windows
Vista has since been released, however the addition of 1394b support is not mentioned anywhere in the release documentation.[46][47][48] The 1394 bus driver was rewritten for Windows 7
Windows 7
to provide support for higher speeds and alternative media.[49] No driver is supplied with Windows 8, 8.1 or 10 but can be downloaded and installed. In Linux, support was originally provided by libraw1394 making direct communication between user space and IEEE 1394
IEEE 1394
buses.[50] Subsequently a new kernel driver stack, nicknamed JuJu, has been implemented.[51] Cable TV system support[edit] Under FCC Code 47 CFR 76.640 section 4, subsections 1 and 2, Cable TV providers (in the US, with digital systems) must, upon request of a customer, have provided a high-definition capable cable box with a functional FireWire
FireWire
interface. This applied only to customers leasing high-definition capable cable boxes from their cable provider after April 1, 2004.[52] The interface can be used to display or record Cable TV, including HDTV programming.[53] In June 2010, the FCC issued an order that permitted set-top boxes to include IP-based interfaces in place of FireWire.[54][55] Comparison with USB[edit] While both technologies provide similar end results, there are fundamental differences between USB
USB
and FireWire. USB
USB
requires the presence of a bus master, typically a PC, which connects point to point with the USB
USB
slave. This allows for simpler (and lower-cost) peripherals, at the cost of lowered functionality of the bus. Intelligent hubs are required to connect multiple USB
USB
devices to a single USB
USB
bus master. By contrast, FireWire
FireWire
is essentially a peer-to-peer network (where any device may serve as the host or client), allowing multiple devices to be connected on one bus.[56] The FireWire
FireWire
host interface supports DMA and memory-mapped devices, allowing data transfers to happen without loading the host CPU with interrupts and buffer-copy operations.[7][57] Additionally, FireWire features two data buses for each segment of the bus network, whereas, until USB
USB
3.0, USB
USB
featured only one. This means that FireWire
FireWire
can have communication in both directions at the same time (full-duplex), whereas USB
USB
communication prior to 3.0 can only occur in one direction at any one time (half-duplex).[citation needed] While USB 2.0
USB 2.0
expanded into the fully backwards-compatible USB 3.0
USB 3.0
and 3.1 (using the same main connector type), FireWire
FireWire
used a different connector between 400 and 800 implementations. Common applications[edit]

Consumer automobiles[edit] IDB-1394 Customer Convenience Port (CCP) was the automotive version of the 1394 standard.[58] Consumer audio and video[edit] IEEE 1394
IEEE 1394
was the High-Definition Audio-Video Network Alliance (HANA) standard connection interface for A/V (audio/visual) component communication and control.[59] HANA was dissolved in September 2009 and the 1394 Trade Association assumed control of all HANA-generated intellectual property. Military and aerospace vehicles[edit] SAE Aerospace standard AS5643 originally released in 2004 and reaffirmed in 2013 establishes IEEE-1394 standards as a military and aerospace databus network in those vehicles. AS5643 is utilized by several large programs, including the F-35 Lightning II, the X-47B UCAV aircraft, AGM-154 weapon and JPSS-1 polar satellite for NOAA. AS5643 combines existing 1394-2008 features like looped topology with additional features like transformer isolation and time synchronization, to create deterministic double and triple fault-tolerant data bus networks.[60][61][62] General networking[edit] FireWire
FireWire
can be used for ad-hoc (terminals only, no routers except where a FireWire
FireWire
hub is used) computer networks. Specifically, RFC 2734 specifies how to run IPv4
IPv4
over the FireWire
FireWire
interface, and RFC 3146 specifies how to run IPv6. Mac OS X, Linux, and FreeBSD
FreeBSD
include support for networking over FireWire.[63] Windows 95, Windows 98, Windows Me,[64] Windows XP
Windows XP
and Windows Server 2003
Windows Server 2003
include native support for IEEE 1394 networking.[65] Windows 2000
Windows 2000
does not have native support but may work with third party drivers. A network can be set up between two computers using a single standard FireWire
FireWire
cable, or by multiple computers through use of a hub. This is similar to Ethernet
Ethernet
networks with the major differences being transfer speed, conductor length, and the fact that standard FireWire
FireWire
cables can be used for point-to-point communication. On December 4, 2004, Microsoft
Microsoft
announced that it would discontinue support for IP networking over the FireWire
FireWire
interface in all future versions of Microsoft
Microsoft
Windows.[66] Consequently, support for this feature is absent from Windows Vista
Windows Vista
and later Windows releases.[67][68] Microsoft
Microsoft
rewrote their 1394 driver in Windows 7[69] but networking support for FireWire
FireWire
is not present. Unibrain offers free FireWire
FireWire
networking drivers for Windows called ubCore,[70] which support Windows Vista
Windows Vista
and later versions. Some models of the PlayStation 2
PlayStation 2
console had an i.LINK-branded 1394 connector. This was used for networking until the release of an Ethernet
Ethernet
adapter late in the console's lifespan, but very few software titles supported the feature. IIDC[edit] IIDC (Instrumentation & Industrial Digital Camera) is the FireWire data format standard for live video, and is used by Apple's iSight A/V camera. The system was designed for machine vision systems[71] but is also used for other computer vision applications and for some webcams. Although they are easily confused since they both run over FireWire, IIDC is different from, and incompatible with, the ubiquitous AV/C (Audio Video Control) used to control camcorders and other consumer video devices.[72] DV[edit] Digital Video (DV) is a standard protocol used by some digital camcorders. All DV cameras that recorded to tape media had a FireWire interface (usually a 4-conductor). All DV ports on camcorders only operate at the slower 100 Mbit/s speed of FireWire. This presents operational issues if the camcorder is daisy chained from a faster S400 device or via a common hub because any segment of a FireWire network cannot support multiple speed communication.[73] Labelling of the port varied by manufacturer, with Sony
Sony
using either its i.LINK trademark or the letters 'DV'. Many digital video recorders have a "DV-input" FireWire
FireWire
connector (usually an alpha connector) that can be used to record video directly from a DV camcorder ("computer-free"). The protocol also accommodates remote control (play, rewind, etc.) of connected devices, and can stream time code from a camera. USB
USB
is unsuitable for transfer of the video data from tape because tape by its very nature does not support variable data rates. USB relies heavily on processor support and this was not guaranteed to service the USB
USB
port in time. The later move away from tape towards solid state memory or disc media (e.g., SD Cards, optical disks or hard drives) has facilitated moving to USB
USB
transfer because file based data can be moved in segments as required. Frame grabbers[edit] IEEE 1394
IEEE 1394
interface is commonly found in frame grabbers, devices that capture and digitize an analog video signal; however, IEEE 1394
IEEE 1394
is facing competition from the Gigabit Ethernet
Ethernet
interface (citing speed and availability issues).[74] iPod and iPhone synchronization and charging[edit] iPods released prior to the iPod with Dock Connector used IEEE 1394a ports for syncing music and charging, but in 2003, the FireWire
FireWire
port in iPods was succeeded by Apple's dock connector and IEEE 1394
IEEE 1394
to 30-pin connector cables were made. Apple Inc.
Apple Inc.
dropped support for FireWire
FireWire
cables starting with iPod nano (4th Generation),[75] iPod touch (2nd Generation), and iPhone 3G in favor of USB
USB
cables. Security issues[edit] Devices on a FireWire
FireWire
bus can communicate by direct memory access (DMA), where a device can use hardware to map internal memory to FireWire's "Physical Memory Space". The SBP-2 (Serial Bus Protocol 2) used by FireWire
FireWire
disk drives uses this capability to minimize interrupts and buffer copies. In SBP-2, the initiator (controlling device) sends a request by remotely writing a command into a specified area of the target's FireWire
FireWire
address space. This command usually includes buffer addresses in the initiator's FireWire
FireWire
Physical Address Space, which the target is supposed to use for moving I/O data to and from the initiator.[76] On many implementations, particularly those like PCs and Macs using the popular OHCI, the mapping between the FireWire
FireWire
"Physical Memory Space" and device physical memory is done in hardware, without operating system intervention. While this enables 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 or media rights-restriction risk if untrustworthy devices are attached to the bus and initiate a DMA attack. One of the applications known to exploit this to gain unauthorized access to running Windows, Mac OS and Linux
Linux
computers is the spyware FinFireWire.[77] For this reason, high-security installations typically either use newer machines that map a virtual memory space to the FireWire
FireWire
"Physical Memory Space" (such as a Power Mac G5, or any Sun workstation), disable relevant drivers at operating system level,[78] disable the OHCI hardware mapping between FireWire
FireWire
and device memory, physically disable the entire FireWire
FireWire
interface, or opt to not use FireWire
FireWire
or other hardware like PCMCIA, PC Card, ExpressCard
ExpressCard
or Thunderbolt, which expose DMA to external components. An unsecured FireWire
FireWire
interface can be used to debug a machine whose operating system has crashed, and in some systems for remote-console operations. Windows natively supports this scenario of kernel debugging,[79] although newer Windows Insider
Windows Insider
Preview builds no longer include the ability out of the box.[80] On FreeBSD, the dcons driver provides both, using gdb as debugger. Under Linux, firescope[81] and fireproxy[82] exist. See also[edit]

HAVi Linux
Linux
IEEE 1394
IEEE 1394
target Thunderbolt List of device bit rates DMA attack Pin Control Attack

References[edit]

^ "1394ta.org". 1394ta.org. Retrieved 2017-03-07. The 1394 digital link standard was conceived in 1986 by technologists at Apple Computer  ^ Yaghmour, Karim; Masters, Jon; Ben-Yossef, Gilad; Gerum, Philippe (2008-08-15). Building embedded Linux
Linux
systems. O'Reilly Media, Inc. p. 70. ISBN 978-0-596-52968-0. Retrieved 2012-01-08.  ^ "What Is FireWire?". 1394 Trade Association. Archived from the original on 2014-04-04.  ^ a b "IEEE Standard 1394a - Thunderbolt". Retrieved 2016-06-14.  ^ a b c Teener, Michael J. "What is Firewire?". Retrieved 2008-07-14. [self-published source?] ^ a b c "IEEE Standard for a High-Performance Serial Bus". IEEE Std. 1394-2008. 2008-10-21. doi:10.1109/IEEESTD.2008.4659233. ISBN 978-0-7381-5771-9.  ^ a b " FireWire
FireWire
USB
USB
Comparison". Usb-ware.com. Retrieved 2010-01-25.  ^ "Go External: FireWire
FireWire
800". Tomshardware.com. Retrieved 2010-01-25.  ^ " MPEG LA
MPEG LA
- 1394 License Agreement".  ^ a b "Attachment 1 List of Patents in the 1394 Patent Portfolio" (PDF).  ^ " MPEG LA
MPEG LA
- 1394 Licensors".  ^ a b " MPEG LA
MPEG LA
- 1394 FAQ".  ^ " MPEG LA
MPEG LA
- 1394 License Agreement Express (hardcopy)".  ^ "Patent number: US5875313 - PCI bus to IEEE 1394
IEEE 1394
bus translator employing write pipe-lining and ..."  ^ "Patent number: US5937175 - PCI bus to IEEE 1394
IEEE 1394
bus translator employing pipe-lined read prefetching".  ^ "Patent number: 5953511 - PCI bus to IEEE 1394
IEEE 1394
bus translator".  ^ "PATENT NOTICE - National Instruments Software Related Patents". Archived from the original on 2012-04-15.  ^ "intitle: "IEEE 1394" - Google Search".  ^ "BYLAWS OF THE 1394 TRADE ASSOCIATION". Archived from the original on 2011-11-04.  ^ " IEEE 1394
IEEE 1394
- The Multimedia Bus of The Future". cablelabs.com. Archived from the original on 2011-09-27.  ^ a b " IEEE 1394
IEEE 1394
Architecture" (PDF). I/ONE. Archived from the original (PDF) on 2007-01-07.  ^ a b c d " IEEE 1394
IEEE 1394
(AKA 'FireWire' & 'iLink')" (PDF). Retrieved 2012-09-01.  ^ a b c d e " IEEE 1394
IEEE 1394
and Linux". Tindel.net. Retrieved 2012-09-01.  ^ IEEE p1394 Working Group (1996-08-30). IEEE Std 1394-1995 High Performance Serial Bus (PDF). IEEE. doi:10.1109/IEEESTD.1996.81049. ISBN 1-55937-583-3.  ^ Davis, Larry. "Firewire Bus". interfacebus.com. Retrieved 2016-06-20.  ^ a b " FireWire
FireWire
Developer Note". Developer.apple.com. 2008-04-28. Retrieved 2010-01-25.  ^ IEEE p1394a Working Group (2000-06-30). IEEE Std 1394a-2000 High Performance Serial Bus — Amendment 1. IEEE. doi:10.1109/IEEESTD.2000.91614. ISBN 0-7381-1958-X.  P1394a Draft 5.0[permanent dead link] available. ^ IEEE p1394b Working Group (2002-12-14). IEEE Std 1394b-2002 High Performance Serial Bus — Amendment 2. IEEE. ISBN 0-7381-3253-5.  ^ a b "Encoder/Decoder". Iram.cs.berkeley.edu. 1997-12-17. Retrieved 2012-09-01.  ^ a b Haden, Rhys (2007-06-30). "CP3070 Principles of Data Communications". Rhyshaden.com. Retrieved 2012-09-01.  ^ "High Performance Serial Bus — Amendment 3". IEEE Std 1394c-2006. 2007-06-08. doi:10.1109/IEEESTD.2006.371044. ISBN 0-7381-5237-4.  ^ "1394 Trade Association Announces 3.2 Gigabit per Second Speed for FireWire". 1394 Trade Association. 2007-12-12. Retrieved 2008-08-03.  ^ [1] ^ "Fires Up World's First 3.2 Gigabit IEEE 1394b FireWire
FireWire
SOC Solution". DapTechnology. 2009-11-23. Retrieved 2012-09-01.  ^ Arthur, Charles (2008-10-17). " Steve Jobs
Steve Jobs
explains why FireWire
FireWire
is dead". Retrieved 2016-06-14.  ^ Henehan, Burke (2012-01-06). " FireWire
FireWire
at 4Gbps-Impact on industrial apps". EE Times. Retrieved 2016-06-14.  ^ "P1394d - IEEE Standard for a High-Performance Serial Bus - Amendment: IEEE 1394
IEEE 1394
Single-mode Fiber Fiber Physical Medium (PMD) Specification". IEEE Standards. IEEE. Retrieved 8 October 2012.  ^ "IEEE-SA - Standards Board Approvals - March 2013". Retrieved 2016-06-14.  ^ Baxter, Les (2007-11-01). "New developments in IEEE 1394
IEEE 1394
(a.k.a. FireWire)". Lightwave. Retrieved 2007-12-19.  ^ " FreeBSD
FreeBSD
firewire(4) man page". Freebsd.org. 2006-04-01. Retrieved 2010-01-25.  ^ " Linux
Linux
FireWire
FireWire
wiki". Ieee1394.wiki.kernel.org. 2009-08-22. Retrieved 2010-01-25.  ^ " Linux
Linux
Unified Target wiki". linux-iscsi.org. 2012-07-21. Retrieved 2012-08-12.  ^ " FireWire
FireWire
2.2.2 and 2.3.3: Information and Download". Docs.info.apple.com. Retrieved 2010-01-25.  ^ "Performance of 1394 devices may decrease after you install Windows XP Service Pack 2". Support.microsoft.com. 2006-06-01. Retrieved 2010-01-25.  ^ " Microsoft
Microsoft
to support 1394b standard". EETimes.com. Retrieved 2010-01-25.  ^ "Notable Changes in Windows Vista
Windows Vista
Service Pack 1". Technet2.microsoft.com. Archived from the original on 2008-05-17. Retrieved 2010-01-25.  ^ "Release Notes for Windows Vista
Windows Vista
Service Pack 1". Technet2.microsoft.com. Archived from the original on 2008-04-30. Retrieved 2010-01-25.  ^ "Hotfixes and Security Updates included in Windows Vista
Windows Vista
Service Pack 1". Technet2.microsoft.com. Archived from the original on 2008-05-11. Retrieved 2010-01-25.  ^ "1394 Bus Driver in Windows 7". Microsoft.com. 2009-06-24. Retrieved 2010-01-25.  ^ "Package: libraw1394-8 (1.3.0-4)". Retrieved 2010-09-12.  ^ "Juju Migration". Retrieved 2012-10-10.  ^ "page 145" (PDF). Archived from the original (PDF) on 2010-05-27. Retrieved 2010-01-25.  ^ rcliff. "How-To: Mac OS X
Mac OS X
Firewire HDTV recording". AVS Forum. Retrieved 2010-01-25.  ^ Requests for Waiver of Section 76.640(b)(4)(ii) of the Commission’s Rules (PDF), Federal Communications Commission, 2010-06-18, retrieved 2016-06-14  ^ "FCC Douses FireWire
FireWire
Requirement For Set-Tops With IP". Multichannel News. Retrieved 2016-06-14.  ^ FireWire
FireWire
vs. USB 2.0
USB 2.0
(PDF), Qimaging, retrieved 2016-06-14  ^ "firewirevsusb". Directron.com. Retrieved 2012-09-01.  ^ "IDB Forum Homepage". 2006-10-06. Archived from the original on 2006-10-06. Retrieved 2016-06-14. CS1 maint: Unfit url (link) ^ "About HANA". Hanaalliance.org. Archived from the original on 2010-01-29. Retrieved 2010-01-25.  ^ B.V., Richard Mourn, DAPTechnology. "IEEE-1394 and AS5643 bring deterministic networking to high reliability Mil-Aero designs". Retrieved 2016-06-14.  ^ "AS5643: IEEE-1394b Interface Requirements for Military and Aerospace Vehicle Applications - SAE International". Retrieved 2016-06-14.  ^ Mourn, Richard (2011-09-07). "UAVs leverage IEEE-1394b data buses for success". EE Times. Retrieved 2016-06-14.  ^ " FreeBSD
FreeBSD
7.1 fwip(4) man page". Freebsd.org. 2005-07-16. Retrieved 2010-01-25.  ^ "Windows Millennium Edition (Me) Support for IP over IEEE 1394
IEEE 1394
Bus". Support.microsoft.com. 2007-01-27. Retrieved 2012-09-01.  ^ "Using IEEE 1394
IEEE 1394
(FireWire) Devices with Windows XP". Support.microsoft.com. 2007-12-01. Retrieved 2010-01-25.  ^ "Discontinued Support for IP over 1394". Microsoft.com. 2004-12-08. Retrieved 2010-01-25.  ^ "IP networking over the IEEE 1394
IEEE 1394
bus is not supported in Windows Vista and in all later versions of Windows". Support.microsoft.com. 2007-11-28. Retrieved 2010-01-25.  ^ "New Networking Features in Windows Server 2008, Windows Vista, and Windows 7". Technet.microsoft.com. Retrieved 2010-01-25.  ^ "1394 Bus Driver in Windows 7". Microsoft.com. 2009-06-18. Retrieved 2012-09-01.  ^ "ubCore 1394 Firewire drivers". Unibrain.com. Retrieved 2012-09-01.  ^ "libdc1394: IIDC/DCAM specifications". Damien.douxchamps.net. Retrieved 2010-01-25.  ^ "AV/C Overview". Microsoft
Microsoft
Developer Network.  ^ IEEE 1394a specification. ^ "How to Establish VGA to Firewire Connection". Epiphan.com. Retrieved 2012-09-01.  ^ "iPod nano: Charging the battery". Retrieved 2013-09-14.  ^ "Tool Physically Hacks Windows — Security/Vulnerabilities — DarkReading". DarkReading. Retrieved 2010-01-25.  ^ "Tactical IT Intrusion Portfolio: FINFIREWIRE" (PDF) (PDF). Gamma International. 2011-12-08. Retrieved 2014-04-28.  ^ "Blocking the SBP-2 Driver to Reduce 1394 DMA Threats to BitLocker". Microsoft. 2011-03-04. Retrieved 2011-03-15.  ^ "Setting Up Kernel-Mode Debugging over a 1394 Cable Manually". docs.microsoft.com. 2017-05-23. Retrieved 2017-09-02.  ^ "KD 1394 Work-Around". blogs.msdn.microsoft.com. 2016-08-11. Retrieved 2017-09-02.  ^ "Andi Kleen: [ANNOUNCE] firescope for i386/x86-64 released". LKML. 2006-04-04. Retrieved 2010-01-25.  ^ "Bernhard Kaindl's fireproxy forwards the gdb remote protocol to FireWire. It allows reading and writing remote memory by gdb". Ieee1394.wiki.kernel.org. 2009-11-07. Retrieved 2010-01-25. 

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later. Further reading[edit]

INCITS T10 Project 1467D (2004). Information technology—Serial Bus Protocol 3 (SBP-3). ANSI INCITS. ANSI INCITS 375-2004.  Anderson, Don (1999). FireWire
FireWire
System Architecture. MindShare, Inc. ISBN 0-201-48535-4.  "IEEE Standard for a High-Performance Serial Bus". IEEE Std. 1394-2008. 2008-10-21. doi:10.1109/IEEESTD.2008.4659233. ISBN 978-0-7381-5771-9. 

External links[edit]

Wikimedia Commons has media related to FireWire.

1394 Trade Association 1394 Standards Orientation, Introduction. IEEE 1394
IEEE 1394
connectors pinout

v t e

Technical and de facto standards for wired computer buses

General

System bus Front-side bus Back-side bus Daisy chain Control bus Address bus Bus contention Network on a chip Plug and play List of bus bandwidths

Standards

SS-50 bus S-100 bus Multibus Unibus VAXBI MBus STD Bus SMBus Q-Bus Europe Card Bus ISA STEbus Zorro II Zorro III CAMAC FASTBUS LPC HP Precision Bus EISA VME VXI VXS NuBus TURBOchannel MCA SBus VLB PCI PXI HP GSC bus InfiniBand UPA PCI Extended (PCI-X) AGP PCI Express
PCI Express
(PCIe) Direct Media Interface (DMI) RapidIO Intel QuickPath Interconnect NVLink HyperTransport

Infinity Fabric

Intel UltraPath Interconnect

Storage

ST-506 ESDI IPI SMD Parallel ATA
Parallel ATA
(PATA) SSA DSSI HIPPI Serial ATA
Serial ATA
(SATA) SCSI

Parallel SAS

Fibre Channel SATAe PCI Express
PCI Express
(via AHCI or NVMe logical device interface)

Peripheral

Apple Desktop Bus DCB HP-IL HIL MIDI RS-232 RS-422 RS-423 RS-485 DMX512-A IEEE-488
IEEE-488
(GPIB) IEEE-1284 (parallel port) UNI/O ACCESS.bus 1-Wire D²B I²C SPI Parallel SCSI Profibus IEEE 1394
IEEE 1394
(FireWire) USB Camera Link External PCIe Thunderbolt

Audio

ADAT Lightpipe AES3 Intel HD Audio I²S MADI McASP S/PDIF TOSLINK

Portable

PC Card ExpressCard

Embedded

Multidrop bus CoreConnect AMBA Wishbone SLIMbus

Interfaces are listed by their speed in the (roughly) ascending order, so the interface at the end of each section should be the fastest. Category

v t e

IEEE standards

Current

488 730 754

Revision

854 828 829 896 1003 1014 1016 1076 1149.1 1154 1164 1275 1278 1284 1355 1394 1451 1497 1516 1541 1547 1584 1588 1596 1603 1613 1666 1667 1675 1685 1800 1801 1815 1850 1900 1901 1902 1904 1905 2030 11073 12207 14764 16085 16326 29148 42010

802 series

802.1

D p Q Qat Qay w X ab ad AE ag ah ak aq ax az

802.11

a b c d e f g h i j k n p r s u v w y ac ad af ah ai ax ay

.2 .3 .4 .5 .6 .7 .8 .9 .10 .12 .14 .15

.1 .4 .4a

.16

d · e

.17 .18 .20 .21 .22

Proposed

P1363 P1619 P1699 P1823 P1906.1

Superseded

754-1985 830 1219 1233 1362 1364 1471

See also IEEE Standards Association Category:IEEE standards

v t e

Basic computer components

Input devices

Keyboard Image scanner Microphone Pointing device

Graphics tablet Joystick Light pen Mouse

Optical

Pointing stick Touchpad Touchscreen Trackball

Webcam

Softcam

Refreshable braille display

Output devices

Monitor Refreshable braille display Printer Speakers Plotter

Removable data storage

Optical disc

CD DVD Blu-ray

Disk pack Floppy disk Memory card USB
USB
flash drive

Computer
Computer
case

Central processing unit
Central processing unit
(CPU) HDD / SSD / SSHD Motherboard Network interface controller Power supply Random-access memory
Random-access memory
(RAM) Sound card Video card Fax modem Expansion card

Ports

Ethernet FireWire
FireWire
(IEEE 1394) Parallel port Serial port PS/2 port USB Thunderbolt HDMI
HDMI
/ DVI / VG

.