We explore the high-speed version of a much-overlooked interface
In this feature we'll take a look at Firewire and examine how the latest 1394b version performs.
Firewire ports have become a standard fitting on most PCs, and while its higher licensing and hardware costs have seen the more affordable USB interface employed by most peripherals, Firewire has carved a niche for itself in more specialist areas.
Firewire, also known as iLink, or by its official name IEEE-1394, has become the dominant standard for connecting DV camcorders to computers and transferring video between them. It’s also employed by many external hard disks, although normally in addition to a USB port.
In terms of raw data rates, the original Firewire specification of 400Mbits/sec may be slightly beaten by USB2’s 480Mbits/sec, but it features several key benefits: Firewire can operate without a host, allowing devices such as DV camcorders to be connected directly to each other for data transfer without a PC or Mac in sight.
The full-size, six-pin plugs can also deliver up to 45 watts of power to devices, allowing much hungrier peripherals to be powered by the port alone, although the mini four-pin ports employed by most camcorders omit the pins that supply the power.
Perhaps the greatest benefit Firewire has over USB is the ability to operate in an isochronous manner. This allows the interface to guarantee bandwidth to the connection, preventing dropped frames when working with real-time applications.
While Firewire has become an invaluable resource for anyone editing video or connecting external hard disks, most ports employ the original 400Mbits/sec specification. As long ago as May 2001, though, the 1394 Trade Association announced its successor, 1394b, and renamed the original spec to 1394a to differentiate them.
Bandwidth boost
1394b doubles the bandwidth to 800Mbits/sec initially, with the potential for
speeds up to 3.2Gbit/sec in the future. It also greatly improves on 1394a’s
maximum cable length of 4.5m by optionally exploiting Cat-5 or fibre cabling to
support lengths up to 100m.
The first peripherals to employ 1394b, or Firewire 800, arrived in 2003, but the interface is still relatively uncommon on PCs, with most motherboards still only offering 1394a. So while owners of the latest Mac or high-end PC may have Firewire 800 connectivity as standard, most of us will need to fit an optional expansion card.
Several manufacturers produce Firewire 800 expansion cards, with some offering a combination of Firewire 800 alongside original Firewire or even USB2 ports. These cards are also normally available in PCI, PCI Express or Express Card versions (the latter for laptops), with most costing between £40 and £55 each at the time of writing.
Some PCI cards may not support the full speed of Firewire 800, though, especially when fitted in a 32-bit slot, so always check the manufacturer’s specifications as some may demand a 64-bit PCI slot. To play it safe, we advise sticking to PCI Express.
Firewire 800 cards will also normally be fitted with an internal power connector in order to deliver power to external devices through the actual Firewire port. Connecting this plug to your PC’s power supply is optional, but if you want to support devices that are port-powered, then you’ll need to wire it up.
In terms of drivers, you may already have everything you need. The most common Firewire 800 Texas Instruments chipsets can use the existing OHCI Compliant IEEE 1394 Host Controller driver built into Windows XP and Vista, so in most cases there’ll be no need to install additional drivers.
For our tests, we used an ST Lab F-300 PCI Express card, which offered two nine-pin Firewire 800 ports and one original six-pin 1394a port. It’s a single-lane PCI Express card which, on most motherboards, means it’ll be fitted right next to your graphics card. Luckily, as a low-profile card that’s also only 90mm long, it allows plenty of breathing space around the hefty heatsinks of most modern graphics cards.
This card installed under our XP and Vista systems without a driver, identifying itself as a Texas Instruments OHCI Compliant IEEE 1394 Host Controller in Device Manager. It worked fine with older 1394a devices such as camcorders, although our Vista installation gave erratic results with Firewire 800 devices. As such, our tests were performed under XP. That said, XP isn’t without Firewire issues.
Registry issues
Owners of Windows XP should beware of an issue affecting Firewire 800
performance following the installation of Service Pack 2. As detailed in
Microsoft’s
Knowledge Base article 885222, the speed of a Firewire 800 port may be
switched to just 100Mbits/sec after installing Service Pack 2.
To fix this you’ll need to download a hotfix from the link above, then make a small adjustment to the Registry. So, after installing the hotfix, run Regedit and expand HKEY_ LOCAL_MACHINE, followed by SYSTEM, CurrentControlSet, Enum, and finally PCI.
You will need to identify which entry refers to your 1394 controller, so open the properties of your 1394 controller from Device Manager and click on the Details tab. There you’ll find a string of characters referring to the Device Instance ID.
The characters up to the back-slash should match up with one of the entries in the Registry editor. Double-click these and it should expand to show a new entry labelled with the rest of the characters after the back-slash of the Device ID.
You’ve now found the section referring to your 1394 controller, so look for a subkey called ‘Sidspeed’ inside the Device Parameters. If this doesn’t appear in the right pane after clicking Device Parameters, you’ll need to create it as a new DWORD value from the File menu.
Once you’ve located or created SidSpeed, right-click it, select modify, and in the value data field enter the number 3 to tell Windows to treat it as S400/S800 speed. The numbers 0, 1 and 2 will set the controller to operate at 100, 200 and 300Mbits/sec respectively; the number 2 is normally the default. Microsoft claims that if you enter a number bigger than 3, it will operate at the S100 speed of 100Mbits/sec.
To put Firewire 800 to the test we fitted the ST Lab F-300 card into a Windows XP system, performed the Registry modification above, then connected Lexar’s latest UDMA Firewire 800 Compact Flash card reader. We then timed how long it took to read a 924MB folder containing 168 digital camera JPEGs and RAW files from two different Compact Flash cards.
We then formatted each card and timed how long it took to write the data back onto them. We then repeated the entire test using a USB2 card reader and, to avoid caching, the system was restarted between each timed test. The two cards on test were an older Lexar Professional 1GB and a new Lexar UDMA 4GB model, rated at 80x and 300x, respectively.
Using the Firewire 800 card reader, the folder was read from the Professional and UDMA cards in 86 and 34 seconds, respectively. Writing the folders back to each reformatted card took 103 and 51 seconds, respectively. Switching to the USB2 card reader saw the folders read in 111 and 61 seconds on each card, respectively, while the write process took 101 and 60 seconds, respectively.
Clearly, the fastest result came from the UDMA card when fitted in the Firewire 800 reader the data was read twice as fast as on the USB2 reader. The fastest example, though, still only transferred 924MB in 34 seconds, which corresponds to 27MB or 217Mbits/sec, which is far below that of Firewire 800’s maximum bandwidth.
Indeed, it should be within the capabilities of the original 1394a. Of course, there are overheads with all interfaces and Flash cards aren’t the fastest media around, so we’ll perform more tests in future with Firewire 800 hard disks.
Meanwhile, Lexar’s Firewire 800 reader is the fastest device we’ve tested for getting data to and from Compact Flash memory cards, especially the new UDMA models. We recommend it for anyone who demands the quickest performance.
Firewire 800 connections
Firewire 800, or as it’s technically known, IEEE-1394b, may be based on the
original 1394a standard but it employs a new type of connector.
The original 1394a offered full-size six-pin or mini four-pin connectors; the former additionally able to deliver power to a device. The four-pin mini connector is the one most commonly found on DV camcorders.
Firewire 800 employs a new nine-pin interface with a square-shaped plug. It’s backwards-compatible with the original 1394a standard, but you’ll need to use a cable with a nine-pin plug at one end and either the older six-pin or four-pin plugs at the other.
As you’d expect, the Firewire 800 interface drops to a maximum of 400Mbits/sec when connected to an older 1394a device or older 1394a port. If you want to enjoy the full 800Mbits/sec speed of Firewire 800, you’ll need to connect a Firewire 800 device to a Firewire 800 interface, using the nine-pin cable.
You’ll also need support from your operating system, and in the case of Windows XP and Vista, further tweaks may be required.