Agere / LSI
FW322/323 should work.
Old revisions of the FW643 might cause issues:
Agere Systems FW643 PCI Express1394b Controller (PHY/Link) (rev 06)
FW533-E, FW643-E, or FW643-E2 should work:
Agere Systems FW533 PCI Express 1394a Controller (PHY/Link) Agere Systems FW643 PCI Express 1394b Controller (PHY/Link) (rev 07) or (rev 08)
For stefanr and at least one other user, FW643-E works for FFADO with the newer firewire-ohci/-core kernel drivers but not with the older ohci/ieee/raw1394 drivers. In other words, you likely need the newer "juju" kernel drivers if you have an FW643 controller.
Aggregation of two audio devices on the same bus works for stefanr with FW643-E (rev 07) and with FW323 (rev 61).
Some ALi M52xx based controller cards do work more or less well with the older ohci/ieee/raw1394 kernel drivers but not yet with the newer firewire-ohci driver.
JMB381/JMB382/JMB383: very problematic
Works for artfwo, but sometimes hangs randomly and requires reboot (64x3 and 128x3 on Ubuntu 11.04, 2.6.38-8-generic kernel, libraw1394-2.0.7, libffado-2.0.99+svn1968):
FireWire (IEEE 1394) [0c00]: JMicron Technology Corp. IEEE 1394 Host Controller [197b:2380]
This host controller works quite well together with a Focusrite Saffire Pro 10 IO and a 2.6.33 real-time kernel on Ubuntu 10.04 (AutoStatic). I'd recommend not going below 128x3 though. Maximum sample rate used was 48kHz.
In stefanr's experience with a JMB381 on an ASUS µATX motherboard, there are three kinds of rather serious problems:
- Device detection after plug-in/ power-on is very unreliable. Quite often, IEEE 1394 requests time out due to lack of a response. This could be a bug of the chip or of the board.
- There are lots of xruns. With kernel 3.5 (mainline, preempt), FFADO r2192 (trunk from early August 2012, before release 2.1), libraw1394 2.1.0, and Terratec Phase X24FW (a BeBoB based device), -p32 -n3 as buffer size gives about 10 xruns in 24 hours. With slightly larger buffers, it soon degrades to about 30 xruns per hour. With Focusrite Saffire PRO24 (a DICE based device), buffers need to be even smaller: -p16 -n4 gives about 15 xruns in 24 hours. Again, slightly larger buffer settings give about 30 xruns per hour, and large buffers soon give several xruns per minute. Note that both audio devices work with zero xruns with Agere and Texas Instruments controllers on the very same PC/ same software/ same workload.
- Due to chip bugs it may happen that JMB38x stops to work entirely at a random moment and can only be brought back by reboot. This happens only very rarely though.
Conclusion: These controllers should not be seriously considered for extended usage, regardless whether with FFADO or any other FireWire gear. In fact, the JMB38x is practically unusable for audio I/O at least with mainline kernels.
D72862/D72870/D72871/D72872/D72873/D72874 ("OrangeLink"): problematic
A NEC based CardBus card from Orange Micro works for stefanr with old and new kernel drivers:
FireWire (IEEE 1394) [0c00]: NEC Corporation IEEE 1394 [OrangeLink] Host Controller [1033:00cd] (rev 03)
but only with a single audio device. Aggregation of two audio devices was not possible on this card.
Found in some notebooks, typically as a combo device together with a memory card slot controller. Problematic at least with older kernels.
Works for AutoStatic (tested with AV Linux 5.0 booted from USB stick and a Focusrite Saffire Pro 24 running at 48kHz)
but does not work for Jahn E. (tested with Ubuntu kernel 3.2.0-23-lowlatency-pae and an RME Fireface 800):
FireWire (IEEE 1394) [0c00]:O2 Micro, Inc. FireWire (IEEE 1394) [1217:00f7] (rev 02) (prog-if 10 [OHCI])
FireWire (IEEE 1394) [0c00]:O2 Micro, Inc. OZ600 1394a-2000 Controller [1217:11f7] (rev 05) (prog-if 10 [OHCI])
In general we have bad experiences with these. But sometimes they seem to work.
FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 02) (prog-if 10 [OHCI])
Works for Arnold:
FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 08)
Works for AutoStatic (tested with AV Linux 5.0 booted from USB stick and a Focusrite Saffire Pro 24 running at 48kHz):
FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 09)
Seems to not work for most people (Exceptions - Scott reports 100% success with FFADO-2-RC1 UBS 8.10 on Jan 14th 2009. 100% success with FFADO-2-RC1 in Fedora 10. Pedro reports good performance (128x3) with ffado-svn (as of Nov 2009), kernel 184.108.40.206-rt19/Debian testing on a Lenovo T400 laptop and cpufreq governor set to performance):
FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (prog-if 10 [OHCI]) FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd FireWire Host Controller [1180:e832] (prog-if 10 [OHCI])
Another R5C832 owner reports on #ffado that moderately small buffer sizes like 128 work whereas jack frequently dies with larger buffer sizes like 1024 frames/period (both with kernel 3.0.0-2-rt-amd64/Debian):
FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 04) (prog-if 10 [OHCI])
There is a tool from Ricoh which can be used under Windows to temporarily modify the OHCI hardware buffer configuration for better audio I/O performance (and worse FireWire disk/network performance) of these last two Ricoh controllers. It's not yet available on Linux.
FireWire (IEEE 1394): Silicon Integrated Systems [SiS] FireWire Controller (prog-if 10 [OHCI])
This is a very old (but nowadays also very rare) controller with some bugs and limitations. How well it works for FFADO is currently unknown.
All other TSB... controllers, all XIO... controllers:
These are known to work very well with single audio devices and also with two or more audio devices aggregated on the same bus. Therefore these controllers can generally be recommended for use with FFADO. (Caveat: There are certain PC mainboards with onboard TI TSB controller which don't work so well due to buggy BIOS, or possibly due to bad board layout.)
This controller is suspected to be of lesser stability than the TSB series. How well PCIxx12 works for FFADO is currently unknown.
For VT6306/7/8, the device ID is the same; the actual chip is given by the revision:
- VT6306 (rev 46): Has bandwidth limitations; does not work for at least one user:
VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev 46) VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 46)The controller is a VIA VT6306 on a Tekram "KEC L1582V" PCI card.
A VT6306 based noname CardBus card works for stefanr with old and new kernel drivers, but only with a single audio device connected. Any attempts to aggregate two audio devices on this card failed.
- VT6307 (rev 80): Works for adi:
VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev 80) VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 80)
- VT6308 (rev c0): Works for Tim Henderson, aggregating 2 Presonus Fireboxes:
VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev c0) VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)
- VT6315: works for AutoStatic with a Focusrite Saffire PRO40 running at 48kHz:
VIA Technologies, Inc. VT6315 Series Firewire Controller [1106:3403] (rev 01)JACK fails to initialize when using 88.2KHz or 96kHz with this setup: http://sourceforge.net/mailarchive/message.php?msg_id=29871038
Nowadays, no new system should use a PCI controller, so all these recommendations are PCI Express chips. In order:
- LSI FW533E or FW643E
(The older FW643 revision is not used on any modern card.)
- Texas Instruments XIO2213B
- VIA VT6315
Cards with the FW533E/VT6315 are not as expensive because they support only 400 MBit/s; the higher bandwidth of the FW643E/XIO2213B is not used by any audio interface except the Fireface 800.
DICE Interface Compatibility
A lot of more recent FireWire audio devices are using a DICE chipset, like the most recent Focusrite Saffire Pro series. TC Applied Technologies has a document available that lists the compatibility of their Windows (and maybe also OSX) host drivers with a number of FireWire host controllers. Some of the compatibility issues might be traced back to hardware quirks so FFADO could be affected also by these quirks. Therefore it could be handy to have the TC Applied Technologies list available as a point of reference.
The following host controllers are compatible with TC Applied Electronics' host drivers:
- Agere / LSI FW322, FW323 and FW643
- Texas Instruments TSB43A, TSB82A, TSB83A, XIO2200 and XIO2213
- VIA VT6306, VT6307, VT6308 and VT6315. The VT6315 does not appear in the TC Applied Technologies blacklist document but it has been successfully tested with a Focusrite Saffire Pro 40 and Pro 24 at 64/48000*3 (AutoStatic).
The VT6306 has some limitations regarding the number of playback channels:
- 32 channels at 32kHz-48kHz
- 16 channels at 88.2kHz-96kHz
- 8 channels at 176.4kKz-192kHz
- NEC D72874. The D72874 has some limitations regarding the number of playback channels:
- 48 channels at 32kHz-48kHz
- 24 channels at 88.2kHz-96kHz
- 12 channels at 176.4kKz-192kHz
When exceeding the aforementioned number of channels the card will fail and will only work again after a reboot.
The following host controllers are incompatible with the TC Applied Technologies DICE drivers:
- JMicron JMB381, JMB382 and JMB383. This also applies for FFADO, it has been tested on a HP DV7 notebook with a JMicron JMB38x host controller and both the Focusrite Saffire Pro 24 and Pro 40 refuse to initialize properly (AutoStatic).
- NEC D72870, D72871, D72872 and D72873