You are on page 1of 68

INDEX

1) Introduction..5 1.1 Definition..5 1.2 Serial Communication...5 1.3 Teletype System....6 1.4 Serial Vs. Parallel Communication...6 2) History and Development...10 2.1 Terminology.10 3) About USB19 4) Firewire compared with USB..26 5) Technical Specification30 5.1 Peer-To-Peer Connections31 6) Operating System Support..33 7) Cable System Support..34 8) Standard and Versions.35 9) Firewire Type....37

9.1 Enhancements (IEEE 1394a-2000)..37 9.1.1 Streaming Bandwidth and Storage..37 9.1.2 Protocol Issues....39 9.1.3 Cost Issues.40 9.1.4 Social and Logical Issues..40 9.2 Firewire 800 (IEEE 1394b-2002)...41 9.3 Firewire s200 (Name is not given yet)...42 9.4 FireWire S800T (IEEE 1394c-2006)..45 9.4.1 Connectors and other Information.46 9.5 Future Enhancements of FireWire..47 10) Alternative Uses of FireWire.47 10.1 Aircrafts47 10.2 Automobiles..47 10.3 Networking over Firewire.4 10.4 Instrumentation and Industrial Digital Camera (IIDS).47 10.5 Digital Video (DV)48 11) Security Issues.62 12) Conclusion...66

