11.4 IEEE 1394/FireWire Disks

11.4 IEEE 1394/FireWire Disks

IEEE 1394 (also known as FireWire) drivers are relatively new to Linux. The Linux IEEE 1394 driver system is similar to that of the USB system, and the Linux kernel support for IEEE 1394 includes the base module (ieee1394) and host interface drivers. One common interface is OHCI-1394 (which has a module name of ohci1394), and the TI PCILynx interface also has a driver (pcilynx).

Kernel messages like the following indicate that the host interface driver detected the hardware:

ohci1394_0: OHCI-1394 1.1 (PCI): IRQ=[26] MMIO=[9006000-90067ff] Max Packet=[2048]
ieee1394: Host added: ID:BUS[0-00:1023] GUID[0001080020005cb4]

IEEE 1394 hard disks use SBP-2 (Serial Bus Protocol). As in the USB mass storage code, the Linux sbp2 driver masquerades as a SCSI host controller. When you plug in a drive, look for these kernel messages:

scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: sbp2: Node 0-02:1023: Max speed [S400] - Max payload [2048]
ieee1394: Node added: ID:BUS[0-02:1023] GUID[0090a95000001796]

If your system does not have hotplug support (see Section 11.5), you may need to probe the SCSI bus with the rescan-scsi-bus.sh script described earlier in order to get the kernel to recognize the IEEE 1394 drive. Upon recognizing the drive, the kernel emits the usual SCSI drive messages:

  Vendor: WDC       Model: FireWire/USB2.0 Rev: 4.17
  Type:   Direct-Access ANSI SCSI revision: 06
blk: queue fffffc001954b928, no I/O memory limit
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
 sda: sda1 sda2


The Apple iPod is an SBP-2 device. To access the disk and its filesystem, you need appropriate filesystem support and possibly also the appropriate partition table support in your kernel. The PC version of the iPod uses the FAT32 filesystem, so you can use the vfat filesystem. The Macintosh version uses a completely different filesystem type, so you need the Macintosh partition map support in your kernel, as well as Macintosh filesystem (HFS) support as a module or compiled directly into the kernel.