DRV231 - Windows Drivers for IEEE 1394 Devices

This seminar covers function drivers for devices on the IEEE 1394 bus.

Level: Intermediate

Developers who write or maintain drivers for devices attached to the IEEE1394 bus; hardware engineers responsible for IEEE1394 devices or host interfaces.


This course begins with the theory of operation of the IEEE 1394 (also called Firewire and iLink) bus, providing the student with a solid understanding of how the bus works. This establishes the background necessary to write an efficient and fast driver. Because IEEE 1394 is a protocol-based bus, a Windows component called a bus driver is responsible for arbitrating access to the bus, as well as sending and receiving packets; the client driver builds request packets and passes them to the bus driver for processing.

  • IEEE 1394 design
  • IEEE 1394 data transfer types (Asynchronous, isochronous)
  • Bus drivers
  • Communicating with protocol-based bus drivers
  • Send and receiving requests from the bus driver

DRV201, Core WDM Device Drivers, or equivalent knowledge and experience writing WDM device drivers.

Operating systems supported: Windows 2000 through Windows 10/Windows Server 2012 R2
Durations and formats: 2 days with labs
1 day lecture only

We strongly recommend the hands-on labs version of this seminar, as this allows the student to immediately apply and thereby reinforce what has been learned. The lab assignments are broken into a series of exercises interspersed with the lecture. Each lab exercise starts with a complete solution to the previous exercise. At the conclusion of the seminar, each student will of course receive fully commented source code for the solutions to all of the lab exercises.