Release Notes: Kernel Drivers

The latest stable releases of Linux IEEE 1394 drivers are those in the latest released Linux 2.6 kernels.

The drivers in Linux 2.4 are considered stable too but are not actively updated anymore. Therefore they lack some features and compatibility updates which went into recent Linux 2.6 releases.

The following release notes only summarize more notable changes. A complete list of IEEE 1394 related changes is available via kernel.org git: Changes in drivers/ieee1394, in drivers/firewire.

Linux 2.6.25

Known issues: The new firewire drivers are still unable to capture DV on VIA VT630x OHCI 1.0 chips. There are also a few other device incompatibilities with the new drivers, some of which are expected to become fixed in Linux 2.6.26. Support for isochronous resource management is still missing in the firewire-core character device API. IP over 1394 implementation equivalent to eth1394 is still not available for the new stack.

Linux 2.6.24

Known issues: The new firewire stack is still considered experimental. There are several bugs in isochronous reception which especially affect libdc1394. These should be fixed in kernel 2.6.25-rc1. There are also lots of issues with libraw1394's interface to the new drivers and regarding compatibility with existing applications. Also, firewire-sbp2 does not yet handle bus resets well enough. And work on an IP over 1394 implementation equivalent to eth1394 has not yet started.

Linux 2.6.24.1 fixes an "INFO: possible recursive locking detected" warning which appeared in the kernel log e.g. when using dvgrab or firecontrol. The issue was harmless and not caused by the firewire drivers.

Linux 2.6.23

Linux 2.6.22

New alternative driver stack in Linux 2.6.22 (experimental, incomplete):

See JujuMigration and http://marc.info/?l=linux1394-user&m=118401466928264 for additional notes on firewire-core, firewire-ohci, and firewire-sbp2. More documentation on the new drivers will be gradually added to this Wiki.

Known issue: Sbp2 crashes on G5 Powermacs. Kernels older than 2.6.22 do not contain the bug. Fixed in Linux 2.6.22.2.

Linux 2.6.21

Linux 2.6.20

Developer information: Linux 2.6.20 is the last release within which rather stable ieee1394 APIs for kernel drivers are maintained. Starting with Linux 2.6.21, developers of out-of-tree kernel drivers for FireWire hardware may be faced with more or less drastic changes of the kernel-internal APIs. (This does not affect userspace drivers which are built on top of libraw1394, libdc1394 and so on.)

Known issue: The ieee1394 option "disable_nodemgr=1" will lead to nonfunctional FireWire subsystem or even kernel lockup. This regression has been fixed in 2.6.20.2. Kernels before 2.6.20 do not contain the bug.

Linux 2.6.19

Known issue: Some DVD-ROM/RW were mistaken for CD-ROM. Fixed in 2.6.19.3 and above.

Linux 2.6.18

Among the rest of the changes are minor bug fixes, small changes to in-kernel API usage, and a small ieee1394 low-level API extension (for driver developers: two new members in struct hpsb_host which affect address range mapping).

Known issue: If the kernel is configured for "RW-sem debugging", a "recursive locking" warning in knodemgrd may appear in the kernel log. This is an old bug, but probably without practical impact. Fixed in 2.6.19.

Linux 2.6.17

Linux 2.6.16

The bulk of changes to the IEEE 1394 subsystem since Linux 2.6.15 constitutes of behind-the-scenes cleanups, but there were also several bug fixes.

Known issue: Some storage devices based on Prolific PL-3507 were not accessible anymore. Fixed in 2.6.16.20 and 2.6.17.

Linux 2.6.15

Linux 2.6.14

Linux 2.6.13.4

Linux 2.6.12

Linux Kernel 2.6.12 contains a major upgrade for IEEE 1394. This is arguably the first stable version of Linux 1394 for 2.6 (your mileage may vary). Not only does it contain many bug fixes resolving all known kernel warnings, it also fixes multi-LUN support for sbp2 and contains new sysfs entries to support udev rules for the generic setup of /dev nodes. See our new faq item for example udev rules.

Linux1394: ReleaseNotesKernel (last edited 2008-05-02 18:31:07 by StefanRichter)