Version 56 (modified by autostatic, 11 years ago)
--

Host Controllers

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).

ALi

M5251/M5253/M5271: problematic

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.

JMicron

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.

In stefanr's experience with a JMB381 on an ASUS µATX motherboard, there are three kinds of rather serious problems:

  1. 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.
  2. 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.
  3. 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.

NEC

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.

O2 Micro

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)
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])

unknown:

FireWire (IEEE 1394) [0c00]:O2 Micro, Inc. OZ600 1394a-2000 Controller [1217:11f7] (rev 05) (prog-if 10 [OHCI])

Ricoh

In general we have bad experiences with these. But sometimes they seem to work.

Unknown:

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):

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 2.6.31.6-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.

SiS

Problematic:

FireWire (IEEE 1394): Silicon Integrated Systems [SiS] FireWire Controller (prog-if 10 [OHCI])

Texas Instruments

Supposed to work (single audio devices, and device aggregation too; old and new kernel drivers)

VIA

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): should work:
    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)
    

PCI Express:

  • VT6315 (rev 01): works for AutoStatic with a Focusrite Saffire PRO40 at 48KHz:
    VIA Technologies, Inc. VT6315 Series Firewire Controller [1106:3403] (rev 01)
    

JACK fails to initialize when using 88.2KHz with this setup. It does work with a Texas Instruments XIO2213 controller: http://sourceforge.net/mailarchive/message.php?msg_id=29923673


Recommendations

Nowadays, no new system should use a PCI controller, so all these recommendations are PCI Express chips. In order:

  1. LSI FW533E or FW643E
    (The older FW643 revision is not used on any modern card.)
  2. Texas Instruments XIO2213B
  3. 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