Release Notes

From IEEE 1394 FireWire Wiki
(Difference between revisions)
Jump to: navigation, search
(Linux 2.6.29 release date, Linux 2.6.29.1)
(Linux 4.8, Linux 4.4: stable backports)
 
(96 intermediate revisions by one user not shown)
Line 5: Line 5:
 
'''Release Status'''
 
'''Release Status'''
  
The latest stable releases of Linux IEEE 1394 drivers are those in the latest released Linux 2.6 kernels.
+
The latest stable releases of Linux IEEE 1394 drivers are those in the latest released Linux 4.x 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 drivers in Linux 2.4 were considered stable too but have not been updated anymore for a long time.  Therefore they lack many features and compatibility updates which went into Linux 2.6.x...4.x 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 [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=drivers/ieee1394 drivers/ieee1394], in [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=drivers/firewire drivers/firewire].
+
The following release notes only summarize more notable changes.  A complete list of IEEE 1394 related changes is available via kernel.org git:
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/ieee1394 drivers/ieee1394]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/firewire drivers/firewire]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/media/firewire drivers/media/firewire], formerly [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/media/dvb/firewire drivers/media/dvb/firewire]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/target/sbp drivers/target/sbp]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=sound/firewire sound/firewire]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=tools/firewire tools/firewire]
 +
:* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=include/linux/firewire.h include/linux/firewire.h]
 +
:* include/uapi/linux/{[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=include/uapi/linux/firewire-cdev.h firewire-cdev.h],[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=include/uapi/linux/firewire-constants.h firewire-constants.h]}, formerly include/linux/{[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=include/linux/firewire-cdev.h firewire-cdev.h],[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=include/linux/firewire-constants.h firewire-constants.h]}
 +
:* Documentation/ABI/stable/{[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=Documentation/ABI/stable/firewire-cdev firewire-cdev],[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=Documentation/ABI/stable/sysfs-bus-firewire sysfs-bus-firewire]}, [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=Documentation/debugging-via-ohci1394.txt Documentation/debugging-via-ohci1394.txt]
  
  
Line 15: Line 24:
  
  
== Linux 2.6.29 ==
+
== Linux 4.9 ==
  
''23 March 2009''
+
''tentative release notes as per v4.9-rc4''
  
;dv1394:
+
;firewire-net:
:* Fix potential problem with interrupt control on big endian CPUs.
+
:* Add missing input validation.  Invalid IP-over-1394 encapsulation headers could trigger buffer overflows, potentially leading up to remote code execution ([http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8633 CVE-2016-8633]).  Also fixed in v4.8.7 and v4.4.31.
:* Remove unnecessary messages in the kernel log if the driver is loaded but unused.
+
:* Fix IP-over-1394 link fragmentation headers that were read and written incorrectly, which prevented fragmented reception from/ fragmented transmission to other stacks, including Mac OS X, Windows XP, and older Linux' eth1394.  Also fixed in v4.8.7 and v4.4.31.
  
;ieee1394:
 
:* Support 1600 Mb/s and 3200 Mb/s capable hardware.  Previously there was a limit to 800 Mb/s.  (firewire-core had no such limit.)
 
  
;ohci1394:
+
== Linux 4.8 ==
:* Work around "irq...: nobody cared" and interrupt storm during resume after system suspend.
+
:* Increase number of hardware-assisted transmission retries when responder nodes are busy.  Fixes AV/C control failures of camcorders with dvgrab ("send oops") and kino (loss of AV/C control), and possibly with other devices and software as well.  Also fixed in 2.6.28.5 and 2.6.27.16.
+
  
;sbp2:
+
''2 October 2016''
:* Synchronize device quirk detection and handling with the code in the sibling driver firewire-sbp2.
+
:* Add workarounds for 2nd and 3rd generation iPods.  2nd generation was found to need a request size limitation, 3rd generation reported a wrong capacity.  This resulted in unrecoverable IO errors right after an affected iPod was plugged in.  Also fixed in 2.6.28.5 and 2.6.27.16.
+
  
;firedtv:
+
;snd-firewire-tascam:
:* New driver for FireWire-attached DVB receiver boxes and cards from Digital Everywhere, known as FireDTV and FloppyDTV.<br> This driver currently works together with the old 1394 driver stack only (ieee1394 + ohci1394); compatibility with the new stack (firewire-core + firewire-ohci) will probably follow in the next kernel release.  Also, only standard definition channels are supported for now; HD cannot be received yet.<br> The driver works with the DVB-C, -S, -S2, -T variants of FireDTV and FloppyDTV and also supports their remote control and Conditional Access Modules. The driver is meant to be used together with any viewer software which supports Linux' DVB programming interface, just like PCI or USB DVB receivers.
+
:* Fix possible deadlock in hwdep interface.  Also fixed in v4.7.4 and v4.4.21.
  
;firewire-core:
+
;snd-fireworks:
:* Fix potential crash in rapid succession of bus resets.
+
:* Fix possible deadlock in hwdep interfaceAlso fixed in v4.7.4, v4.4.21, v4.1.34, v3.18.43.
:* Do not detach protocol drivers (firewire-sbp2 or userspace driver programs) if devices briefly disappear or seem to disappear from the busThis happens
+
:** when certain bus-powered hubs are plugged in,
+
:** when certain devices are plugged into 6-port hubs,
+
:** when certain disk enclosures are switched from self-power to bus power or vice versa and break the daisy chain during the transition,
+
:** when certain hubs temporarily malfunction during high bus traffic.
+
:* Fix rare bugs related to module unloading and to errors during card initialization.
+
  
;firewire-ohci:
 
:* Avoid "context_stop: still active" noise in the kernel log.
 
:* Increase number of hardware-assisted transmission retries when responder nodes are busy.  Fixes AV/C control failures (like in ohci1394).  Also fixed in 2.6.28.5 and 2.6.27.16.
 
  
;firewire-sbp2:
+
== Linux 4.7 ==
:* Fix IOMMU resource exhaustion in an error path.  Also fixed in 2.6.28.5 and 2.6.27.16.
+
:* Add workarounds for 2nd and 3rd generation iPods (like in sbp2).  Also fixed in 2.6.28.5 and 2.6.27.16.
+
  
