The Wayback Machine - https://web.archive.org/web/20111108214828/http://msdn.microsoft.com:80/en-us/windows/hardware/gg454506
Skip to main content

IEEE 1394 and the Windows Platform

The optimal PC interconnect bus for consumer electronic devices

Updated: December 14, 2001


On This Page

What Is IEEE 1394? What Is IEEE 1394?
Why IEEE 1394 Is Important Why IEEE 1394 Is Important
How IEEE 1394 Meets User Needs How IEEE 1394 Meets User Needs
Current Issues for PC Connectivity Current Issues for PC Connectivity
IEEE 1394 Technology IEEE 1394 Technology
Windows XP and IEEE 1394 Windows XP and IEEE 1394
More Windows Support More Windows Support


What Is IEEE 1394?

IEEE 1394 serial bus is an easy, cost-effective, and high-performance means of interconnecting high-speed storage, imaging, and many new types of audio/video (A/V) devices easily, with no need to install separate drivers. On a PC running a current version of the Microsoft Windows operating system, the IEEE 1394 bus also provides an easy network interface, and is capable of supporting IP transports as well as isochronous media streaming (AV/C).

IEEE 1394 is already in widespread use in a variety of consumer electronics devices. Soon, most consumer PCs and many commercial PCs will include the IEEE 1394 bus. With IEEE 1394 support in PCs, the PC industry can ensure that PCs interoperate with consumer electronics and, more importantly, provide advanced capabilities through software that leverages PC storage and networking interface.

Windows Millennium Edition (Windows Me) and Windows 2000 delivered rich support for IEEE 1394, and Windows XP provides further enhancements with easy networking, printing, storage, and more. Microsoft believes that IEEE 1394 will enhance the usability of PCs and launch a new round of PC growth because of the new for capabilities PCs, including new participation in the consumer A/V cluster. To support this growth, Microsoft is providing the tools and infrastructure in Windows XP to leverage the IEEE 1394 interconnect and deliver its full value to users.

Why IEEE 1394 Is Important

IEEE 1394 defines a single interconnection bus that serves many purposes and user scenarios. In addition to its adoption by the consumer electronics industry, PC vendorsincluding Compaq, Dell, IBM, Fujitsu, Toshiba, Sony, NEC, and Gatewayare now shipping Windows-based PCs with IEEE 1394 buses.

  • The IEEE 1394 bus complements the Universal Serial Bus (USB) and is particularly optimized for connecting digital media devices and high-speed storage devices to a PC.

  • IEEE 1394 is a peer-to-peer bus. IEEE 1394 devices have more built-in intelligence than USB devices, and they run independently of the processor, resulting in better performance.

  • The 100-Mbps, 200-Mbps, and 400-Mbps transfer rates currently specified in the IEEE 1394a standard and the proposed enhancements in IEEE 1394b are well suited to meeting the throughput requirements of multiple streaming input/output devices connected to a single PC.

  • The licensing fee for use of patented IEEE 1394 technology has been established at US $0.25 per system.

With connectivity for storage, scanners, printers, and other types of consumer A/V devices, IEEE 1394 gives users all the benefits of a great legacy-free connectora true Plug and Play experience and hassle-free PC connectivity.

How IEEE 1394 Meets User Needs

Many consumers today own an assortment of electronic devices such as a PC, CD player, VCR, digital camera, and DVD player. These consumers are also likely to subscribe to Internet and cable TV services for their homes.

As consumers continue to buy and use more digital devices, they will want to integrate their PCs and other devices for flexible, easy operation and to take advantage of the ability under Windows to create, store, edit, and distribute that digital content.

To meet these user needs, a Windows-based, IEEE 1394-capable PC enables capabilities such as:

  • Interconnections among multiple devices

  • Bridging, routing, and proxy services for Internet access

  • Management of connections among devices and content sources such as the Internet and cable TV

  • Creation, acquisition, storage, management, and output of digital content

  • Home networking and integrated, digital home entertainment

  • Guaranteed constant bandwidth for audio and video applications that require constant real-time transfer rates (called isochronous data transfers)

Current Issues for PC Connectivity

PCs are becoming more appliance-like while consumer electronics devices are becoming more intelligent and computer-like. Consumer electronics devices will increasingly be used as PC peripherals or in conjunction with PCs for certain tasks. This convergence cannot be easily or fully supported by the USB 1.1 capabilities available in PCs today:

  • USB creates a burden on the processorthe more devices attached to the bus, the greater the processor demand.

  • It is easy for devices to overtax the system, resulting in A/V playback glitches, poor response from storage devices, and overall slowing of PC system performance.

As a complement to IEEE 1394, USB is the better interconnect for Human Interface Devices (HID) and devices such as modems and consumer printers and scanners. For these types of I/O devices, the USB device-class standards and the USB lower-speed data transfer together deliver a reliable user experience.

IEEE 1394 Technology

