Release Notes

From IEEE 1394 FireWire Wiki
(Difference between revisions)
Jump to: navigation, search
(Linux 2.6.30)
m (typo)
Line 21: Line 21:
 
Most of the changes relate to extensions to the <linux/firewire-cdev.h> API which are required for advanced usage by FireWire-enabled userspace applications, especially IIDC video capture.
 
Most of the changes relate to extensions to the <linux/firewire-cdev.h> API which are required for advanced usage by FireWire-enabled userspace applications, especially IIDC video capture.
  
With these updates, the newer firewire drivers are now superior to the older ieee1394 drivers in the fields of industrial video acquisition/ machine vision/ microscopy etc. &mdash; jut like the new drivers have already been superior and preferred for mass storage (SBP-2) in the last two or three kernel releases.
+
With these updates, the newer firewire drivers are now superior to the older ieee1394 drivers in the fields of industrial video acquisition/ machine vision/ microscopy etc. &mdash; just like the new drivers have already been superior and preferred for mass storage (SBP-2) in the last two or three kernel releases.
  
 
(Regarding consumer video applications, the new drivers should now be functionally on par with &mdash; yet more secure than &mdash; the old drivers.  Alas the new drivers cannot be used with studio audio equipment yet.  Furthermore, IP networking is not yet possible with the new drivers.)
 
(Regarding consumer video applications, the new drivers should now be functionally on par with &mdash; yet more secure than &mdash; the old drivers.  Alas the new drivers cannot be used with studio audio equipment yet.  Furthermore, IP networking is not yet possible with the new drivers.)

Revision as of 15:46, 10 June 2009

Release Notes: Kernel Drivers

See Release Notes - Libraries for changelogs of some IEEE 1394 userspace libraries.

Release Status

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.


Contents


Linux 2.6.30

9 June 2009

Most of the changes relate to extensions to the <linux/firewire-cdev.h> API which are required for advanced usage by FireWire-enabled userspace applications, especially IIDC video capture.

With these updates, the newer firewire drivers are now superior to the older ieee1394 drivers in the fields of industrial video acquisition/ machine vision/ microscopy etc. — just like the new drivers have already been superior and preferred for mass storage (SBP-2) in the last two or three kernel releases.

(Regarding consumer video applications, the new drivers should now be functionally on par with — yet more secure than — the old drivers. Alas the new drivers cannot be used with studio audio equipment yet. Furthermore, IP networking is not yet possible with the new drivers.)

firedtv
  • Implement tuning of DVB-S2 boxes. Also implemented in kernel 2.6.29.1.
firewire-core
  • Optionally expose the reception timestamp of each isochronous packet, not just of interrupt packets. This change is accompanied by an update of the constant FW_CDEV_VERSION from 1 to 2.
  • Add ioctls for isochronous resource management (allocation and deallocation of isochronous channels and bandwidth). These do not only accomplish what the corresponding libraw1394 functions can do, they also implement optional kernel-assisted reallocation and deallocation.
    This means that client programs do not need to implement reallocation in their bus reset handler anymore and often can get rid of bus reset handlers entirely. Also, isochronous resources can be released by the kernel if the client program crashes or shuts down improperly. The kernel-assisted variant of resource allocation also takes care of the grace period which is to be observed after bus resets.
  • Add ioctl to query the maximum transmission speed to/from a given node.
  • Add ioctl for broadcast write requests. This is for example useful to control multiple similar cameras at once. For device security reasons, broadcast write requests are restricted to addresses in Units Space.
  • Add ioctl for asynchronous stream transmission. Asynchronous streams are addressed to channels instead of nodes (like isochronous streams are tied to channels) but transmitted after asynchronous bus arbitrations (like asynchronous write requests, unlike isochronous streams).
  • Add various consistency checks to enforce proper cdev API usage.
  • Disallow the FW_CDEV_IOC_ADD_DESCRIPTOR ioctl on any other /dev/fw* than those of local nodes. This is because userland will typically maintain an access policy based on unit directories that are present on each node, and this ioctl may therefore influence accessibility of local nodes' device files.
  • Implement Broadcast_Channel register support for conformance with the 1394a bus management specification.


Linux 2.6.20...2.6.29

February 2007 – March 2009

The new alternative firewire drivers were added and gradually stabilized. Since the new drivers were not yet feature-complete, the older ieee1394 stacked remained preferred for production but received only few minor updates during this time frame.

See Release Notes/2.6.2x.


Linux 2.6.12...2.6.19

June 2005 – November 2006

This is a stabilization phase of the ieee1394 driver stack in Linux 2.6.

See Release Notes/2.6.1x.

Personal tools