'''Known issue:'''  The firedtv driver is unable to tune channels on FireDTV-S2 and FloppyDTV-S2 devices.  Fixed in Linux 2.6.29.1 and 2.6.30-rc1.
+
''24 July 2016''
  
 +
;snd-dice:
 +
:* Add support for M-Audio Profire 610, and perhaps for Profire 2626.
  
== Linux 2.6.28 ==
+
;snd-firewire-lib:
 +
:* Add tracepoints to dump a part of isochronous packet data in order to support debugging of device quirks and of kernel-internal packet processing. The [https://git.kernel.org/linus/0c95c1d6197f patch changelog] describes how to use this feature.  A [https://git.kernel.org/linus/a9c4284bf5a9 subsequent commit] expands the dump format.
  
''24 December 2008''
+
;snd-firewire-lib, snd-bebob, snd-firewire-tascam, snd-fireworks:
 +
:* Remove matching of SYT fields of the outbound stream to those of the inbound stream since it proves to be unnecessary in practice.  The same was already done in snd-dice in Linux v4.6.  This simplifies the kernel code and allows for finer-grained tasklet scheduling.
  
;dv1394:
+
;snd-firewire-lib, snd-bebob, snd-firewire-digi00x, snd-firewire-tascam, snd-fireworks, snd-oxfw:
:* Change locking in the mmap() handler to prevent an unlikely deadlock.
+
:* Perform sound card registration at least 2 seconds after the last IEEE 1394 bus reset.  This was already implemented for snd-dice in Linux v4.5 and is now adopted by the other FireWire audio drivers.  It ensures that the bus and device firmware settle into a ready state before userspace initiate I/O to the device.
  
;raw1394:
 
:* Change locking in the mmap() handler to prevent an unlikely deadlock of multithreaded client programs.  (It nonetheless is not a good idea to use the same raw1394 file handle in multiple threads; it may be hard to get such a client right.)
 
:* Change locking in the write() handler to make it multithreading-safe.  (But see above.)
 
:* Remove the [http://lwn.net/Articles/86859/ Big Kernel Lock] from the ioctl() handler for better system performance.
 
  
;ieee1394:
+
== Linux 4.6 ==
:* Fix corruption of CSR response handler list (ARM handlers in raw1394 terminology) on boxes with more than one FireWire controller.
+
:* Do not detach the sbp2 driver if devices briefly disappear or seem to disappear from the bus.  This happens
+
:** when certain bus-powered hubs are plugged in,
+
:** when certain disk enclosures are switched from self-power to bus power or vice versa and break the daisy chain during the transition,
+
:** when the user plugs a cable out and quickly plugs it back in, e.g. to reorder a daisy chain (works on Mac OS X if done quickly enough),
+
:** when certain hubs temporarily malfunction during high bus traffic.
+
:: Previously, mounted filesystems on FireWire disks would have been lost at such occasions.  But now there is a high chance that they stay accessible.
+
:* Fix recognition of Freecom FireWire Harddrive.  (also in 2.6.27.10)
+
  
;sbp2:
+
''15 May 2016''
:* Add quirk handling for some iPod mini.  (also in 2.6.27.8)
+
  
;firewire-core:
+
;snd-bebob:
:* Fix kernel freeze after many bus resets.  (also in 2.6.27.5)
+
:* internal rework related to streaming recovery after bus reset
:* Fix memory leak at bus reset.  (also in 2.6.27.5)
+
:* Fix iso transmit parameters in the character device file interface.  (also in 2.6.27.5)
+
  
;firewire-ohci:
+
;snd-dice:
:* Fix IOMMU resource leak, e.g. visible as "DMA: Out of SW-IOMMU space" on EM64T boxes and subsequent I/O errors. (also in 2.6.27.10)
+
:* Change how the dependency between number of available PCM and MIDI channels versus sampling rate is handled.  Also affects the hw_params ioctl interface.  Userspace should set the desired sampling rate before starting PCM I/O.
:* Fix a memory leak at module removal.
+
:* Change how phase lock is ensured and how lock status is detected.
 +
:* Remove matching of SYT fields of the outbound stream to those of the inbound stream.  This synchronization happened when the device was configured for internal clock.  It required a startup delay of the outbound stream, which caused DICE II based devices to remain silent at the first attempt to start streaming.
 +
:* Add support for previously unavailable higher PCM channels on certain devices with high channel count, notably Focusrite Saffire PRO 40, Focusrite Liquid Saffire 56, and TC Electronic Studio Konnekt 48.  These devices spread the PCM and MIDI channels across 2 tx + 2 rx IEEE 1394 channels instead of just 1 tx + 1 rx IEEE 1394 channel, as most other devices do.
  
;firewire-sbp2:
+
;snd-oxfw:
:* Improve login and logout handling.  (also in 2.6.27.5)
+
:* improvements to MIDI I/O
:* Add quirk handling for some iPod mini.  (also in 2.6.27.8)
+
  
  
== Linux 2.6.27 ==
+
== Linux 4.5 ==
  
''9 October 2008''
+
''13 March 2016''
  
;dv1394, raw1394, video1394:
+
;snd-dice:
:* Include mmap()ed isochronous data buffers in program crash dumps.
+
:* Improved handling of DICE II firmware bootstrapping during device start-up.
 +
:* Avoid time-out when PCM streaming is started.
  
;ieee1394:
+
;snd-firewire-tascam:
:* Fix regression since Linux 2.6.25:  When new nodes were added to a bus with existing ones, driver updates were not prioritized like in previous kernels.  This especially degraded SBP-2 reconnection.
+
:* Add support for TASCAM FW-1804.
:* Fix connection loss to old nodes when certain devices were plugged into a bus with a 6-port hub.
+
  
;sbp2:
+
;snd-scs1x:
:* Spin disks down (i.e. switch spindle motor off) when the system is suspended or shut down, or when the driver is unloaded.
+
:* The functionality of this driver was moved to the snd-oxfw driver, and the now obsolete snd-scs1x module has been removed.
:* Fix disk spin-down for PL-3507 and TSB42AA9 firmwares.
+
:* Fix connection loss after "Failed to reconnect to sbp2 device" during bus reset series.
+
  
;firewire-core:
 
:* IEEE 1394(a) compliance fixes:  Don't respond to broadcast write requests, implement Broadcast_Channel register. (Not yet done: Allocate broadcast channel.)
 
:* Fix a kernel panic during asynchronous transmission when a bus reset occurs.
 
:* Fix reception of block read responses on 64bit architectures.
 
:* Fix a kernel warning (call trace dump) in the bus reset handling.
 
  
;firewire-ohci:
+
== Linux 4.4 ==
:* Fix isochronous reception with TSB43AB22A controllers on 64bit architectures with more than 2GB memory.
+
  
;firewire-core + firewire-ohci:
+
''10 January 2016''
:* The issue with dvgrab on VIA VT630x OHCI 1.0 cards has been resolved.  (DV reception got stuck after one or a few frames, the IR DMA context could not be woken up anymore.)  The actual kernel change which resolved this is not known.
+
 
+
;firewire-sbp2:
+
:* Spin-down feature and fixes as in sbp2
+
 
+
Sbp2's and firewire-sbp2's spin-down feature is not active in multiple initiator setups, i.e. when non-exclusive login is configured.
+
 
+
 
+
== Linux 2.6.26 ==
+
 
+
''13 July 2008''
+
 
+
;ieee1394:
+
:* Fix speed detection with some GOF repeaters.
+
:* The driver raw1394, video1394, dv1394 are not bound to struct device instances anymore.  This change is only important for driver programmers.  It is for example necessary for the firesat DVB driver which is currently in the works at the Linux Driver Project.
+
 
+
;ohci1394:
+
:* Explicitly switch on bus power after suspend/resume on some PowerMacs and PowerBooks.
+
 
+
;raw1394:
+
:* Change of isochronous transmit policy:  If the controller skips a cycle e.g. because of transmit FIFO underflow, the respective packet is now requeued for transmission in the next cycle instead of being dropped.
+
:* Related change of semantics of the struct raw1394_iso_status.overflows field:  upper 16 bits contain number of cycle skips in IT (see above), lower 16 bits contain the "overflows" value as before.
+
 
+
;firewire-core:
+
:* Properly rescan devices which changed their configuration ROM.  This fixes soft-power-off of some FireWire harddisks and similar situations in which the drivers missed that a device went on or off.
+
:* Fixes:  Bus reset loop after PHY config packet transmission;  gap count synchronization between all nodes (device detection related);  kernel panic due to unexpected reception of PHY packets.
+
:* After a device was removed, fail open(), ioctl(), mmap() properly with -ENODEV.
+
  
 
;firewire-ohci:
 
;firewire-ohci:
:* New runtime switch to enable verbose logging in dmesg:<br> <code>echo N > /sys/module/firewire_ohci/parameters/debug</code><br> with N = 0: off (default), 1: asynchronous packet sent or received, 2: self IDs, 4: interrupts, 8: bus reset interrupt events, or a combination (sum) of several of these flags.
+
:* Work around JMicron JMB38x initialization quirk.  Affected isochronous transmission, e.g. audio via FFADO or ALSA.  Also fixed in v4.3.3, v4.2.8, v4.1.15, v3.18.26, v3.16.35, v3.14.59, v3.12.52, v3.10.95, v3.4.113, v3.2.74.
:* fixes for asynchronous transactions on Texas Instruments controllers
+
:* fixes to make JMicron based cards work
+
:* Explicitly switch on bus power after suspend/resume on some PowerMacs and PowerBooks.
+
:* stricter error checks in self ID reception
+
:* new compile-time option FIREWIRE_OHCI_REMOTE_DMA in the "Kernel hacking" menu of the kernel configuration for remote debugging, only interesting to kernel developers
+
  
;firewire-sbp2:
+
;snd-bebob:
:* Fix detection of some multi-unit devices, e.g. drives in a SONY DVD jukebox.
+
:* Fix device identifier of Mackie Onyx 1220/1620/1640 FireWire I/O card.
  
 +
;snd-dice:
 +
:* Fix device identifier of Mackie Onyx Blackbird and Onyx-i series.
  
'''Known issues:'''  The new firewire drivers are still unable to capture DV on VIA VT630x OHCI 1.0 chips.  Support for isochronous resource management is still missing in the firewire-core character device APIIP over 1394 implementation equivalent to eth1394 is still not available for the new stack.
+
;snd-firewire-digi00x:
 +
:* New driver for Digidesign audio interfaces: Digi 002 Console, Digi 002 Rack, Digi 003 Console, Digi 003 Rack, Digi 003 Rack+Written by Takashi Sakamoto.
  
 +
;snd-firewire-lib:
 +
:* Restructured and extended for wider protocol support.  Data block processing is split from isochronous packet processing.  This work was required for integration of snd-firewire-digi00x and snd-firewire-tascam because devices which are supported by these drivers do not comply with IEC 61883-6.  Written by Takashi Sakamoto.
  
== Linux 2.6.25 ==
+
;snd-firewire-tascam:
 +
:* New driver for TASCAM audio interfaces: FW-1082, FW-1884. Written by Takashi Sakamoto.
  
''16 April 2008''
+
;snd-oxfw:
 +
:* Fix Mackie Onyx Satellite packet discontinuity when device is used in base station mode.
 +
:* Add support for TASCAM FireOne.
 +
:* Fix calculation of MIDI ports.
 +
:* Fix for statically linked (i.e. non-modular) builds.
  
;sbp2:
 
:* Raise default size limit of requests for better throughput.  This brings sbp2 performance on par with firewire-sbp2 on FireWire 800 buses.  Alas some older devices cause I/O errors on large requests, but the known broken ones are detected and handled accordingly.  If you encounter errors with 2.6.25 which didn't happen in previous kernels, this change may be the cause;  please report it at linux1394-devel then.
 
:* Fix bogus device additions if rescan-scsi-bus.sh was run.  Note, this script is not necessary and even was detrimental with sbp2 in the 2.6 kernel series.
 
:* Add workaround flag for delay between login and inquiry, flag is active for DViCO FX-3A.
 
  
;firewire-core:
+
== Linux 4.3 ==
:* Fixes for "giving up on config rom" errors.
+
:* Fix "kobject_add failed for fw* with -EEXIST".
+
:* Fix kernel crash when firewire-ohci was unloaded.
+
  
;firewire-ohci:
+
''1 November 2015''
:* Fix isochronous reception for IIDC cameras.
+
:* Fix for systems with more than 3 GB RAM.
+
:* Fix for systems with IOMMU.
+
:* Fix for big endian CPUs.
+
:* Fix module reloading and suspend/resume on Apple PowerMac and PowerBook.
+
:* Add support for the old Apple UniNorth rev.1 controller.
+
:* Fix kernel panic in asynchronous transmission.
+
:* Handle "cycle too long" condition.
+
  
;firewire-sbp2:
+
No functional changes to the FireWire subsystem.
:* Several fixes and improvements for device recognition, probing, and reconnection.
+
:* Fix I/O errors which happened as soon as the PCI bus became slightly busy.  Affected were all SBP-2 chipsets except OxSemi ones.  This fix is especially required for PL-3507 based devices.
+
:* Fix bugs caused by rescan-scsi-bus.sh.
+
  
;init_ohci1394_dma:
 
:* This is a new standalone driver, independent of the ieee1394 and firewire driver stacks.  It is used for kernel development, particularly remote debugging of kernel initialization.  This driver is configured by a kernel build config option in the "Kernel hacking" menu and a kernel boot parameter.  Documentation is provided in the documentation directory of the kernel sources.  Driver author is Bernhard Kaindl.
 
  
 +
== Linux 4.2 ==
  
'''Known issues:'''  Regression in ieee1394:  When new nodes are added to a bus with existing ones, driver updates are not prioritized like in previous kernels.  This especially degrades SBP-2 reconnection.  Fixed in Linux 2.6.27.
+
''30 August 2015''
  
 +
;snd-bebob:
 +
:* Add support for
 +
::: Digidesign Mbox 2 Pro
 +
::: Behringer FCA610, FCA1616
 +
:* Improve BeBoB v3 support (PrismSound Orpheus, Behringer UFX1604, Behringer FCA610).
 +
:* Improved clock source detection.  Add SYT-Match support.
  
== Linux 2.6.24 ==
+
;snd-firewire-lib:
 +
:* Internal changes related to packet handling.
  
''24 January 2008''
+
;snd-fireworks:
 +
:* Fix packet discontinuity with newer firmwares.  Also fixed in v4.1.6 and v3.18.21.
  
;eth1394:
 
:* Fix locking in a rare error case.
 
  
;ieee1394:
+
== Linux 4.1 ==
:* Fix small memory leak after eth1394 or raw1394 modified the local configuration ROM.
+
  
;firewire-core:
+
''21 June 2015''
:* Adopt "read cycle timer" ABI like in raw1394 since kernel 2.6.21.
+
  
;firewire-ohci:
+
No functional changes to the FireWire subsystem.
:* Fix I/O after suspend/resume cycle for protocols which need the onfiguration ROM.
+
:* Fix leak of DMA mapping tables on non-coherent machines.
+
:* Check for unlikely error cases:  PCI write posting error, self ID malconfiguration.
+
:* Fix DV reception for a lot of controllers. Note, a few OHCI 1.0 variants of VIA VT630x still don't work for DV.
+
  
;firewire-sbp2:
 
:* Add support for targets with multiple logical units, e.g. JBOD multi-disk enclosures.
 
:* Add module load parameter "workarounds" for emergencies.  This parameter works just like in the classic sbp2 driver.
 
:* Fix blocking of keyboard input and other system functions during attachment of devices.
 
  
;sparc64 architecture:
+
== Linux 4.0 ==
:* Fix kernel oops in DMA mapping, notably when loading firewire-ohci.  This bug was present since kernel 2.6.23.
+
  
 
+
''12 April 2015''
'''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 ==
+
 
+
''9 October 2007''
+
 
+
;ieee1394:
+
:* Properly terminate sysfs attributes vendor_name_kv and model_name_kv.
+
 
+
;ohci1394:
+
:* Fix initialization on some hardware (some Toshiba Satellite in particular) in non-modular builds.  This was a regression since Linux 2.6.19.  Also fixed in Linux 2.6.22.9.
+
 
+
;raw1394:
+
:* Now almost completely fixed for 32bit userland on 64bit kernels.  (There remain issues in the rarely used address range mapping functions.)
+
:* The long deprecated 1st generation isochronous ABI, consisting of the request types RAW1394_REQ_ISO_LISTEN and _SEND, have been removed.  Callers of libraw1394's undocumented functions raw1394_iso_write, raw1394_start_iso_write, raw1394_start_iso_rcv, and raw1394_stop_iso_rcv are affected.  Only ancient and obsolete programs used these calls which have been replaced by the more efficient rawiso and video1394 ABIs.
+
 
+
;sbp2:
+
:* Fix crash in sbp2 initialization on PPC64.  This was a regression since Linux 2.6.22.  Also fixed in Linux 2.6.22.2.
+
:* Expose the IEEE1394_SBP2_PHYS_DMA compile-time option on x86-64.
+
  
 
;firewire-core:
 
;firewire-core:
:* Add support for S100B...S400B and link speed slower than PHY speed.
+
:: The vendor ID and model ID in the Configuration ROM root directory of Linux hosts was changed from 0xd00d1e:0x000001 to 0x001f11:0x023901.  This change makes firewire-core's local Configuration ROM comply with IEEE's OUI assignment rules.
:* Optimize bandwidth (gap count) in mixed 1394a/1394b topologies, except with 1394b repeater nodes present.
+
:* Fix memory leak.  Also fixed in Linux 2.6.22.2.
+
 
+
;firewire-ohci:
+
:* Fix scheduling in atomic context.  Also fixed in Linux 2.6.22.2.
+
:* iBook G3 and older Powerbooks refused to suspend.  Also fixed in Linux 2.6.22.9.
+
:* Fix panic on module unloading while devices were attached.
+
 
+
;firewire-sbp2:
+
:* Fix "status write for unknown orb" followed by I/O errors.
+
:* Make it work on CardBus FireWire cards.  Also fixed in Linux 2.6.22.2.
+
:* Port from the old sbp2 driver:  Limit sector count for certain old chipsets.  Add module load parameter exclusive_login.
+
 
+
 
+
== Linux 2.6.22 ==
+
 
+
''8 July 2007''
+
 
+
;eth1394:
+
:* Do not auto-load eth1394 per hotplug whenever a FireWire controller is initialized (usually: when ohci1394 is loaded).  Hotplug events (uevents) for eth1394 are now only generated if another IPv4-over-1394 capable node was detected on a FireWire bus.<br>From now on, those who want eth1394 have to load it manually, or simply connect another IPv4-over-1394 capable node (e.g. a PC with Windows XP or OS X), or add eth1394 to a distribution-dependent list of modules to be loaded on boot, or can simulate the old auto-loading together with ohci1394 by the following addition to /etc/modprobe.conf:<br>  <code>install&nbsp;ohci1394&nbsp;/sbin/modprobe&nbsp;eth1394;&nbsp;/sbin/modprobe&nbsp;--ignore-install&nbsp;ohci1394</code>
+
:* Fix silent packet loss when eth1394 was unable to obtain transaction labels from ieee1394.  The bug was noticeable by "eth1394: No more tlabels left" kernel messages.
+
:* Send GASP packets at S100 if 1394b hardware is present.  Fixes eth1394 for S100B...S400B interconnects.
+
:* Allow users to configure MTU bigger than 1500 if they know what they are doing.
+
:* Link to a parent device (instead of a virtual parent) in sysfs.  This fixes a regression since Linux 2.6.21:  Udev rules for persistent naming of network interfaces didn't work anymore.  The fix is also available in Linux 2.6.21.5 and later.
+
 
+
;ieee1394:
+
:* The values of the sysfs attribute "address" of unit directories were wrong.
+
 
+
;raw1394:
+
:* Send asynchronous streams at S100 rather than at a random speed.
+
 
+
;sbp2:
+
:* Optimized DMA direction.  Fixes crash on Xen.
+
:* New module load parameter:  long_ieee1394_id.  If left at the default value, nothing changes.  If set to "y", the format of /sys/bus/scsi/devices/*:*:*:*/ieee1394_id is changed from e.g. 0001041010004beb:0:0 to 0001041010004beb:00042c:0000.  This longer form is equivalent to the concatenation of the so-called Target Port Identifier and Logical Unit Identifier as per SCSI Architecture Model.  The main benefit is that the same format is also used in the new firewire-sbp2 driver.<br>  (Explanation: The ieee1394_id in sysfs is typically used to create persistently named links in /dev/disk/by-id/.  I.e. you can add entries like<br><code>/dev/disk/by-id/ieee1394-0001041010004beb:00042c:0000-part3&nbsp;&nbsp;/mnt/cx1&nbsp;&nbsp;hfsplus&nbsp;user,noauto,noatime,force&nbsp;0&nbsp;0</code><br> to /etc/fstab.  With this example you can mount /mnt/cx1 without having to worry whether it's /dev/sda or sdb or whatever this time you plugged the FireWire disk in.  This feature already existed in older kernels, only the format of the ID changed slightly in 2.6.22.)
+
 
+
 
+
'''New alternative driver stack in Linux 2.6.22 (experimental, incomplete):'''
+
 
+
;firewire-core:
+
:* This is a new driver, part of the new alternative FireWire driver stack known under the nickname "Juju", written by Kristian Høgsberg.  Functionality-wise, firewire-core is a replacement for ieee1394, raw1394, video1394, and dv1394.
+
 
+
;firewire-ohci:
+
:* the new driver stack's equivalent to ohci1394
+
 
+
;firewire-sbp2:
+
:* the new driver stack's equivalent to sbp2
+
 
+
See [[Juju Migration]] 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 ==
+
 
+
''25 April 2007''
+
 
+
;dv1394:
+
:* fixed driver crash on CardBus card ejection (also fixed in Linux 2.6.20.5)
+
 
+
;ieee1394:
+
:* fixed resume after suspend or hibernation:  the local config ROM was not restored which broke protocols like SBP-2 and IP over 1394
+
:* fixed driver crash or kernel crash if ieee1394 was loaded with parameter disable_nodemgr=1 (new bug in Linux 2.6.20, fix is also in 2.6.20.2)
+
:* removed the kernel configuration options to export unused symbols for potential out-of-tree drivers and to translate OUIs into company names in sysfs
+
 
+
;raw1394:
+
:* added feature to simultaneously read the cycle timer and the local system time  (At the time of the kernel's release, the libraw1394 counterpart was in libraw1394's Subversion repo, pending for the next libraw1394 release)
+
 
+
;video1394:
+
:* now works on machines with non-coherent DMA, e.g. Intel 64bit machines (also fixed in 2.6.20.2)
+
 
+
;EM64T, IA64:
+
:* fixed kernel crash related to DMA operations in a lot of drivers, among them video1394 and raw1394, on Intel 64bit machines with more than ~3GB RAM (also fixed in Linux 2.6.19.6 and 2.6.20.2)
+
 
+
 
+
== Linux 2.6.20 ==
+
 
+
''4 February 2007''
+
 
+
;dv1394:
+
:* add deprecation note, application software should migrate to raw1394
+
 
+
;ieee1394:
+
:* set proper symlinks at /sys/bus/ieee1394/driver/*/module
+
 
+
;ohci1394:
+
:* fix kernel oops and strange hardware faults on some PPC machines when the module was reloaded (fix also in 2.6.19.2)
+
 
+
;sbp2:
+
:* fix recognition of capabilities of some DVD-ROM/R/W (fix also in 2.6.19.3; only Linux 2.6.19...2.6.19.2 are affected)
+
:* fix handling of SCSI command REQUEST_SENSE
+
 
+
'''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 ==
+
 
+
''29 November 2006''
+
 
+
;eth1394:
+
:* memory alignment problem fixed
+
 
+
;ieee1394:
+
:* recursive locking fixed
+
:* optimization of per-host kernel data structures;  this apparently also fixed a kernel crash in hpsb_get_tlabel
+
 
+
;ohci1394:
+
:* initializes before most other device drivers to aid kernel debugging with firescope
+
 
+
;raw1394:
+
:* kernel freeze in address range mapping functions fixed
+
 
+
;sbp2:
+
:* HDDs whose motor was stopped after idle time or by another host are now automatically spun up
+
:* IO errors caused by "sbp2util_node_write_no_wait failed" fixed
+
:* another potential deadlock during device removal fixed
+
:* some combinations of Initio bridges and HDD mechanisms were wrongly detected as write protected;  fixed by using a more standards conforming command for sd_mod's probing
+
 
+
;video1394:
+
:* poll() support added
+
 
+
'''Known issue:'''  Some DVD-ROM/RW were mistaken for CD-ROM.  Fixed in 2.6.19.3 and above.
+
 
+
 
+
== Linux 2.6.18 ==
+
 
+
''19 September 2006'
+
 
+
;ieee1394:
+
:* less CPU usage in DMA housekeeping
+
:* support for S100...S400 1394b hardware and for devices with PHY faster than link
+
 
+
;ohci1394:
+
:* recover from "cycle too long" errors
+
 
+
;sbp2:
+
:* spin up Maxtor OneTouch disks when necessary (also in 2.6.17.8)
+
 
+
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 ==
+
 
+
''17 June 2006''
+
 
+
;ieee1394:
+
:* Removed the dormant support for devfs
+
 
+
;ohci1394:
+
:* PhyUpperBound lowered from ~256 TB to 1 TB on chips which support a programmable PhyUpperBound
+
 
+
;raw1394:
+
:* 64bit compatibility code for read and write access to /dev/raw1394 (not yet for ioctls)
+
 
+
;sbp2:
+
:* Fix kernel freeze after disconnecting a device.  The fix is also available in Linux 2.6.16.2.
+
:* Fix compatibility regression with PL-3507 since Linux 2.6.16 ("scsi_add_device failed").  Also available in 2.6.16.20.
+
:* Added a workaround for iPods (fixes "end_request: I/O error" at blocks near the end of the disk).  Also available in 2.6.16.20.
+
:* Added module load parameter "workarounds".  A numeric parameter which signifies a combination of workarounds for quirky hardware can be given.  See "modinfo sbp2". The now redundant parameter "force_inquiry_hack" will be removed in a future release.
+
:* Disabled "modprobe -r ohci1394" (or pcilynx) while logged in into an SBP-2 device, preventing inadvertent loss of connection.
+
 
+
 
+
== Linux 2.6.16 ==
+
 
+
''19 March 2006''
+
 
+
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.
+
 
+
;amdtp, cmp:
+
:* These drivers were removed from the kernel. Their functionality is provided by libiec61883 now.
+
 
+
;ieee1394:
+
:* Bug fix:  Suspend-to-disk would deadlock if the swap partition was located on a FireWire disk.
+
:* Reconnection to storage devices is often quicker now when additional devices get plugged in.
+
:* small consistency checks added to ROM parsing routines
+
 
+
;ohci1394:
+
:* logs number of hardware-implemented isochronous contexts when starting
+
  
;raw1394:
+
:: This has been made possible by Openmoko's granting a range of IDs to the Linux IEEE 1394 subsystem.  See [[IEEE OUI Assignments]] for additional information.  This change cannot have negative impact on any standard protocols, but developers of private protocols may need to adapt if they relied on these root directory entries instead of their own unit directory entries.
:* bug fixes for memory deallocation in config ROM manipulation routines
+
  
;sbp2:
+
:: The change was also backmerged into v3.12.51.
:* Bug fix:  Sbp2 always failed to connect to storage devices with "login timed out" with ALi and Fujitsu host adapters.  This bug was believed to date back to the Mingh dynasty.
+
:* Bug fix:  When a device was unplugged during ongoing I/O, the subsystem could fall into a deadlock, disabling subsequent hotplugs. (Fix is also available in Linux 2.6.15.5.)
+
:* Bug fix:  The 36byte inquiry hack did not work in the last few Linux releases.
+
:* Bug fix:  Resources were not freed when SCSI inquiry failed.
+
:* SCSI commands are no longer converted between command sets.  The SCSI command set drivers, especially sd, are now using the proper command set.
+
:* Responses to inquiry commands from userspace sg I/O are now passed through as-is.
+
  
;scsi/sd (as far as related to sbp2):
+
;snd-bebob:
:* Bug fix:  Memory corruption was encountered when FireWire disks with Initio bridge chip or some other bridge chips were plugged inCould cause error messages, application crashes, or kernel panic.  (Fix is also available in Linux 2.6.15.5.)
+
:* Fix initialization of some M-Audio devices with Linux on big-endian CPUsAlso fixed in v3.19.5 and v3.18.13.
  
;video1394:
+
;snd-firewire-lib, snd-bebob, snd-dice, snd-fireworks:
:* Bug fix:  Wrong timestamps were generated(bug from Linux 2.6.11)
+
:* Fix device reference counting and shutdownAlso fixed in v3.19.2.
:* Bug fix:  When an ioctl failed to get a free channel, a wrong error number was returned.
+
  
;several drivers:
 
:* numerous code cleanups without change in functionality (or so we hope)
 
:* When starting, eth1394, ohci1394, and sbp2 do not log a version number anymore.  There is no way to keep a meaningful version number without strictly centralized development model.
 
:* 1394 subsystem enabled in arch/x86_64/defconfig
 
  
'''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 3.0...3.19 ==
  
 +
''July 2011 &ndash; February 2015''
  
== Linux 2.6.15 ==
+
Support of various devices and controllers was improved.  IPv6 support was added to ''firewire-net'' (v3.10).  New drivers ware added:
 +
:* ''sbp-target'' lets a Linux node act as a storage device (v3.5),
 +
:* ''snd-isight'' for audio capture through Apple iSight FireWire webcam (v3.0),
 +
:* ''snd-scs1x'', a MIDI driver for Stanton SCS.1d and SCS.1m FireWire DJ controllers (v3.8),
 +
:* ''snd-dice'' for audio playback through some audio devices based on TC Applied Technologies' DICE chipset (v3.13), later also for audio capture and MIDI through basically all DICE based devices (v3.19),
 +
:* ''snd-bebob'' for audio I/O through BridgeCo DM1000/DM1100/DM1500 based devices with BeBoB firmware (v3.16),
 +
:* ''snd-fireworks'' for audio I/O through Echo Digital Audio Fireworks based devices (v3.16),
 +
:* ''snd-oxfw'' for audio I/O through Oxford Semiconductor OXFW970/971 based devices (v3.19).  ''snd-oxfw'' replaced ''snd-firewire-speakers'' in v3.19 and ''snd-scs1x'' in v4.5.
 +
The audio I/O drivers are an alternative to the existing userspace drivers which [http://ffado.org/ the FFADO project] provides.  While the FFADO drivers can only be used in conjunction with [http://jackaudio.org/ JACK], the kernelspace drivers can be used with any ALSA compatible application. However, the kernelspace drivers only implement PCM streaming and MIDI streaming, whereas device control is meant to be provided by userspace applications like ffado-mixer.
  
''2 January 2006''
+
See [[Release Notes/3.x]].
  
;ieee1394:
 
:* Fix recognition of some pre-1394a devices, notably LSI based SBP-2 devices.  ieee1394 now writes the broadcast channel register only to devices which actually support the register.  Fixes also an interoperability regression of Linux 2.6.14.
 
:* Fix recognition of some devices after the PC was switched off and on, notably of Motorola DCT6200. ieee1394 posts one resume packet to wake up suspended remote ports.
 
  
;pci:
+
== Linux 2.6.30...2.6.39 ==
:* Workaround for FireWire controller of several Toshiba notebooks.
+
  
;sbp2:
+
''June 2009 &ndash; May 2011''
:* Fix for occasional oops during command abortion.
+
  
;scsi/sd:
+
The older ieee1394 driver stack was removed from the kernel after it coexisted as an alternative to the current firewire drivers until kernel 2.6.36 inclusive. Many new features and fixes went into the newer firewire drivers.  Some new drivers were added:  ''firewire-net'' (IPv4 over 1394, replacing the eth1394 driver), ''nosy'' (a bus sniffer, formerly maintained outside of the kernel repository), and ''snd-firewire-speakers'' (for LaCie FireWire speakers and Griffin FireWave).
:* Fix panic or oops when runing the eject command on an iPod.  Fix is also available in Linux 2.6.14.5.
+
  
 +
See [[Release Notes/2.6.3x]].
  
== Linux 2.6.14 ==
 
  
''27 October 2005''
+
== Linux 2.6.20...2.6.29 ==
  
;raw1394:
+
''February 2007 &ndash; March 2009''
:* fix for deadlocks on SMP machines
+
  
;eth1394:
+
The new alternative firewire drivers were added and gradually stabilized.  Since the new drivers were not yet feature-complete, the older ieee1394 stack remained preferred for production but received only few minor updates during this time frame.
:* workaround for 1394b cards, required on some architectures
+
  
;ieee1394:
+
See [[Release Notes/2.6.2x]].
:* bus reset handling slightly changed, helps to detect new devices after a cycle master related reset
+
:* MODALIAS variable provided to hotplug userspace scripts
+
  
;sbp2:
 
:* serialize_io=1 is now default, for better interoperability  (add "options sbp2 serialize_io=0" to /etc/modprobe.conf for optimum performance of 1394b disks)
 
:* fix for hangs of the ieee1394 and scsi subsystems when devices were unplugged, fix for "modprobe -r sbp2"  (these fixes are also present in Linux 2.6.13.4)
 
  
 +
== Linux 2.6.12...2.6.19 ==
  
== Linux 2.6.12 ==
+
''June 2005 &ndash; November 2006''
  
''17 June 2005''
+
This is a stabilization phase of the ieee1394 driver stack in Linux 2.6.
  
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#How_do_I_setup_udev_rules_to_create_the_device_nodes_for_the_various_drivers.3F|FAQ item for example udev rules]].
+
See [[Release Notes/2.6.1x]].

Latest revision as of 13:58, 13 November 2016

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 4.x kernels.

The drivers in Linux 2.4 were considered stable too but have not been updated anymore for a long time. Therefore they lack many features and compatibility updates which went into Linux 2.6.x...4.x releases.

The following release notes only summarize more notable changes. A complete list of IEEE 1394 related changes is available via kernel.org git:


Contents


[edit] Linux 4.9

tentative release notes as per v4.9-rc4

firewire-net
  • Add missing input validation. Invalid IP-over-1394 encapsulation headers could trigger buffer overflows, potentially leading up to remote code execution (CVE-2016-8633). Also fixed in v4.8.7 and v4.4.31.
  • Fix IP-over-1394 link fragmentation headers that were read and written incorrectly, which prevented fragmented reception from/ fragmented transmission to other stacks, including Mac OS X, Windows XP, and older Linux' eth1394. Also fixed in v4.8.7 and v4.4.31.


[edit] Linux 4.8

2 October 2016

snd-firewire-tascam
  • Fix possible deadlock in hwdep interface. Also fixed in v4.7.4 and v4.4.21.
snd-fireworks
  • Fix possible deadlock in hwdep interface. Also fixed in v4.7.4, v4.4.21, v4.1.34, v3.18.43.


[edit] Linux 4.7

24 July 2016

snd-dice
  • Add support for M-Audio Profire 610, and perhaps for Profire 2626.
snd-firewire-lib
  • Add tracepoints to dump a part of isochronous packet data in order to support debugging of device quirks and of kernel-internal packet processing. The patch changelog describes how to use this feature. A subsequent commit expands the dump format.
snd-firewire-lib, snd-bebob, snd-firewire-tascam, snd-fireworks
  • Remove matching of SYT fields of the outbound stream to those of the inbound stream since it proves to be unnecessary in practice. The same was already done in snd-dice in Linux v4.6. This simplifies the kernel code and allows for finer-grained tasklet scheduling.
snd-firewire-lib, snd-bebob, snd-firewire-digi00x, snd-firewire-tascam, snd-fireworks, snd-oxfw
  • Perform sound card registration at least 2 seconds after the last IEEE 1394 bus reset. This was already implemented for snd-dice in Linux v4.5 and is now adopted by the other FireWire audio drivers. It ensures that the bus and device firmware settle into a ready state before userspace initiate I/O to the device.


[edit] Linux 4.6

15 May 2016

snd-bebob
  • internal rework related to streaming recovery after bus reset
snd-dice
  • Change how the dependency between number of available PCM and MIDI channels versus sampling rate is handled. Also affects the hw_params ioctl interface. Userspace should set the desired sampling rate before starting PCM I/O.
  • Change how phase lock is ensured and how lock status is detected.
  • Remove matching of SYT fields of the outbound stream to those of the inbound stream. This synchronization happened when the device was configured for internal clock. It required a startup delay of the outbound stream, which caused DICE II based devices to remain silent at the first attempt to start streaming.
  • Add support for previously unavailable higher PCM channels on certain devices with high channel count, notably Focusrite Saffire PRO 40, Focusrite Liquid Saffire 56, and TC Electronic Studio Konnekt 48. These devices spread the PCM and MIDI channels across 2 tx + 2 rx IEEE 1394 channels instead of just 1 tx + 1 rx IEEE 1394 channel, as most other devices do.
snd-oxfw
  • improvements to MIDI I/O


[edit] Linux 4.5

13 March 2016

snd-dice
  • Improved handling of DICE II firmware bootstrapping during device start-up.
  • Avoid time-out when PCM streaming is started.
snd-firewire-tascam
  • Add support for TASCAM FW-1804.
snd-scs1x
  • The functionality of this driver was moved to the snd-oxfw driver, and the now obsolete snd-scs1x module has been removed.


[edit] Linux 4.4

10 January 2016

firewire-ohci
  • Work around JMicron JMB38x initialization quirk. Affected isochronous transmission, e.g. audio via FFADO or ALSA. Also fixed in v4.3.3, v4.2.8, v4.1.15, v3.18.26, v3.16.35, v3.14.59, v3.12.52, v3.10.95, v3.4.113, v3.2.74.
snd-bebob
  • Fix device identifier of Mackie Onyx 1220/1620/1640 FireWire I/O card.
snd-dice
  • Fix device identifier of Mackie Onyx Blackbird and Onyx-i series.
snd-firewire-digi00x
  • New driver for Digidesign audio interfaces: Digi 002 Console, Digi 002 Rack, Digi 003 Console, Digi 003 Rack, Digi 003 Rack+. Written by Takashi Sakamoto.
snd-firewire-lib
  • Restructured and extended for wider protocol support. Data block processing is split from isochronous packet processing. This work was required for integration of snd-firewire-digi00x and snd-firewire-tascam because devices which are supported by these drivers do not comply with IEC 61883-6. Written by Takashi Sakamoto.
snd-firewire-tascam
  • New driver for TASCAM audio interfaces: FW-1082, FW-1884. Written by Takashi Sakamoto.
snd-oxfw
  • Fix Mackie Onyx Satellite packet discontinuity when device is used in base station mode.
  • Add support for TASCAM FireOne.
  • Fix calculation of MIDI ports.
  • Fix for statically linked (i.e. non-modular) builds.


[edit] Linux 4.3

1 November 2015

No functional changes to the FireWire subsystem.


[edit] Linux 4.2

30 August 2015

snd-bebob
  • Add support for
Digidesign Mbox 2 Pro
Behringer FCA610, FCA1616
  • Improve BeBoB v3 support (PrismSound Orpheus, Behringer UFX1604, Behringer FCA610).
  • Improved clock source detection. Add SYT-Match support.
snd-firewire-lib
  • Internal changes related to packet handling.
snd-fireworks
  • Fix packet discontinuity with newer firmwares. Also fixed in v4.1.6 and v3.18.21.


[edit] Linux 4.1

21 June 2015

No functional changes to the FireWire subsystem.


[edit] Linux 4.0

12 April 2015

firewire-core
The vendor ID and model ID in the Configuration ROM root directory of Linux hosts was changed from 0xd00d1e:0x000001 to 0x001f11:0x023901. This change makes firewire-core's local Configuration ROM comply with IEEE's OUI assignment rules.
This has been made possible by Openmoko's granting a range of IDs to the Linux IEEE 1394 subsystem. See IEEE OUI Assignments for additional information. This change cannot have negative impact on any standard protocols, but developers of private protocols may need to adapt if they relied on these root directory entries instead of their own unit directory entries.
The change was also backmerged into v3.12.51.
snd-bebob
  • Fix initialization of some M-Audio devices with Linux on big-endian CPUs. Also fixed in v3.19.5 and v3.18.13.
snd-firewire-lib, snd-bebob, snd-dice, snd-fireworks
  • Fix device reference counting and shutdown. Also fixed in v3.19.2.


[edit] Linux 3.0...3.19

July 2011 – February 2015

Support of various devices and controllers was improved. IPv6 support was added to firewire-net (v3.10). New drivers ware added:

  • sbp-target lets a Linux node act as a storage device (v3.5),
  • snd-isight for audio capture through Apple iSight FireWire webcam (v3.0),
  • snd-scs1x, a MIDI driver for Stanton SCS.1d and SCS.1m FireWire DJ controllers (v3.8),
  • snd-dice for audio playback through some audio devices based on TC Applied Technologies' DICE chipset (v3.13), later also for audio capture and MIDI through basically all DICE based devices (v3.19),
  • snd-bebob for audio I/O through BridgeCo DM1000/DM1100/DM1500 based devices with BeBoB firmware (v3.16),
  • snd-fireworks for audio I/O through Echo Digital Audio Fireworks based devices (v3.16),
  • snd-oxfw for audio I/O through Oxford Semiconductor OXFW970/971 based devices (v3.19). snd-oxfw replaced snd-firewire-speakers in v3.19 and snd-scs1x in v4.5.

The audio I/O drivers are an alternative to the existing userspace drivers which the FFADO project provides. While the FFADO drivers can only be used in conjunction with JACK, the kernelspace drivers can be used with any ALSA compatible application. However, the kernelspace drivers only implement PCM streaming and MIDI streaming, whereas device control is meant to be provided by userspace applications like ffado-mixer.

See Release Notes/3.x.


[edit] Linux 2.6.30...2.6.39

June 2009 – May 2011

The older ieee1394 driver stack was removed from the kernel after it coexisted as an alternative to the current firewire drivers until kernel 2.6.36 inclusive. Many new features and fixes went into the newer firewire drivers. Some new drivers were added: firewire-net (IPv4 over 1394, replacing the eth1394 driver), nosy (a bus sniffer, formerly maintained outside of the kernel repository), and snd-firewire-speakers (for LaCie FireWire speakers and Griffin FireWave).

See Release Notes/2.6.3x.


[edit] 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 stack remained preferred for production but received only few minor updates during this time frame.

See Release Notes/2.6.2x.


[edit] 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