Hi,
I'm an author of ALSA bebob driver (snd-bebob).
On Sun, Jan 19, 2020 at 03:01:00PM +0100, Daniel Jozsef wrote:
It's a Toneweal FW66, a 6x6 in/out 24bit 96kHz audio interface with MIDI. I kinda like it for its build quality and the time I spent with it. :D The largest chip in the device is labeled Trigaudio MNP-TA110. I searched for information on this device, and found very little - it's a Taiwanese company. There seems evidence that a "Trigaudio FW66" also exists, so the device may have been sold under different brands in different markets.
In my opinion, FW66 is an application of ArchWave BeBoB solution for audio and music units on IEEE 1394 bus (ArchWave is formerly known as BridgeCo) since I can find file structure for the solution in driver package shipped by the vendor. I guess that you can see large ASIC labelled with 'BridgeCo' (or 'ArchWave') DM1000/1100/1500 inner the device. If so, the device is possibly handled by implementation of FFADO.
But as a quick glance to your log, the implementation of FFADO fails to detect it:
daniel@gibbonmoon:~$ sudo ffado-test Discover ... 02878614308: Warning (bebob_avdevice.cpp)[ 228] discover: Using generic BeBoB support for unsupported device 'ToneWeal FW66' 02878620133: Debug (bebob_avdevice_subunit.cpp)[ 83] discover: Discovering BeBoB::AudioSubunit... 02878620175: Debug (avc_audiosubunit.cpp)[ 56] discover: Discovering BeBoB::AudioSubunit... 02878620196: Debug (avc_subunit.cpp)[ 108] discoverPlugs: Discovering plugs... 02878778208: Error (bebob_avplug.cpp)[ 237] discoverPlugType: Plug does not implement extended plug info plug type info command 02878778236: Error (bebob_avplug.cpp)[ 120] discover: discover: Could not discover plug type (1,1,0,0,1) 02878778272: Error (avc_subunit.cpp)[ 189] discoverPlugs: plug discover failed 02878778283: Error (avc_subunit.cpp)[ 131] discoverPlugs: destination plug discovering failed 02878778301: Error (avc_subunit.cpp)[ 99] discover: plug discovery failed 02878778312: Error (avc_unit.cpp)[ 283] enumerateSubUnits: enumerateSubUnits: Could not discover subunit_id = 0, subunit_type = 1 (Audio) 02878778335: Error (avc_unit.cpp)[ 177] discover: Could not enumerate sub units 02878778347: Error (bebob_avdevice.cpp)[ 232] discover: Could not discover unit 02878778376: Error (devicemanager.cpp)[ 628] discover: could not discover device 02878778419: Debug (devicemanager.cpp)[ 661] discover: Discovery finished...
...
The reason is the unit returns NOT_IMPLEMENTED response against vendor specific AV/C command (Extended Plug Information command defined by BridgeCo.) for Audio subunit. I guess that the device has no Audio subunit but the implementation performs to use it without checking available subunits.
For my information, would you please clone linux-firewire-utils[1] into your system and build it, then run below command to dump device information:
$ ./firewire-request /dev/fw1 read 0xffffc8020000 60 result: 000: 62 72 69 64 67 65 43 6f 03 00 00 00 00 00 00 00 bridgeCo........ result: 010: 00 96 14 00 22 03 00 00 19 00 00 00 00 00 00 00 ...."........... result: 020: 32 30 30 39 30 36 30 39 31 36 32 39 34 30 20 20 20090609162940 result: 030: 00 00 00 19 07 1f 00 00 80 00 0c 40 70 35 14 00 ...........@p5.. result: 040: 32 30 30 39 30 36 30 39 31 36 32 32 31 39 20 20 20090609162219 result: 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
The above is a sample of Phonic Firefly 202. I expect the first line includes bytes represent 'bridgeCo'.
[1] https://github.com/cladisch/linux-firewire-utils
Regards
Takashi Sakamoto