The IEEE 1394 bus addresses interconnection of both PC peripherals and consumer electronics with these features:

  • Supports up to 63 peer-to-peer devices

  • Operates at speeds of 100 Mbps to 3200 Mbps, depending on cable type

  • Connects over short and long distances

  • Supports both asynchronous and isochronous data transfer

IEEE 1394aIEEE 1394b
Peer-to-peer bus topology
100 to 400 Mbps data transfer
63 nodes, 16 hops
4.5 meters per hop
Isochronous and asynchronous data transfer
A/V, storage, printing, scanning, kernel debugging
Chipsets are less than $5 each in volume
Higher speeds and longer distances
Completely compatible with IEEE 1394a
800 Mbps to 3200 Mbps data transfer over 4.5 meters copper
100 Mbps over 100 meters Category 5 UTP wiring
400 Mbps over 100 meters plastic optical fiber
3200 Mbps over 100 meters glass optical fiber
Easier to integrate into chipsets than IEEE 1394a


Digital Media and IEEE 1394

An IEEE 1394 bus is the digital interconnect of choice for consumer electronics devices. Manufacturers worldwide are delivering a wide array of new IEEE 1394 devices.

IEEE 1394-enabled devices
Consumer electronicsPCs and peripherals
Digital cameras, camcorders
Digital TVs
Digital VCRs
Digital satellite receivers
DVD players
Musical instruments
Set-top boxes
Speakers
TV tuners
Video cameras
Other audio equipment
Cable modems
CD/DVD-ROM and CD-RW
Hard disks
Memory-only disks
Network adapters
Personal computers
Printers
Scanners
Telephony adapters


Storage Devices and IEEE 1394

A Windows XP-based PC that includes IEEE 1394 provides the best all-around support for new high-speed storage devices, internal or external.

  • Ability to read and write from a variety of IEEE 1394-compliant storage devices

  • Boot from any internal or external El Torito-compatible IEEE 1394 hard drive, without requiring the presence of a SCSI or ATA/ATAPI hard drive

  • Boot from BIOS or bootable CD or DVD media

For system manufacturers, IEEE 1394 also supports a faster preinstallation method for transferring operating system images to machines on the manufacturing line.

For Windows 2000 and Windows XP, all ANSI Serial Bus Protocol (SBP-2) IEEE 1394 devices that passed WHQL testing and use SCSI-2, MMC-2, or RBC command sets are supported as boot devices. This means that PCs can boot exclusively from internal or external IEEE 1394 hard drives without requiring the presence of a SCSI or IDE hard drive. An IEEE 1394-capable system must also have BIOS boot support in order to make the IEEE 1394 device available through existing real-mode INT 13 calls during the initial operating system load process.

With IEEE 1394 boot support in Windows 2000 and Windows XP, bootable CD or DVD media such as the Windows product disk can be used on systems that rely on external IEEE 1394 CD or DVD drives.

Microsoft provides an update package that addresses issues for IEEE 1394 storage devices under Windows 98 Second Edition, including issues related to the surprise removal of peripheral devices. The update package installs a safe device-removal utility that allows users to stop a Plug and Play storage device safely, before physically unplugging the device. The update package is available from the Microsoft Update web site.

This driver update provides the same robust capabilities and performance under Windows 98 Second Edition as provided in the Windows 2000 support for IEEE 1394 storage. In this update, the Ntmap component, which converts IOS-style requests (IOPs) into WDM-style requests (IRPs), was significantly simplified. The drivers in this update package have shown large performance improvements over the implementation of IEEE 1394 storage drivers provided with Windows 98 Second Edition.

Scanners and Printers and IEEE 1394

Windows-based PCs with IEEE 1394 support high-speed communications with printers, scanners, and multifunction peripherals.

Device support in Windows is based on the SBP-2 specification, which defines a protocol for transporting commands, data, and status between devices connected by the IEEE 1394 serial bus. For example, an IEEE 1394 scanner that uses SBP-2 to transport SCSI commands does not require additional drivers for Windows XP, Windows 2000, Windows Me, or Windows 98 Second Edition. The scanner uses the same drivers and INF entries as a SCSI scanner, with two exceptions: The Plug and Play ID in the INF is different, and Scsimap.sys is not needed.

For an IEEE 1394/SBP-2 device, the PnPID is a combination of the vendor name, device name, and command set ID. The easiest way to determine the PnPID is to plug the device into an IEEE 1394-capable system and then look in the registry under the following key:
HKEY_LOCAL_MACHINE\Enum\1394

The Plug and Play ID appears as the subkey name for the scanner under the Enum\1394 key. Use that value in the INF file instead of the SCSI Plug and Play ID. As an example, an entry in the INF might appear as follows:

%StringName% = InstallSection,SBP2\Vendor&Model&CmdSetId104d8

In this example, the Plug and Play ID from the registry should be used to replace Vendor&Model&CmdSetId104d8.

For an IEEE 1394 SBP-2 scanner, only Scsiscan.sys must be loaded. Scsimap.sys is not needed, and it should be removed from the [AddReg] and [CopyFiles] sections in the INF for Windows 98 Second Edition and Windows Me. This file has never been required for Windows 2000 or Windows XP.