1.0 Introduction
1.1 Definition
FireWire (also known as i.Link or IEEE 1394) 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. FireWire is Apple Inc.'s brand name for the IEEE 1394 interface (although the 1394 standard also defines a backplane interface). It is also known as I. LINK (Sony's name) and DV (Panasonic's name, not to be confused with DV camcorder tapes). It is a serial bus interface standard, for high-speed communications and isochronous. 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 compatibility.

1.2 Serial Communication


In telecommunication and computer science, serial communication is the process of sending data one bit at one time, sequentially, over a communication channel or computer bus. This is in contrast to parallel, where all the bits of each symbol are sent together. Serial communication is used for all long-haul communication and most computer networks, where the cost of

cable and synchronization difficulties make parallel communication impractical. Serial computer buses are becoming more common as improved technology enables them to transfer data at higher speeds.

1.3 Teletype systems


Standard teletype systems evolved as an automated telegraphy system called telex. Originally, a rotating mechanical commutator (a rotating switch) was started by a "start bit". The commutator would distribute the other bits to set relays that would pull on solenoids which would cause the mechanism to print a figure on paper. The routing was automated with rotary electromechanical dialing systems like those used in early telephone systems. When computers became commonplace, these serial communication systems were adapted using I/O devices called serial ports that used UARTs. The development of communication hardware had a deep continuing impact on the nature of software and operating systems, both of which usually arrange data as sequences of characters. Serial buses: Integrated circuits are more expensive when they have more pins. To reduce the pins, many ICs use a serial bus to transfer data when speed is not important. Some examples of such low-cost serial buses include SPI, IC, and 1-Wire.

1.4 Serial versus parallel


The communication links across which computersor parts of computers talk to one another may be either serial or parallel. A parallel link transmits several streams of data (perhaps representing particular bits of a stream of bytes) along multiple channels (wires, printed circuit tracks, optical fibers, etc.); a serial link transmits a single stream of data. At first sight it would seem that a serial link must be inferior to a parallel one, because it can transmit less data on each clock tick. However, it is often the case that serial links can be clocked considerably faster than parallel links, and achieves a higher data rate.
5

A number of factors allow serial to be clocked at a greater rate: Clock skew between different channels is not an issue (for unlocked serial links)

A serial connection requires fewer interconnecting cables (e.g. wires/fibers) and hence occupies less space. The extra space allows for better isolation of the channel from its surroundings Crosstalk is less of an issue, because there are fewer conductors in proximity.

In many cases, serial is a better option because it is cheaper to implement. Many ICs have serial interfaces, as opposed to parallel ones, so that they have fewer pins and are therefore cheaper. Examples of serial communication architectures Morse code telegraphy RS-232 (low-speed, implemented by Serial Ports) RS-423 RS-485 Universal Serial Bus (moderate-speed, for connecting computers to peripherals) FireWire Ethernet Fiber Channel (high-speed, for connecting computers to mass storage devices) InfiniBand (very high speed, broadly comparable in scope to PCI) MIDI control of electronic musical instruments DMX512 control of theatrical lighting Serial Attached SCSI Serial ATA PCI Express SONET and SDH (high speed telecommunication over optical fibers) T-1, E-1 and variants (high speed telecommunication over copper pairs)

Isochronous:

From Greek iso, equal + chronos, time. It literally means to occur at the same time or at equal time intervals. The term is used in different technical contexts.

In telecommunication, isochronous has the following meanings:

Of a periodic signal, pertaining to transmission in which the time interval separating any two corresponding transitions is equal to the unit interval or to a multiple of the unit interval. 2. Pertaining to data transmission in which corresponding significant instants of two or more sequential signals have a constant phase relationship.
1.

In power generation, isochronous means that the frequency of the electricity generated is 'flat' or constant, and there is zero generator droop. In the Universal Serial Bus used in computers, isochronous is one of the four data flow types for USB devices (the others being Control, Interrupt and Bulk), it is commonly used for streaming data types such as video or audio sources. In dynamical system theory an oscillator is called isochronous if the frequency is independent of its amplitude. For instance, in horology, isochronous refers to a mechanical clock or watch which runs at the same rate regardless of changes in its drive force, so it keeps correct time as the mainspring unwinds.

Closely related to the property of being isochronous is the term isochrones referring to contour lines of equal time, for instance, in geological layers, tree rings or wave fronts. FireWire has replaced Parallel SCSI: Small Computer System Interface or SCSI (pronounced scuzz), is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it can connect a wide range of other devices, including scanners and CD drives. The SCSI standard defines command sets for specific peripheral device types; the presence of "unknown" as one of these types means that in theory it can be used as an interface to almost any device, but the standard is highly pragmatic and addressed toward commercial requirements.

SCSI is an intelligent interface: it hides the complexity of physical format. Every device attaches to the SCSI bus in a similar manner.

SCSI is a peripheral interface: up to 8 or 16 devices can be attached to a single bus. There can be any number of hosts and peripheral devices but there should be at least one host.

SCSI is a buffered interface: it uses hand shake signals between devices, SCSI-1, SCSI-2 have the option of parity error checking. Starting with SCSI-U160 (part of SCSI-3) all commands and data is error checked by an CRC32 checksum.

SCSI is a peer to peer interface: the SCSI protocol defines, communication from host to host, host to a peripheral device, peripheral device to a peripheral device. However most peripheral devices are exclusively SCSI targets, incapable of acting as SCSI initiatorsunable to initiate SCSI transactions themselves. Therefore peripheral-to-peripheral communications are uncommon, but possible in most SCSI applications. The NCR53C810 chip is an example of a PCI host interface that can act as a SCSI target.

In many applications, due to lower implementation costs and a simplified, more adaptable cabling system. IEEE 1394 has been adopted as the High Definition Audio-Video Network Alliance (HANA) standard connection interface for A/V (audio/visual) component communication and control. FireWire is also available in wireless, fiber optic and coaxial versions using the isochronous protocols. Almost all modern digital camcorders have included this connection since 1995. Since 2003 many computers intended for home or professional audio/video use have built-in FireWire/i.LINK ports, including all Sony computers, all but one of Apple's computers (and many of its older iPods), and most Dell and HP models currently produced. It is also available on many retail motherboards for do-it-yourself PCs.

2.0 History and development

4-pin (left) and 6-pin (right) FireWire 400 connectors

6-pin FireWire 400 connector on the edge of an expansion card

2.1

Terminology
9

Devices that are not used exclusively for recording (e.g. hands, mouths, musical instruments) and devices that are intermediate in the storing/retrieving process (e.g. eyes, ears, cameras, scanners, microphones, speakers, monitors, projectors) are not usually considered storage devices. Devices that are exclusively for recording (e.g. printers), exclusively for reading (e.g. barcode readers), or devices that process only one form of information (e.g. phonographs) may or may not be considered storage devices. In computing these are known as input/output devices. An organic brain may or may not be considered a data storage device. All information is data. However, not all data is information. Many data storage devices are also media players. Any device that can store and playback multimedia may also be considered a media player such as in the case with the HDD media player. Designated hard drives are used to play saved or streaming media on home entertainment systems. Trends: International Data Corporation estimated that the total amount of digital data was 281 billion gigabytes in 2007, and had for the first time exceeded the amount of storage. Data storage equipment: Any input/output equipment may be considered data storage equipment if it writes to and reads from a data storage medium. Data storage equipment uses either: portable methods (easily replaced), semi-portable methods requiring mechanical disassembly tools and/or opening a chassis, or Inseparable methods meaning loss of memory if disconnected from the unit.

The following are examples of those methods: Portable methods:

Hand crafting
10

o o o o o o o o o o

Flat surface Printmaking Photographic Fabrication Automated assembly Textile Molding Solid freeform fabrication Cylindrical accessing Card reader/drive Tape drive Mono reel or reel-to-reel Compact Cassette player/recorder Disk accessing Disk drive Disk enclosure Cartridge accessing/connecting (tape/disk/circuitry) Peripheral networking Flash memory devices

Semi-portable methods

Hard disk drive Circuitry with non-volatile RAM

Inseparable methods

Circuitry with volatile RAM Neurons

Recording medium A recording medium is a physical material that holds data expressed in any of the existing recording formats. With electronic media, the data and the recording medium is sometimes referred to as "software" despite the more common use of the word to describe computer software. With (traditional art) static media, art materials such as crayons may be considered both equipment and medium as the wax, charcoal or chalk material from the equipment becomes part of the surface of the medium.

11

Some recording media may be temporary either by design or by nature. Volatile organic compounds may be used to preserve the environment or to purposely make data expire over time. Data such as smoke signals or skywriting are temporary by nature. Depending on the volatility, a gas (e.g. atmosphere, smoke) or a liquid surface such as a lake would be considered a temporary recording medium if at all.

Ancient and timeless example:

The Gutenberg Bible displayed by the United States Library of Congress, demonstrating printed pages as a storage medium. Optical o Any object visible to the eye, used to mark a location such as a, stone, flag or skull. o Any crafting material used to form shapes such as clay, wood, metal, glass, wax or quips. o Any branding surface that would scar under intense heat (chiefly for livestock or humans). o Any marking substance such as paint, ink or chalk. o Any surface that would hold a marking substance such as, papyrus, paper, skin. Chemical o RNA o DNA o Pheromone

Modern examples by energy used

12

Graffiti on a public wall. Public surfaces are being used as unconventional data storage media, often without permission. Photographic film is photochemical data storage medium

A floppy disk is magnetic data storage medium

Hitachi 2.5 inch laptop hard drive. A hard drive is both storage equipment and a storage medium

13

Four major types of memory cards (from left to right: Compact Flash, Memory Stick, Secure Digital, and XD.
o o o o o o o o o o o o o o o o o o o

Chemical Dipstick Thermodynamic Thermometer Photochemical Photographic film Mechanical Pins and holes Punch card Paper tape Music roll Music box cylinder or disk Grooves (See also Audio Data) Phonograph cylinder Gramophone record DictaBelt (groove on plastic belt) Capacitance Electronic Disc Magnetic storage Wire recording (stainless steel wire) Magnetic tape Drum memory (magnetic drum) Floppy disk Optical storage Photo paper X-ray Hologram Projected transparency Optical disc Magneto-optical disc Holographic versatile disc 3D optical data storage Electrical Semiconductor used in volatile RAM microchips Floating-gate transistor used in non-volatile memory cards

Modern examples by shape:


14

A typical way to classify data storage media is to consider its shape and type of movement (or non-movement) relative to the read/write device(s) of the storage apparatus as listed:
o o o

Paper card storage Punched card (mechanical) Tape storage (long, thin, flexible, linearly moving bands) Paper tape (mechanical) Magnetic tape (a tape passing one or more read/write/erase

heads) Disk storage (flat, round, rotating object) o Gramophone record (used for distributing some 1980s home computer programs) (mechanical) o Floppy disk, ZIP disk (removable) (magnetic) o Holographic o Optical disc such as CD, DVD, Blue-ray Disc o Minidisk o Hard disk drive (magnetic) Magnetic bubble memory Flash memory/memory card (solid state semiconductor memory) o xD-Picture Card o Multimedia Card o USB flash drive (also known as a "thumb drive" or "key drive") o Smart Media o Compact Flash I and II o Secure Digital o Sony Memory Stick (Std/Duo/PRO/Magic Gate versions) o Solid-state drive

FireWire is Apple Inc.'s name for the IEEE 1394 High Speed Serial Bus. It was initiated by Apple 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). Apple intended FireWire to be a serial replacement for the parallel SCSI (Small Computer System Interface) bus while also providing connectivity for

15

digital audio and video equipment. Apple's development began in the late 1980's, later presented to the IEEE, and was completed in 1995. As of 2007, IEEE 1394 is a composite of four documents: the original IEEE Std. 13941995, the IEEE Std. 1394a-2000 amendment, the IEEE Std. 1394b-2002 amendment, and the IEEE Std. 1394c-2006 amendment. Work is underway to incorporate all four of those documents into a new revision of the 1394 standard. Sony's implementation of the system is known as "i.LINK" (fully incorporated in 1394a-2000), and uses only the four signal pins, omitting the two pins which provide power to the device in favor of a separate power connector on Sony's i.LINK products. The ports are sometimes labeled "S100" or "S400" to indicated speed in Mbps. The system is commonly used for connection of data storage devices, and DV (digital video) cameras, but is also popular in industrial systems for machine vision Machine vision, and professional audio systems. It is preferred over the more common USB. Storage Device: A data storage device is a device for recording (storing) information (data). Recording can be done using virtually any form of energy, spanning from manual muscle power in handwriting, to acoustic vibrations in phonographic recording, to electromagnetic energy modulating magnetic tape and optical discs. A storage device may hold information, process information, or both. A device that only holds information is a recording medium. Devices that process information (data storage equipment) may either access a separate portable (removable) recording medium or a permanent component to store and retrieve information. Electronic data storage is storage which requires electrical power to store and retrieve that data. Most storage devices that do not require vision and a brain to read data fall into this category. Electromagnetic data may be stored in either an analog or digital format on a variety of mediums. This type of data is considered to be electronically encoded data, whether or not it is electronically stored in a semiconductor device, for it is certain that a semiconductor device was used to record it on its medium. Most electronically processed data storage media (including some forms of computer data storage) are considered
16

permanent (non-volatile) storage, that is, the data will remain stored when power is removed from the device. In contrast, most electronically stored information within most types of semiconductor (computer chips) microcircuits are volatile memory, for it vanishes if power is removed. With the exception of barcodes and OCR data, electronic data storage is easier to revise and may be more cost effective than alternative methods due to smaller physical space requirements and the ease of replacing (rewriting) data on the same medium. However, the durability of methods such as printed data is still superior to that of most electronic storage media. The durability limitations may be overcome with the ease of duplicating (backing-up) electronic data. Machine Vision: (MV System) is the application of computer vision to industry and manufacturing. Whereas computer vision is mainly focused on machine-based image processing, machine vision most often requires also digital input/output devices and computer networks to control other manufacturing equipment such as robotic arms. Machine Vision is a subfield of engineering that encompasses computer science, optics, mechanical engineering, and industrial automation. One of the most common applications of Machine Vision is the inspection of manufactured goods such as semiconductor chips, automobiles, food and pharmaceuticals. Just as human inspectors working on assembly lines visually inspect parts to judge the quality of workmanship, so machine vision systems use digital cameras, smart cameras and image processing software to perform similar inspections. Machine vision systems are programmed to perform narrowly defined tasks such as counting objects on a conveyor, reading serial numbers, and searching for surface defects. Manufacturers favour machine vision systems for visual inspections that require high-speed, high-magnification, 24-hour operation, and/or repeatability of measurements. Frequently these tasks extend roles traditionally occupied by human beings whose degree of failure is classically high through distraction, illness and circumstance. However, humans may display finer perception over the short period and greater flexibility in classification and adaptation to new defects and quality assurance policies. Computers do not 'see' in the same way that human beings are able to. Cameras are not equivalent to human optics and while people can rely on

17

inference systems and assumptions, computing devices must 'see' by examining individual pixels of images, processing them and attempting to develop conclusions with the assistance of knowledge bases and features such as pattern recognition engines. Although some machine vision algorithms have been developed to mimic human visual perception, a number of unique processing methods have been developed to process images and identify relevant image features in an effective and consistent manner. Machine vision and computer vision systems are capable of processing images consistently, but computer-based image processing systems are typically designed to perform single, repetitive tasks, and despite significant improvements in the field, no machine vision or computer vision system can yet match some capabilities of human vision in terms of image comprehension, tolerance to lighting variations and image degradation, parts' variability etc. About USB: Universal Serial Bus (USB) is a serial bus standard to interface devices. USB was designed to allow many peripherals to be connected using a single standardized interface socket and to improve the plug-and-play capabilities by allowing devices to be connected and disconnected without rebooting the computer (hot swapping). Other convenient features include providing power to low-consumption devices without the need for an external power supply and allowing many devices to be used without requiring manufacturer specific, individual device drivers to be installed. USB is intended to help retire all legacy varieties of serial and parallel ports. USB can connect computer peripherals such as mouse devices, keyboards, PDAs, gamepads and joysticks, scanners, digital cameras, printers, personal media players, and flash drives. For many of those devices USB has become the standard connection method. USB is also used extensively to connect nonnetworked printers; USB simplifies connecting several printers to one computer. USB lock software can lock out memory devices and still allow other USB peripherals to function. The USB was originally designed for personal computers, but it has become commonplace on other devices such as PDAs and video game consoles. In 2004, there were about 1 billion USB devices in the world. The design of USB is standardized by the USB Implementers Forum (USBIF), an industry standards body incorporating leading companies from the

18

computer and electronics industries. Notable members have included Agree, Apple Inc., Hewlett-Packard, Intel, NEC, and Microsoft.

A conventional USB hub A USB system has an asymmetric design, consisting of a host, a multitude of downstream USB ports, and multiple peripheral devices connected in a tieredstar topology. Additional USB hubs may be included in the tiers, allowing branching into a tree structure, subject to a limit of 5 levels of tiers. USB host may have multiple host controllers and each host controller may provide one or more USB ports. Up to 127 devices, including the hub devices, may be connected to a single host controller. USB devices are linked in series through hubs. There always exists one hub known as the root hub, which is built-in to the host controller. So-called "sharing hubs" also exist; allowing multiple computers to access the same peripheral device(s), either switching access between PCs automatically or manually. They are popular in small-office environments. In network terms they converge rather than diverge branches. A single physical USB device may consist of several logical sub-devices that are referred to as device functions, because each individual device may provide several functions, such as a webcam (video device function) with a built-in microphone (audio device function).

USB endpoints actually reside on the connected device: the channels to the host are referred to as pipes

19

USB device communication is based on pipes (logical channels). Pipes are connections from the host controller to a logical entity on the device named an endpoint. The term endpoint is also occasionally used to refer to the pipe. A USB device can have up to 32 active pipes, 16 into the host controller and 16 out of the controller. Each endpoint can transfer data in one direction only, either into or out of the device, so each pipe is uni-directional. Endpoints are grouped into interfaces and each interface is associated with a single device function. An exception to this is endpoint zero, which is used for device configuration and which is not associated with any interface. When a new USB device is connected to a USB host, the USB device enumeration process is started. The enumeration process first sends a reset signal to the USB device. The speed of the USB device is determined during the reset signaling. After reset, USB device setup information is read from the device by the host and the device is assigned a unique host-controller specific 7-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices. The host controller polls the bus for traffic, usually in a round-robin fashion, so no USB device can transfer any data on the bus without an explicit request from the host controller. Host controllers The computer hardware that contains the host controller and the root hub has an interface geared toward the programmer which is called Host Controller Device (HCD) and is defined by the hardware implementer. In the version 1.x age, there were two competing HCD implementations, Open Host Controller Interface (OHCI) and Universal Host Controller Interface (UHCI). OHCI was developed by Compaq, Microsoft and National Semiconductor; UHCI was by Intel.

20

A typical USB connector VIA Technologies licensed the UHCI standard from Intel; all other chipset implementers use OHCI. UHCI is more software-driven, making UHCI slightly more processor-intensive than OHCI but cheaper to implement. The dueling implementations forced operating system vendors and hardware vendors to develop and test on both implementations which increased cost. During the design phase of USB 2.0 the USB-IF insisted on only one implementation. The USB 2.0 HCD implementation is called the Enhanced Host Controller Interface (EHCI). Only EHCI can support hi-speed transfers. Most of PCI-based EHCI controllers contain other HCD implementations called 'companion host controller' to support Full Speed and Low Speed devices. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. HCD standards are out of the USB specification's scope, and the USB specification does not specify any HCD interfaces. Device classes Devices that attach to the bus can be full-custom devices requiring a fullcustom device driver to be used, or may belong to a device class. These classes define an expected behavior in terms of device and interface descriptors so that the same device driver may be used for any device that claims to be a member of a certain class. An operating system is supposed to implement all device classes so as to provide generic drivers for any USB device. Device classes are decided upon by the Device Working Group of the USB Implementers Forum. Note class 0: Use class information in the Interface Descriptors. This base class is defined to be used in Device Descriptors to indicate that class

21

information should be determined from the Interface Descriptors in the device. USB mass-storage

A flash drive, a typical USB mass-storage device. USB implements connections to storage devices using a set of standards called the USB mass storage device class (referred to as MSC or UMS). This was initially intended for traditional magnetic and optical drives, but has been extended to support a wide variety of devices, particularly flash drives. Though most computers are capable of booting off of USB Mass Storage devices, USB is not intended to be a primary bus for a computer's internal storage: buses such as ATA (IDE), Serial ATA (SATA), and SCSI fulfill that role. However, USB has one important advantage in that it is possible to install and remove devices without opening the computer case, making it useful for external drives. Originally conceived and still used today for optical storage devices (CD-RW drives, DVD drives, etc.), a number of manufacturers offer external portable USB hard drives, or empty enclosures for drives, that offer performance comparable to internal drives. These external drives usually contain a translating device that interfaces a drive of conventional technology (IDE, ATA, SATA, ATAPI, or even SCSI) to a USB port. Functionally, the drive appears to the user just like another internal drive. Other competing standards that allow for external connectivity are eSATA and FireWire. USB signaling USB supports three data rates: A Low Speed (1.1, 2.0) rate of 1.5 Mbit/s (187.5 kB/s) that is mostly used for Human Interface Devices (HID) such as keyboards, mice, and joysticks. A Full Speed (1.1, 2.0) rate of 12 Mbit/s (1.5 MB/s). Full Speed was the fastest rate before the USB 2.0 specification and many devices fall back to Full Speed. Full Speed devices divide the USB bandwidth between them in a first-come first-served basis and it is not uncommon to run out of bandwidth with several isochronous devices. All USB Hubs support Full Speed.

22

A Hi-Speed (2.0) rate of 480 Mbit/s (60 MB/s).

Experimental data rate: A Super-Speed (3.0) rate of 4.8 Gbit/s (600 MB/s). The USB 3.0 specification will be released by Intel and its partners in mid 2008 according to early reports from CNET news. According to Intel, bus speeds will be 10 times faster than USB 2.0 due to the inclusion of a fiber optic link that works with traditional copper connectors. Products using the 3.0 specification are likely to arrive in 2009 or 2010.

USB signals are transmitted on a twisted pair data cable with 90 15% impedance, labeled D+ and D. These collectively use half-duplex differential signaling to combat the effects of electromagnetic noise on longer lines. D+ and D usually operate together; they are not separate simplex connections. Transmitted signal levels are 0.00.3 volts for low and 2.83.6 volts for high in Full Speed and Low Speed modes, and +-400mV in High Speed (HS) mode. In FS mode the cable wires are not terminated, but the HS mode has termination of 45 to ground, or 90 differential to match the data cable impedance. USB uses a special protocol to negotiate the High Speed mode called "chirping". In simplified terms, a device that is HS capable always connects as an FS device first, but after receiving a USB RESET (both D+ and D- are driven LOW by host) it tries to pull the D- line high. If the host (or hub) is also HS capable, it returns alternating signals on D- and D+ lines letting the device know that the tier will operate at High Speed. Clock tolerance is 480.00 Mbit/s 500ppm, 12.000 Mbit/s 2500ppm, 1.50 Mbit/s 15000ppm. The USB standard uses the NRZI system to encode data, and uses "bit stuffing" by always injecting one artificial "zero" bit if the stream of data contains six consecutive "ones" before converting the bit stream to NRZI. Though Hi-Speed devices are commonly referred to as "USB 2.0" and advertised as "up to 480 Mbit/s", not all USB 2.0 devices are Hi-Speed. The USB-IF certifies devices and provides licenses to use special marketing logos for either "Basic-Speed" (low and full) or Hi-Speed after passing a compliance test and paying a licensing fee. All devices are tested according to the latest spec, so recently-compliant Low-Speed devices are also 2.0 devices.
23

The actual throughput currently (2006) attained with real devices is about two thirds of the maximum theoretical bulk data transfer rate of 53.248 MB/s. Typical hi-speed USB devices operate at lower speeds, often about 3 MB/s overall, sometimes up to 10-20 MB/s].

USB connector properties

Series "A" plug and receptacle. The connectors specified by the USB committee were designed to support a number of USB's underlying goals, and to reflect lessons learned from the varied menagerie of connectors then in service.

The connectors are particularly cheap to manufacture.[citation needed]

Usability It is difficult to incorrectly attach a USB connector. Connectors cannot be plugged-in upside down, and it is clear from the appearance and kinesthetic sensation of making a connection when the plug and socket are correctly mated. However, it is not obvious at a glance to the inexperienced user (or to a user without sight of the installation) which way around the connector goes, so it is often necessary to try both ways.

24

Only a moderate insertion/removal force is needed (by specification). USB cables and small USB devices are held in place by the gripping force from the receptacle (without the need for the screws, clips, or thumbturns that other connectors require). The force needed to make or break a connection is modest, allowing connections to be made in awkward circumstances or by those with motor disabilities. The connectors enforce the directed topology of a USB network. USB does not support cyclical networks, so the connectors from incompatible USB devices are themselves incompatible. Unlike other communications systems (e.g. RJ-45 cabling) gender-changers are almost never used, making it difficult to create a cyclic USB network.

USB extension cord

5.0 Firewire compared with USB


USB was originally seen as a complement to FireWire (IEEE 1394), which was designed as a high-speed serial bus which could efficiently interconnect peripherals such as hard disks, audio interfaces, and video equipment. USB originally operated at a far lower data rate and used much simpler hardware, and was suitable for small peripherals such as keyboards and mice. The most significant technical differences between FireWire and USB include the following:

25

USB networks use a tiered-star topology, while FireWire networks use a repeater-based topology. USB uses a "speak-when-spoken-to" protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions. A USB network relies on a single host at the top of the tree to control the network. In a FireWire network, any capable node can control the network. USB runs with a 5v power line, whereas Firewire can supply up to 30v. This allows for faster transfers and charging of more power-hungry devices.

These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum transfer rate, in real-world use, especially for high-bandwidth use such as external harddrives, FireWire 400 generally, but not always, has a significantly higher throughput than USB 2.0 Hi-Speed. The newer FireWire 800 standard is twice as fast as FireWire 400 and outperforms USB 2.0 Hi-Speed both theoretically and practically. The chipset and drivers used to implement USB and Firewire have a crucial impact on how much of bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals. Audio peripherals in particular are affected by the USB driver implementation. One reason USB supplanted FireWire, and became far more widespread, is cost; FireWire is more expensive to implement, producing more expensive hardware. Although high-speed USB 2.0 runs at a higher signaling rate (480 Mbit/s) than FireWire 400, typical USB PC-hosts rarely exceed sustained transfers of 35 MB/s (280 Mbit/s), with 30 MB/s (240 Mbit/s) being more typical (the theoretical limit for a USB 2 high-speed bulk transfer is 53.125 MB/s). This is likely due to USB's reliance on the host-processor to manage low-level USB protocol, whereas FireWire automates the same tasks in the interface hardware. For example, the FireWire host interface supports memory-mapped devices, which allows high-level protocols to run without loading the host CPU with interrupts and buffer-copy operations.
26

FireWire 800 is substantially faster than Hi-Speed USB. USB has almost completely replaced older I/O connectors such as parallel, serial, and MIDI (joystick) ports. Instead of a confusing collection of incompatible devices and connectors, you have a one-size-fits-all connection that works on nearly all PCs manufactured in the last 5-8 years. While USB has not completely replaced PS/2 ports, USB mice and keyboards are readily available. Nearly all recent scanners and printers have USB connections, as do most other low-bandwidth peripherals. On the other hand, Firewire is almost completely absent from this category. As mentioned before, Firewire is impractical for low-bandwidth devices; this, coupled with the fact that most computers (besides Macintoshes) do not include Firewire ports by default, has kept Firewire-enabled devices in this category out of this market. Digital Imaging/Digital Video: Tie Firewire is much more prevalent in this category. Almost all modern digital camcorders come with Firewire connectivity. Because of technical differences, Firewire is a better bet for transferring uncompressed (raw) video from digital camcorders, even though USB 2.0 has a higher maximum speed (400Mbps vs. 480Mbps). Not many camcorders have Firewire 800 connectivity yet, but this is expected to change over the next few years. Most digital cameras still use USB for image transfer. This is likely due to the higher level of compatibility with current computers nearly all have USB ports, while a considerably lesser portion have Firewire ports. External Storage: Firewire Wins This category includes external hard drives, external optical drives/burners, and generic external drive enclosures. Though USB 2.0 and first-generation Firewire are nearly neck-and-neck, Firewire can provide much more power over the bus 30V as opposed to 5V for USB, which means that external Firewire drives frequently do not need a separate power brick. Many manufacturers of external storage devices now produce models that include both Firewire and USB 2.0 ports for maximum versatility. These types
27

of devices are probably the best bet for both speed and compatibility. Editor Note 1: Real World Performance- Although, in theory USB 2.0 has a higher theoretical bandwidth than Firewire this does not translate into higher real would speed. In most case, a Firewire device will transfer data at a higher rate than a USB 2.0 device. This is due to a number of factors including but not limited to CPU utilization and the overhead of the transfer method. Editor Note 2: Speed Measure- When considering the speed of these two connections please bare the following in mind: The theoretical speed limit of USB 2.0 is 480 Mbps and the theoretical speed limit of Firewire is 400 Mbps, not 480 MB/s or 400 MB/s. Mbps means Mega Bits Per Second not Megabytes per second. 400 Megabits/second equals 50 Megabyte Per second and 480 Megabits/second equals 60 Megabytes per second. As far as the actual performance of the USB / Firewire interfaces it varies allot by the PC/Mac and the actual interface in the device -- however, the experience of our techs in general points to a speed loss of at least 20MB/s over theoretical on the USB 2.0 side and often we have seen total speed only being in the 11 - 20MB/s range total. Although we don't have hard numbers on the Firewire side, the average speed difference we have seen in the field is 2x real world speed difference using an external hard drive that offered both types of connections. The Firewire connection is usually faster. For external hard drives, really neither standard produces speeds comparable to a internal hard drive. If you want the full potential from a hard drive you need to go with External Serial ATA. With an external Serial ATA hard drive [Serial ATA Drive + Serial ATA enclosure] you will get the exact same speed externally as internally which is 150MB/s burst or 300MB/s burst depending on the drive. Firewire-based devices are somewhat less prevalent. Nearly all digital camcorders sold after 1995 have included a Firewire connection, as have all modern Macintosh computers. Additionally, many new external storage devices include a Firewire connector. However, lower-end devices such as mice and printers are rarely (if ever) seen with Firewire connectivity.

28

For its greater effective speed and 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 Hi-Speed, has higher sustained data transfer rates, especially on Apple Mac OS X (with more varied results on Windows, presumably since USB2 is Intel's answer to FireWire on Windows machines)[3][4], a feature especially important for audio and video editors. However, the royalty which Apple Inc. and other patent holders 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), both of which have since been dropped, have prevented FireWire from displacing USB in low-end mass-market computer peripherals, where cost of product is a major constraint.

6.0 Technical specifications


FireWire can connect up to 63 peripherals in a tree topology (as opposed to Parallel SCSI's Electrical bus An electrical bus (sometimes spelled incorrectly as buss) is a physical electrical interface where many devices share the same electric connection. This allows signals to be transferred between devices (allowing information or power to be shared). A bus often takes the form of an array of wires that terminate at a connector which allows a device to be plugged into the bus. Buses are used for connecting components of a computer: a common example is the PCI bus in PCs. See computer bus. Buses are used for communicating between computers (often microprocessors). See computer bus. Buses are used for distribution of electrical power to components of a system. The (usually) thick conductors used are called bus bars. In an electrical laboratory, for example, a bare bus-bar will sometimes line the wall, to be used by the engineers and technicians for its high electrical current carrying capacity, which allows a convenient approximation to zero voltage, or ground in the US, and earth in the UK. In analysis of an electric power network a "bus" is any node of the single-line diagram at which voltage, current, power flow, or other quantities are to be evaluated. These may or may not correspond with heavy electrical conductors at a substation.

29

6.1 FireWire allows peer-to-peer connection.


A peer-to-peer connection: A peer-to-peer (or "P2P") computer network uses diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of servers provide the core value to a service or application. Peerto-peer networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes. Sharing content files (see file sharing) containing audio, video, data or anything in digital format is very common, and real-time data, such as telephony traffic, is also passed using P2P technology. A pure peer-to-peer network does not have the notion of clients or servers, but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network. This model of network arrangement differs from the client-server model where communication is usually to and from a central server. A typical example for a non peer-to-peer file transfer is an FTP server where the client and server programs are quite distinct, and the clients initiate the download/uploads and the servers react to and satisfy these requests. The earliest peer-to-peer network in widespread use was the Usenet news server system, in which peers communicated with one another to propagate Usenet news articles over the entire Usenet network. Particularly in the earlier days of Usenet, UUCP was used to extend even beyond the Internet. However, the news server system also acted in a client-server form when

30

individual users accessed a local news server to read and post articles. The same consideration applies to SMTP email in the sense that the core email relaying network of Mail transfer agents is a peer-to-peer network while the periphery of Mail user agents and their direct connections is client server. Some networks and channels such as Napster, Open NAP and IRC server channels use a client-server structure for some tasks (e.g. searching) and a peer-to-peer structure for others. Networks such as Gnutella or Freenet use a peer-to-peer structure for all purposes, and are sometimes referred to as true peer-to-peer networks, although Gnutella is greatly facilitated by directory servers that inform peers of the network addresses of other peers. Peer-to-peer architecture embodies one of the key technical concepts of the Internet, described in the first Internet Request for Comments, RFC 1, "Host Software" dated 7 April 1969. More recently, the concept has achieved recognition in the general public in the context of the absence of central indexing servers in architectures used for exchanging multimedia files. The concept of peer to peer is increasingly evolving to an expanded usage as the relational dynamic active in distributed networks, i.e. not just computer to computer, but human to human. he has coined the term "commons-based peer production" to denote collaborative projects such as free software. Associated with peer production are the concept of peer governance (referring to the manner in which peer production projects are managed) and peer property (referring to the new type of licenses which recognize individual authorship but not exclusive property rights, such as the GNU General Public License and the Creative Commons licenses). FireWire also supports multiple hosts per bus. It is designed to support Plugand-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. Devices have to get their power by other means.) 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

31

addition to well-known codes indicating the type of device and the protocols it supports.

7.0 Operating system support:


Full support for IEEE 1394a and 1394b is available for FreeBSD, FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4.4BSD operating systems. It runs on Intel x86 family (IA-32) PC compatible computers, DEC Alpha, Sun Ultra SPARC, IA-64, AMD64, PowerPC, ARM and NEC PC-98 architectures along with the Microsoft Xbox. Support for the MIPS architectures is under development. What is BSD? FreeBSD has been characterized as "the unknown giant among free operating systems." It is not a clone of UNIX, but works like UNIX, with UNIXcompliant internals and system APIs. FreeBSD is generally regarded as reliable and robust. Among all operating systems which can accurately report uptime remotely, FreeBSD is the free operating system listed most often in Net crafts list of the 50 web servers with the longest uptime. A long uptime also indicates no crashes have occurred and no kernel updates have been deemed needed, since installing a new kernel requires a reboot and resets the uptime counter of the system. FreeBSD is developed as a complete operating system. The kernel, device drivers and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree (CVS), whereas with Linux the kernel,

32

userland utilities and applications are developed separately, then packaged together in various ways by other groups as Linux distributions.

8.0 Cable System Support:


Cable TV providers (in the US, with digital systems) must, upon request of a customer, provide a high-definition capable cable box with a functional FireWire interface. This applies only to customers leasing high-definition capable cable boxes from said cable provider after April 1, 2004. The relevant law is CFR 76.640 Section 4 Subsections i and ii. The interface can be used to display or record Cable TV, including HDTV programming.

Node hierarchy: 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 reset. The order in which the self-ids are assigned is equivalent to traversing the tree in a depth-first, Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph. One starts at the root (selecting some node as the root in the graph case) and explores as far as possible along each branch before backtracking. Formally, DFS is an uninformed search that progresses by expanding the first child node of the search tree that appears and thus going deeper and deeper

33

until a goal node is found, or until it hits a node that has no children. Then the search backtracks, returning to the most recent node it hadn't finished exploring. In a non-recursive implementation, all freshly expanded nodes are added to a LIFO stack for exploration. Space complexity of DFS is much lower than BFS (breadth-first search). It also lends itself much better to heuristic methods of choosing a likely-looking branch. Time complexity of both algorithms are proportional to the number of vertices plus the number of edges in the graphs they traverse (O(|V| + |E|)).

9.0 Standards and versions


FireWire 400 (IEEE 1394-1995)

A 6-Pin FireWire 400 connector FireWire 400 can transfer data between devices at 100, 200, or 400 Mbit/s half-duplex 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). These different transfer modes are commonly referred to as S100, S200, and S400. Cable length is limited to 4.5 meters (14.8 ft), although up to 16 cables can be daisy chained.

34

Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph. One starts at the root (selecting some node as the root in the graph case) and explores as far as possible along each branch before backtracking. Formally, DFS is an uninformed search that progresses by expanding the first child node of the search tree that appears and thus going deeper and deeper until a goal node is found, or until it hits a node that has no children. Then the search backtracks, returning to the most recent node it hadn't finished exploring. In a non-recursive implementation, all freshly expanded nodes are added to a LIFO stack for exploration. Space complexity of DFS is much lower than BFS (breadth-first search). It also lends itself much better to heuristic methods of choosing a likely-looking branch. Time complexity of both algorithms are proportional to the number of vertices plus the number of edges in the graphs they traverse (O(|V| + |E|)). When searching large graphs that cannot be fully contained in memory, DFS suffers from non-termination when the length of a path in the search tree is infinite. The simple solution of "remember which nodes I have already seen" doesn't always work because there can be insufficient memory. This can be solved by maintaining an increasing limit on the depth of the tree, which is called iterative deepening depth-first search. A depth-first search starting at A, assuming that the left edges in the shown graph are chosen before right edges, and assuming the search remembers previously-visited nodes and will not repeat them (since this is a small graph), will visit the nodes in the following order: A, B, D, F, E, C, G. Performing the same search without remembering previously visited nodes results in visiting nodes in the order A, B, D, F, E, A, B, D, F, E, etc. forever, caught in the A, B, D, F, E cycle and never reaching C or G. Iterative deepening prevents this loop and will reach the following nodes on the following depths, assuming it proceeds left-to-right as above:

0: A 1: A (repeated), B, C, E

(Note that iterative deepening has now seen C, when a conventional depthfirst search did not.)
35

2: A, B, D, F, C, G, E, F

(Note that it still sees C, but that it came later. Also note that it sees E via a different path, and loops back to F twice.)

3: A, B, D, F, E, C, G, E, F, B

For this graph, as more depth is added, the two cycles "ABFE" and "AEFB" will simply get longer before the algorithm gives up and tries another branch. Using active repeaters, external hubs, or internal hubs often present in FireWire equipment. The S400 standard limits any configuration's maximum cable length to 72 meters. The 6-pin connector is commonly found on desktop computers, and can supply the connected device with power. The 6-pin powered 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.[12] 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 and more likely about 12 V.

10.0 Firewire Types:


10.1 Enhancements (IEEE 1394a-2000)
An amendment IEEE 1394a was released in 2000, which both clarified and enhanced the original specification. It added in support for asynchronous streaming, Streaming multimedia is multimedia that is constantly received by, and normally displayed to, the end-user while it is being delivered by the provider. The name refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, as most other delivery systems are either inherently streaming (e.g. radio, television) or inherently non-streaming (e.g.

36

books, video cassettes, audio CDs). The verb 'to stream' is also derived from this term, meaning to deliver media in this manner.

10.1.1 Streaming bandwidth and storage Unicast Connections require multiple connections from the same streaming server even when it streams the same content Streaming media storage size (in the common file system measurements megabytes, gigabytes, terabytes, and so on) is calculated from streaming bandwidth and length of the media with the following formula (for a single user and file): Storage size (in megabytes) = length (in seconds) bit rate (in kbit/s) / 8,388.608 (Since 1 megabyte = 8 * 1,048,576 bits = 8,388.608 kilobits) Real world example: One hour of video encoded at 300 kbit/s (this is a typical broadband video for 2005 and it's usually encoded in a 320240 pixels window size) will be: (3,600 s 300 kbit/s) / (8*1024) give around 130 MB of storage If the file is stored on a server for on-demand streaming and this stream is viewed by 1,000 people at the same time using a Unicast protocol, you would need: 300 kbit/s 1,000 = 300,000 kbit/s = 300 Mbit/s of bandwidth This is equivalent to around 125 GiB per hour. Of course, using a Multicast protocol the server sends out only a single stream that is common to all users. Hence, such a stream would only use 300 kbit/s of serving bandwidth. See below for more information on these protocols. 10.1. 2 Protocol Issues Designing a network protocol to support streaming media raises many issues, such as:
37

Datagram protocols, such as the User Datagram Protocol (UDP), send the media stream as a series of small packets. This is simple and efficient; however, there is no mechanism within the protocol to guarantee delivery. It is up to the receiving application to detect loss or corruption and recover data using error correction techniques. If data is lost, the stream may suffer a dropout. The Real-time Streaming Protocol (RTSP), Real-time Transport Protocol (RTP) and the Real-time Transport Control Protocol (RTCP) were specifically designed to stream media over networks. The latter two are built on top of UDP. Reliable protocols, such as the Transmission Control Protocol (TCP), guarantee correct delivery of each bit in the media stream. However, they accomplish this with a system of timeouts and retries, which makes them more complex to implement. It also means that when there is data loss on the network, the media stream stalls while the protocol handlers detect the loss and retransmit the missing data. Clients can minimize the effect of this by buffering data for display.

Multicasting broadcasts the same copy of the multimedia over the entire network to all clients. Unicast protocols send a separate copy of the media stream from the server to each client. In terms of difficulty of implementing technically, these protocols are the most simplistic. At the cost of this simplicity, there can be massive duplication of the data being sent on the network. Multicast protocols were developed to try to cut down on the duplication that Unicast protocols cause. These protocols send only one copy of the media stream over any given network connection, i.e. along the path between any two network routers. Many of these protocols require special routing hardware capable of broadcasting the stream. These multicasts are one-way connections which very closely mirror the functionality of over the air television in that viewers lose their on-demand viewing abilities. Some of these lost viewing abilities include rewinding and fast forwarding a media file. There exist streaming media servers which combine Unicast and Multicast solutions to both cut down on the bandwidth requirements and provide users most of the on-demand functionality of a pure Unicast.

38

IP Multicast, the most prominent of multicast protocols, must be implemented in all nodes between server and client including network routers. As of 2005, most routers on the Internet however do not support IP Multicast, and many firewalls block it. [citation needed] IP Multicast is most practical for organizations that run their own networks, such as universities and corporations. Since they buy their own routers and run their own network links, they can decide if the cost and effort of supporting IP Multicast is justified by the resulting bandwidth savings. Peer-to-peer (P2P) protocols arrange for media to be sent from clients that already have them to clients that do not. This prevents the server and its network connections from becoming a bottleneck. However, it raises technical, performance, quality, business, and legal issues.

An issue for streaming media is that some firewalls block UDP-based protocols to provide additional security for their owners. These blocks are in place because UDP is stateless and thus makes it difficult for a firewall to determine whether or not to allow the connection.[2] Widespread deployment of streaming media raises scaling and Quality of Service issues. Testing service deployments is a significant problem. Vendors offer equipment to test streaming services across a number of test domains including Scalability, Quality of Service, Quality of experience, and protocol conformance. 10.1.3 Cost Issues Although the internet will fundamentally change many industries, the fact remains that streaming large amounts of data (such as video) over IP is still expensive. CDNs (content distribution networks) are companies that provide the infrastructure (servers and pipes) required to reliably deliver data worldwide. As in other industries, the cost (usually priced per gigabyte) is a function of quantity. At the end of 2007, a rather small commitment of 750 GB per month costs about $1.50/GB while a commitment of 100,000 GB per month cost $.30 per GB (USD). 10.1.4 Social and legal issues Some streaming broadcasters use streaming systems that interfere with the ability to record streams for later playback, either inadvertently, through poor choice of streaming protocols, or deliberately. Some of these broadcasters place these interferences on their media because they believe it is to their
39

advantage to control their copyrighted material or necessary for compliance to licensing requirements by content providers. A concern for some broadcasters is that these copies of broadcasted material will result in lost sales. Whether users have the ability and the right to record streams has become a significant issue in the application of law to cyberspace. According to some, there is no way to prevent a user from recording a media stream that has been delivered to their computer. Bruce Schneier once said, "Digital files cannot be made uncopyable, any more than water can be made not wet." To date, efforts to prevent copying streaming media have been limited to making it inconvenient, illegal, or both. One method of interfering in recording streaming media is DRM (Digital Rights Management) technologies. The DRM does not prevent a user from recording the streamed bits but the DRM gives some control of the reproductions or plays of the recorded file to a streaming media provider by requiring a key to unlock or decrypt the content. Using unpublished data formats is another way for streaming media providers to prevent copying of their media. This security method can be reverse engineered, and encrypted streams must be decrypted with a key that resides on the consumer's computer, so these measures are security through obscurity, at best.

10.2 FireWire 800 (IEEE 1394b-2002)

40

A 9-pin FireWire 800/3200 (IEEE 1394b) connector. FireWire 800 (Apple's name for the 9-pin "S800 bilingual" version of the IEEE 1394b standard) was introduced commercially by Apple in 2003. This newer 1394 specification (1394b) 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 to the slower rates and 6-pin connectors of FireWire 400. However, while the IEEE 1394a and IEEE 1394b standards are compatible, FireWire 800's connector is different from FireWire 400's connector, making the legacy cables incompatible. A bilingual cable allows the connection of older devices to the newer port. The full IEEE 1394b specification supports data rates up to 3200 Mbit/s over beta-mode or optical connections up to 100 metres in length. Standard Category 5e unshielded twisted pair supports 100 metres at S100. 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 [In telecommunications, 8b/10b is a line code that maps 8-bit symbols to 10-bit symbols to achieve DC-balance (see DC coefficient) and bounded disparity, and yet provide enough state changes to allow reasonable clock recovery. This means that the difference between the count of 1s and 0s in a string of at least 20 bits is no more than 2, and that there are not more than five 1s or 0s in a row. This helps to reduce the demand for the lower bandwidth limit of the channel necessary to transfer the signal].

10.3 FireWire S3200 (name not yet set)


41

In December 2007, the 1394 Trade Association announced that products will soon be available using S3200 mode which was already (mostly) defined in 1394b. They will use the same 9-pin connectors as the existing FireWire 800 and will be fully compatible with existing S400 and S800 devices. The future products are intended to compete with the forthcoming USB 3.0. USB: A Brief History Version 1.0 of the USB specification was released in January of 1996 by the USB Implementers Forum (USB-IF) and was followed up by version 1.1 in September of 1998. A theoretical maximum of 127 devices per controller is specified. Both versions 1.0 and 1.1 support a maximum transfer speed of 12Mbps ("Full Speed") and can fall back to 1.5Mbps ("Low Speed") if need be. Note that these data rates are in Megabits (Mbps) per second, as opposed to Megabytes (MBps) per second? a commonly confused notation. USB version 2.0 was released in 2000, upping the theoretical maximum transfer rate by a factor of 14 to 480Mbps dubbed "Hi-Speed". USB 2.0 devices are backwards-compatible with USB 1.x devices and controllers, and can fall back to "Full" or "Low" speed in order to coexist with older devices. Nearly all new products on the market are USB 2.0-compatible. Both USB 1.x and USB 2.0 allow the use of two separate types of connectors Type A and Type B depending on the requirements of the device itself. Type A connectors are almost always used on the host side (computer or hub), while Type B connectors are smaller and are frequently found on the device side in printers, scanners, and other similar hardware.

A standard USB Type A connector


42

A standard USB Type B connector

Both types of connectors can provide up to 500mA (milliamps) of power to connected devices, though devices that require more than 100mA should be self-powered as each USB port generally has a maximum of 500mA of power to share between all devices. A device that draws all of its required power from the USB bus is referred to as a "bus-powered" device. Windows 95 OSR2 (OEM Service Release 2) included limited support for USB; the original release of Windows 95 had none. Windows 98 ?and more importantly, Windows 98 SE ?added much better support for USB, but Windows XP's USB support is the best and most robust, by far. Apple's Mac OS has supported USB devices since prior to version 9.0.4, but this release of the operating system added substantially better support.

The origins of Firewire date back to the mid-1980s. Engineers at Apple Computer devised a high-speed data transfer technology for Macintosh internal hard drives they called 'Firewire'. Realizing the potential for a technology that allowed high-speed transfer to and from hot-swappable devices, Apple presented this technology to the Institute of Electrical and Electronics Engineers (IEEE). In December of 1995, the IEEE released an official Firewire specification, dubbed IEEE 1394. This specification, sometimes referred to as 'Firewire 400', describes a hot-swappable peripheral interface with transfer speeds of 100 Mbps, 200 Mbps, and 400 Mbps. During the late 1990s, this standard found its way into Sony electronics (mainly digital camcorders) under the title 'i.LINK'. In January of 1999, Apple released what was probably the first personal computer system to include Firewire ports by default: the Blue PowerMac G3. All Macintosh models from then on have included Firewire connectivity. Firewire cables come in two variations 4-pin and 6-pin. 6-pin cables provide up to 30V of power, allowing for fully bus-powered devices. 4-pin cables do not provide power.

43

A standard 6-pin Firewire connector. (Image courtesy of Wikipedia.org) In April of 2002, the IEEE released an updated Firewire standard, dubbed IEEE 1394b. IEEE 1394b allows for theoretical maximum transfer rates of up to 3.2Gbps. Apple commercially released a subset of this new standard undthe title 'Firewire 800' in 2003. Firewire 800 devices support a maximum transfer speed of around 800Mbps. Firewire 800 adds a new cable type ?9-pin cables (also called 'beta' cables), which support the full speed of Firewire 800. Firewire 800 is backwards-compatible with Firewire 400 when 'bilingual' (9pin to 6- or 4-pin) cables are used. Firewire 400 devices will still run at Firewire 400 speeds, even when connected to a Firewire 800 host. General Peripherals: USB Wins [Note- 150MB/s or 300MB/s speeds are the burst speeds for Serial ATA drives. We call it burst speed because no traditional hard drive on the market can actually sustain a speed that high. A good modern hard drive is going to give you anywhere between 70MB/s to 85 MB/s sustained speed, and will only give you the full speed of the standard when reading from the cache of the drive]

10.4 FireWire S800T (IEEE 1394c-2006)

44

FireWire is enhanced to share gigabit Category 5e cable Category 5 cable, commonly known as Cat 5 or "Cable and Telephone", is a twisted pair cable type designed for high signal integrity. Many such cables are unshielded but some are shielded. Category 5 has been superseded by the Category 5e specification. This type of cable is often used in structured cabling for computer networks such as Ethernet, and is also used to carry many other signals such as basic voice services, token ring, and ATM (at up to 155 Mbit/s, over short distances). Category 5 The original specification for category 5 cable was defined in ANSI/TIA/EIA568-A, with clarification in TSB-95. These documents specified performance characteristics and test requirements for frequencies of up to 100 MHz. Category 5 cable includes four twisted pairs in a single cable jacket. This use of balanced lines helps preserve a high signal-to-noise ratio despite interference from both external sources and other pairs (this latter form of interference is called crosstalk). It is most commonly used for 100 Mbit/s networks, such as 100BASE-TX Ethernet, although IEEE 802.3ab defines standards for 1000BASE-T - Gigabit Ethernet over category 5 cable. Cat 5 cable typically has three twists per inch of each twisted pair of 24 gauge copper wires within the cable. Category 5e Cat 5e cable is an enhanced version of Cat 5 that adds specifications for far end crosstalk. It was formally defined in 2001 in the TIA/EIA-568-B standard, which no longer recognizes the original Cat 5 specification. Although 1000BASE-T was designed for use with Cat 5 cable, the tighter specifications associated with Cat 5e cable and connectors make it an excellent choice for use with 1000BASE-T. Despite the stricter performance specifications, Cat 5e
45

cable does not enable longer cable distances for Ethernet networks: cables are still limited to a maximum of 100 m (328 ft) in length (normal practice is to limit fixed ("horizontal") cables to 90 m to allow for up to 5 m of patch cable at each end). Cat 5e cable performance characteristics and test methods are defined in TIA/EIA-568-B.2-2001.

10.4.1 Connectors and other information The cable exists in both stranded and solid conductor forms. The stranded form is more flexible and withstands more bending without breaking and is suited for reliable connections with insulation piercing connectors, but makes unreliable connections in insulation-displacement connectors. The solid form is less expensive and makes reliable connections into insulation displacement connectors, but makes unreliable connections in insulation piercing connectors. Taking these things into account, building wiring (for example, the wiring inside the wall that connects a wall socket to a central patch panel) is solid core, while patch cables (for example, the movable cable that plugs into the wall socket on one end and a computer on the other) are stranded. Outer insulation is typically PVC or LSOH. Cable types, connector types and cabling topologies are defined by TIA/EIA568-B. Nearly always, 8P8C modular connectors, often incorrectly referred to as "RJ-45", are used for connecting category 5 cable.

10.5 Future enhancements


Besides the short term shoring up of S3200 over the beta connector already discussed, future iterations of FireWire should bring a bump in speed to 6.4 Gb/s, use of single-mode fiber, and additional connectors such as the small multimedia interface.

11.0 Alternative uses for Firewire (IEEE 1394)


11.1 Aircraft

46

IEEE 1394b is used in military aircraft, where weight savings are desired; even four pairs of wires, to permit multiple redundancy, are far lighter than hundreds of discrete wires. Developed for use as the data bus on the F-22 Raptor, it is also used on the F-35 Lightning II. NASA's Space Shuttle also uses IEEE 1394b to monitor debris (foam, ice) which may hit the vehicle during launch. This standard should not be confused with the unrelated MILSTD-1394B.

11.2Automobiles
IDB-1394 Customer Convenience Port (CCP) is the automotive version of the 1394 standard.

11.3 Networking over FireWire


FireWire can be used for 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. Mac OS X, Linux, FreeBSD, and Windows XP include support for networking over FireWire. A network can be set up between two computers using a single standard FireWire cable, or by multiple computers through use of a hub. This is similar to Ethernet networks with the major differences being transfer speed, wire length, and the fact that standard FireWire cables can be used for point-to-point communication. Note: this feature is not supported in Windows Vista. The PlayStation 2 console had an i.LINK-branded 1394 connector. This was used for networking until the release of an Ethernet adapter late in the console's lifespan, but was poorly supported by software. 11.4 IIDC:

47

IIDC (Instrumentation & Industrial Digital Camera) is the FireWire data format standard for live video, and what Apple's iSight A/V camera uses. The system was designed for machine vision systems, 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 ordinary DV (Digital Video) camcorder protocol. 11.5 DV: Digital Video (DV) is a standard protocol used by nearly all digital camcorders. Nearly all DV cameras have a FireWire interface (usually a 4pin). Labeling of the port varies by manufacturer, with Sony using either its i.LINK trademark or the letters 'DV'. Many digital video recorders have a "DV-input" FireWire connector (usually a 6-pin connector) which can be used to record video from a directly-connected DV camcorder ("computer-free"). The protocol also allows remote control (play, rewind, etc.) of connected devices. Nowadays we can see that more and more users turn to successive buses of data transfer such as USB and FireWire. The USB has become more popular because of its low price, though it looks quite pale comparing with the FireWire. In 1995 there appeared a new standard IEEE 1394 (FireWire). Its birth happened mainly due to development of digital technologies of video processing. For a long time the FireWire belonged to Apple - it turned out that computer of this trademark much better suited operations of digital video processing. FireWire appeared on IBM PC compatible computers owing to development of portable video cameras of Mini DV and Digital8 standard. Another restraining factor was absence of support for the whole range of FireWire devices in operating systems from Microsoft: nearly complete realization of the bus possibilities appeared only in Windows 98SE. The following OS (Windows ME and Windows 2000) provide wider possibilities for connecting FireWire devices. In this case we witness the same situation as with USB bus: a perspective bus but unfortunately there is too little peripherals and insufficient support by OS manufacturers.
48

The FireWire faces even worse situation: Intel ships USB controllers built in chipsets beginning from HX, and FireWire existed only as an external controller, though initially it was much more promising bus than USB. And even in case of release of USB 2.0 FireWire won't give up, and USB bus will remain always lagging. The situation on the market started changing fundamentally in this year. Look: at the beginning of this year a FireWire controller cost 100$, and now you can get it at 36-40$. Besides, the market started filling up with peripherals for this bus. But again there appear signs of upcoming USB 2.0 and again as an integrated controller. Some time ago we heard rumors that Intel would possibly include FireWire controller as a part of a chipset, thus adding only $6 to chipset cost. Well, let's dive into practical part now. The first we need is a controller. All controllers available on the market today (from different manufacturers and on various chips) are seen by Windows as controllers compatible with OHCI standard (Open Host Controller Interface). In our tests we used Lucent FW323-03 based controller.

This is a standard PCI controller equipped with three 6-pin connectors.

49

Installation is rather simple: everything you need you will find in Windows 98SE complete set. You are only to put in a CD with Windows 98SE distributive. In the Windows properties the controller looks like that:

Installation was carried out without any problems. The FireWire controller shared IRQ 10 with the USB controller.

First I doubted whether FireWire and USB could work at one interruption; but then we made sure that everything worked well without any troubles even when USB HDD and FireWire HDD worked simultaneously. Now a bit on used FireWire connection cables and connectors. High price for $10-15 cables (compare with USB $1-2) is manly connected with the fact that the frequencies and speeds used require high quality cables. In FireWire there used two types of connectors: 6- (on the left) and 4-pin ones (on the right).

50

Unlike the USB where the device type defines what connections are to be used here, in FireWire it is different. The connectors are divided on the principle whether the device requires power supply from the bus or not. If it's not, we use 4-pin connector (as a rule, it's used in video cameras). If it does, you need a 6-pin one. The majority of computer devices are intended for the latter. Now let's see what we can connect. Portable FireWire case for HDD from DataFab

51

In this device a user can choose HDD capacity himself. The complete set includes: CD with Installation manual, a booklet on quick device connection, screw set, FireWire cable 6-6 and the device itself. An attractive box for 2.5" HDD of IDE standard. In fact it is a variant of Firewire-IDE converter.

Installation of HDD inside is very simple: you need to connect it to a connector and then fix it with four screws. Here I faced some troubles. The matter is that holes for mounting HDD 2.5" of old version don't coincide with the holes in modern HDD: the distance between holes of old drives is 38 mm and of new ones it makes 76mm (see the photo). So, before buying look what type you are going to purchase.

As usual, all connectors are located on the rear panel (left to right)

52

1. FireWire port number 1. 2. Switch POWER DC/BUS. If the device lacks for feed from the FireWire bus you may turn on an external power supply unit 5 V. 3. Connector for 5 V power supply unit. FireWire port number 2. 4. Besides, you nay connect FireWire devices directly to this port. Looking inside one can see quite a powerful elemental base. Compare: in an equivalent USB-device the whole electronics is located in only one chip.

There you can see two independent controller chips and BIOS chip, and a feeding stabilizer. The latter is not a surprise: in order to feed HDD you need 5 V, and the FireWire bus uses voltage from 8 to 30 V. The elemental base: FireWire hub on the chip Ti TSB41LV03, FireWire controller from LSI Logic SYM13FW500 and BIOS for it. On connecting the device, the indicating LED lighted and a few seconds later HDD engine started on. The system didn't ask for any additional drivers. For an analog USB device you would need to install two additional drivers. In the
53

system the device appeared in three places: first, as a usual HDD with all following possibilities and settings.

Besides, this device has all elements typical for SCSI devices (Disconnect function, work via Int13). And an item "Firmware version" looks so attracting that you feel like installing a new BIOS in the device :) (considering that the BIOS is kept in Flash memory). The other items are not so interesting.

By the way, "SBP2" looks rather puzzling and didn't provide any description. SPB-2 (Serial Bus Protocol) is a protocol that describes the system of operations for communication of the devices connected by FireWire bus. The devices' drivers (HDD, CD, and DVD) can apply via this protocol to the devices connected to FireWire bus.

54

Now a little on what impressed me while working with this device. Let's compare two analog devices on USB and FireWire. USB device requires external feeding. You have to connect to PS/2port of a keyboard or use a power supply unit. FireWire devices receives power from a bus (maximum you can get 1.5 A what is enough for two 2.5" HDD). No need in external power supply blocks. USB devices requires drivers if you are going to connect it to a computer that hadn't such device before. FireWire doesn't need drivers: if a computer has a FireWire controller, it's enough for the device to start working. When working with USB devices, from time to time I faced such situations when functions P-n-P and Hot Swap didn't work from the beginning, that means that the device couldn't be recognized on connecting to the computer and refused to operate. We had to reboot the operating system in order to get the device work. When working with FireWire we noticed nothing similar. I tried the device on different computers, with different controllers and no difficulties occurred with P-n-P and Hot Swap.

Now let's turn to the most interesting - speed of the device. In the case we installed a HDD Seagate Marathon ST 9810A(810 MBytes). Of course, 810 MBytes is not a big size but it's more than enough for a disc used for data carrying. Below you can see results obtained with the program Winbench99 for three different connection methods. In the first case the HDD was connected directly to a UDMA controller on the motherboard. In the second case the HDD was connected to the FireWire DataFab. And at last, to an analog DataFab USB device.

IDE Controller:

55

Utilization - 66.3% Disc Access Time - 28.6 ms Transfer rate: begin- 3500 Kbytes/s end- 2120 Kbytes/s

FireWire Controller

56

Utilization - 9.72% Disc Access Time - 29.2 ms Transfer rate: begin- 2930 KBytes/s end- 2120 KBytes/s USB Controller

Utilization - 9.22%

57

Disc Access Time - 40.1 ms Transfer rate: begin- 972 KBytes/s end- 976 KBytes/s Taken for comparison the HDD connected via USB was limited by the USB bus bandwidth. In case of the HDD connected via FireWire it worked ideal. The read graph of FireWire is practically identical to the graph in case the disc is connected directly. On the graphs you can see a little decrease in transfer in the beginning of the disc, and to the middle the graphs become almost identical. So, we have got nearly ideal variant for connection rapid external data carriers. On finishing the description I found a new update to Windows 98SE (from Microsoft) with changes concerning only FireWire. As we found out Microsoft realized support of FireWire data storage devices in Windows98SE incompletely. For the update refer here. Driver renewal promises performance increase up to 300% (sic!). Besides, the set includes a utility for safe disabling FireWire devices.

58

I had honestly waited for some fundamental measures (like switching off an HDD engine), but the utility only thought a bit and then allowed unplugging the HDD. Now let's see what are the results of the usage of the FireWire HDD. As you can see Transfer rate became closer to the original. Of course, the HDD, used here, can't reach the highest bandwidth of the FireWire bus (about 50 MBytes/s), nevertheless, it allows demonstrating efficiency gained from connecting rapid storage devices to the FireWire bus. The USB bus unfortunately lagged far behind. Case for 5" devices with IDE interface connected to FireWire

The manufacturer is unknown. The case is intended for connection of HDD/CD/DVD/CD-RW devices.

The set includes: installation manual, sleds for HDD, bolts and power supply cable. On the rear panel you can find three 6-pin Firewire connectors, feed switch and analog stereo output for audio. The case is equipped with a power supply unit for 35 W. Unfortunately, the device lacks for additional coolers
59

(especially considering the fact that the unit heats great not mentioning such devices as CD-RW/HDD). Like in case of 2" HDD the elemental base is rather substantial. The FireWire hub is on the chip Ti TSB41LV03, the controller FireWire from Oxford Semi OXFW900 and BIOS for it.

Note two connecting strips for IDE cables. It seems like there works a fullscale IDE variant with two channels. But we failed to find out whether it's true. The installation is just a simple connection of the device to the controller :) The recommended sequence: switch on power supply for the case and then connect it to the controller FireWire. The first to be tested went IBM DTLA HDD 30 GBytes. Unfortunately, on connecting HDD the device couldn't identify it. In the utility Fdisks the connected HDD looked as having 65 GBytes (!?) with a created 8 GBytes partition. Well, I decided that the chosen disc is too big and therefore the device failed to deal with it. But it turned out to be wrong: I tried three more discs (IBM 15 GBytes, WD 9 GBytes, Quantum 4 GBytes). The same troubles. I even tried to create partitions when at standard connection to IDEcontroller and then to connect the ready disc to the FireWire, but it was useless: the device refused working with HDDs. I thought that it might be unable to work, but further it turned out that it wasn't.

60

First, I tried to work with a program Easy CD Creator 4.02. But it turned out that in order to work with FireWire CD-RW devices it needs a fresh patch. After that the program agreed to deal with a FireWire device but said no to a recorder. So, we had to replace it by Nero: this program is identical to Easy CD, but it gets update more often. Nero performed quite well: we recorded several CD-R at maximum speed (12x) in different modes. The buffer load was not lower than 94%. Record of CD-RW discs at maximum speed didn't cause any problems either. Then I decided to check two FireWire devices working simultaneously. The simple way to do it is to record CD-Rs using a HDD in a case from DataFab as a source of FireWire. Here you can see how it looked like:

61

But it resulted in nothing. The both devices buzzed. As we found out later, the CD-RW drives when recsording doesn't allow anybody else to use the FireWire bus. If you want to use it for reading CD or DVD it makes no problem: you can directly copy files to FireWire HDD. Besides, you won't face difficulties when copying files simultaneously from FireWire CD and FireWire HDD onto IDE HDD.

12.0 Security issues


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-2 (Serial Bus Protocol 2) used by 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 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 Macs 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 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 which map a virtual memory space to the FireWire "Physical Memory Space" (such as a Power Mac G5, 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

62

dcons driver provides both, using gdb as debugger. Under Linux, fires cope and fire proxy exist. Portable USB and FireWire storage devices pose security threat Emerging USB and FireWire technologies allow massive amounts of data to be transferred at lightning speeds. Devices continue to decrease in size, and the storage capacity keeps multiplying. All this makes for fast, efficient, and convenient information exchange, but there is a downside - security. Firewalls and antivirus software are no defense against the latest form of computer attack that comes via open USB and FireWire (IEEE 1394) ports. Not only can viruses, worms and Trojans get into the corporate network this way, but valuable data can leave the company in huge quantities. Unfortunately, standard access control solutions coming with Windows operating systems do not allow the assignment of permissions for USB and FireWire ports. Restricting these devices in the corporate environment will be next to impossible. Their small size allows for easy concealment anywhere on the body or in a bag. All that disgruntled employees need to do is to connect a small digital camera or MP3 Player to the USB or FireWire port of any unattended computer and they are able to download confidential data or upload harmful viruses. Since the malicious attack is launched from within the organization, firewalls and antivirus software are not alerted. You can't manage USB and FireWire using Group Policy but you can control end-user access to these devices with DeviceLock - an inexpensive software solution from DeviceLock, Inc.! DeviceLock provides system administrators control over which users can access certain devices on a local computer. You do not need to physically remove or block any hardware. All you need is to install the software and assign the appropriate privileges to each user. DeviceLock protects your network by locking unauthorized user access to USB and FireWire ports, as well as many other Plug and Play devices. What you get is the full control over which users, when and how will be able to use portable storage devices inside your corporate network.

63

DeviceLock is effective on large networks as well as individual workstations. Being extremely user friendly, it does not require administrators to pour over help manuals just to learn how to use this program effectively. Hack into a Windows PC - no password needed

Email Printer friendly version Normal font Large font

A security consultant based in New Zealand has released a tool that can unlock Windows computers in seconds without the need for a password. Adam Boileau first demonstrated the hack, which affects Windows XP computers but has not yet been tested with Windows Vista, at a security conference in Sydney in 2006, but Microsoft has yet to develop a fix. Interviewed in IT Radios Risky Business podcast, Boileau said the tool, released to the public today, could "unlock locked Windows machines or login without a password ... merely by plugging in your Firewire cable and running a command". Boileau, a consultant with Immunity Inc., said he did not release the tool publicly in 2006 because "Microsoft was a little cagey about exactly whether Firewire memory access was a real security issue or not and we didn't want to cause any real trouble". But now that a couple of years have passed and the issue has not resolved, Boileau decided to release the tool on his website. To use the tool, hackers must connect a Linux-based computer to a Firewire port on the target machine. The machine is then tricked into allowing the attacking computer to have read and write access to its memory. With full access to the memory, the tool can then modify Windows' password protection code, which is stored there, and render it ineffective.

64

Older desktop computers do not come equipped with Firewire ports, which are needed for the hack to work, but many recent models do. Most laptops made in the last few years include Firewire ports. Paul Ducklin, head of technology for security firm Sophos, said the security hole found by Boileau was not a vulnerability or bug in the traditional sense, because the ability to use the Firewire port to access a computer's memory was actually a feature of Firewire. "If you have a Firewire port, disable it when you aren't using it," Ducklin said. "That way, if someone does plug into your port unexpectedly, your side of the Firewire link is dead, so they can't interact with your PC, legitimately or otherwise." Ducklin also advised people to be careful when giving others physical access to their computer. "I know people who'd think three times about asking passing strangers to take their photo in front of the Opera House in case they did a runner with the camera, yet who are much more casual with their laptop PC, as long as it's software-locked, even though the hardware alone is worth five times as much as the camera," he said.

Security Company Says Windows Firewire Hack Actually a Feature - Sophos says Microsoft is off the hook

Enlarge picture A tool developed by Adam Boileau, a New Zealand security consultant with Immunity, can hack into a Windows computer in a matter of seconds via a connection made through a Firewire port. The hack dates back to 2006, but just recently Boileau has made the tool available to the public. However, what
65

was initially interpreted as the exploit of security vulnerabilities in Windows and Mac OS X has nothing to do with the operating systems, and is essentially a feature of Firewire, revealed a member of security company Sophos. "This isnt really vulnerability or a bug. For better or for worse, its a feature of the Firewire Interface. Firewire supports what is called DMA (Direct Memory Access). This allows the Firewire hardware controller on your motherboard to read and write system memory directly, for flexibility and performance. It makes the Firewire interface great for high-bandwidth data capture, such as digital video, and it is also handy for remote system debugging and system forensics," revealed Paul Ducklin Sophos Head of Technology, Asia Pacific. The fact of the matter is that since this is neither security vulnerability nor a bug, no operating system developer, including Microsoft, will be able to safeguard its users with a patch. Direct Memory Access essentially allows a hacker to bypass the operating system completely through a Firewire connection. But the good news in this context is that such a scenario would automatically involve physical access to a computer. This feature is not "exploitable" remotely. "Microsoft has had a solution for years: if you have a Firewire port, disable the Firewire driver when you arent using it. That way, if someone does plug into your port unexpectedly, they cant use it to interact with your PC, legitimately or otherwise. And look after your PC when its unattended. A software lock on the keyboard and mouse provides some additional safety against fiddling, but its not a proper security solution," Ducklin added.

Conclusion
USB and Firewire both have unique strengths and weaknesses. USB's ubiquity makes it ideal for devices that require high compatibility with current hardware. Firewire's generous bus power and internal architecture lends well to external storage and digital video applications. "FireWire." Like so many innovative Apple technologies, even this product code name exuded a cachet signifying The Next Big Thing. But something
66

happened a few years ago that suppressed the widespread support for FireWire in favor of the much lesser Universal Serial Bus (USB). FireWire has since found its niche in digital video cameras, but with the recent introduction of the new high-speed USB 2.0, many are now wondering aloud if FireWire will survive. FireWire, more properly known as IEEE 1394 for the specification that governs its implementation, is a wonderful connectivity standard for highspeed peripherals and media devices. Today it is the exclusive standard for connecting digital video cameras to PC's and other video consumer devices, and is branching out to printers, scanners, and hard drives. What originally drew attention to FireWire is its ability to simultaneously connect scores of devices with blazing speed: 100-200-400Mb/s throughput, connecting up to 63 devices on one controller with cable lengths up to 4.5 meters (needs 'repeaters' beyond this cable length), supplying power to all devices (up to 1.25A/12V max.), and peer-to-peer device communication without external control from a PC. In short, FireWire was, and still is, a hotrod technology. By comparison, USB was your father's Oldsmobile - slow and pokey 1.5Mb/s or 12Mb/s connection, good enough for mice, keyboards and printers, but barely adequate for anything else. Even those who had a ringside seat at the introduction of both technologies five years ago are a bit mystified why USB got the red-carpet treatment from the PC industry, yet FireWire was shown the door. IEEE 1394 was firmly included in the "PC98" specification, the agreed-upon plan promulgated by Intel, Microsoft, and the major PC OEMs that defines exactly what technologies are to be included in major PC hardware and software releases. The entire industry and marketplace understood that a FireWire implementation was to be a standard feature on consumer and business PCs, and readied itself for the massive changeover that would occur when FireWire became the new standard for connecting, well, everything. This expectation was not without some basis in fact. FireWire was hyped as the high performance cure for everything from dropped frames to lost packets. Intel and Microsoft developers claimed that the IEEE 1394 spec would soon replace serial ports, parallel ports, mouse ports, keyboard connectors, replace IDE and SCSI in drive subsystems, make the PCI bus obsolete, would replace
67

Ethernet networking and TV cabling - even become part of the standard wiring built into new homes. Many no-nonsense companies joined in, investing heavily in a FireWire future in the expectation that digital video cameras and desktop video editing would become as popular as desktop publishing. So what happened?

68

You might also like