The version of Scsiscan.sys provided with Windows 98 Second Edition does not send down the open and close IRPs correctly, which causes a problem with IEEE 1394-connected scanners. To work around the problem in your development processes, use the version of Scsiscan.sys that ships with Windows 2000 or Windows XP.

If you need to provide the updated version of Scsiscan.sys to customers, this can be done under the license provision of the Windows DDK. If you choose to redistribute the Scsiscan.sys file, the file must be copied only as part of a [CopyFiles] INF section so that proper version checking occurs.

Debugging and IEEE 1394

The Microsoft-provided debugger solution can use IEEE 1394 OHCI controllers to interface with the debugger. Direct memory access from the IEEE 1394 bus to the target physical memory makes this an ideal solution for Windows Me, Windows XP, and future versions of Windows.

Systems equipped with one or more standard IHVI-compliant IEEE 1394 controllers can use the standard IEEE 1394 ports for connecting a host machine with one or more targets (up to 62 on a single bus). The host controller can be on the motherboard or attached by way of PCI (including CardBus). Standard IEEE 1394 cables can be used for this purpose. For information, see Debug Port Specification.

Windows XP and IEEE 1394

Windows XP supports a number of new capabilities for an IEEE 1394 bus:

  • Enhanced support for a variety of audio and video devices, including stereos and speakers, as well as SP/DIF (Sony and Philips Digital Interconnect Format) audio and MPEG-2 streams from digital video systems or satellite transmission

  • Virtual device creation and driver support for connecting to legacy devices that are not compliant with IEEE 1394

  • New IEC 61883 and AV/C protocol layers for isochronous devices (any audio and video streaming devices that provide "guaranteed delivery" functionality)

  • Resource management that provides guaranteed bandwidth to isochronous applications such as digital video

  • Connection management

  • A safe removal applet, to help users avoid problems related to surprise removal of storage devices

Digital Media. Windows XP delivers IEEE 1394 support for digital video cameras. In addition, Windows XP supports MPEG-2 across IEEE 1394 on compatible DVD, digital television (DTV), digital satellite system, digital VHS, and set-top boxes. This support allows a Windows XP-based PC to interoperate with these devices and also send and receive MPEG-2 streams.

Windows XP also supports a new enhancement to audio capabilities: the PC can send digital audio streams to IEEE 1394 audio systems and speakers. Connecting a home stereo, home theater, and other equipment to a PC running Windows XP means the A/V cluster can be used for Internet access.

IEC-61883 is the standard communications and control interface used by IEEE 1394 audio/video devices. Windows XP supports the IEC-61883 protocol through a new kernel-mode driver, 61883.sys. This driver handles function control protocol (FCP), common isochronous packet (CIP) format, and connection management procedure (CMP) requests sent by an IEC-61883 client, such as an AV/C subunit driver, as defined in the IEC 61883-1 specification.

Manufacturers of consumer electronic audio/video devices can take advantage of IEC-61883 support in Windows XP by writing IEC-61883 client drivers. For details about writing related drivers, see "IEC-61883 Client Drivers" in the Windows DDK.

Virtual Devices. Windows XP gives developers an infrastructure for creating virtual devices. This infrastructure enables the developer to write a virtual device driver that exposes a non-IEEE 1394 device, such as a parallel port printer, so that it appears as an IEEE 1394-capable device on the network. Developers can also use this infrastructure to emulate devices during design and prototyping phases.

More Windows Support

In addition to the outstanding support in Windows XP, several Microsoft operating systems provide substantial support for IEEE 1394. All the versions of Windows listed here support the following:

  • OHCI 1.0 host controllers for IEEE 1394 chipsets

  • IEEE 1394-1995, IEEE 1394a (100400 Mbps)

  • IEEE 1394 devices such as digital video camcorders

  • SBP-2 support for hard disk and CD/DVD storage devices

Windows 2000 support:

  • Basic standards and devices listed earlier

  • Additional SBP-2 support for printers and scanners

  • Safe removal applet for storage devices

Windows Me support:

  • Basic standards and devices listed earlier

  • Additional SBP-2 support for scanners

  • Virtual device support (dynamic Configuration ROM)

  • Safe removal applet for storage devices

Windows 98 Second Edition support: Users will want to upgrade to later versions of Windows that offer greater support for IEEE 1394. However, Windows 98 Second Edition supports the basic standards and devices listed earlier.

Windows CE support: Third-party vendors offer IEEE 1394 products for earlier versions of Windows CE.

Terms

AV/C
Audio/Video Control protocol defined by the 1394 Trade Association

IETF RFCs
Request for Comments, standards documents from the Internet Engineering Task Force. IETF standards include Transport Control Protocol/Internet Protocol (TCPI/IP) among many others.

OHCI
Open Host Controller Interfacerefers to 1394 Open Host Controller Interface (Open HCI) Specification, the standard for the link layer protocol for IEEE 1394.

Rate:  
Click a star and provide feedback