[alsa-devel] [FFADO-user] Toneweal / Trigaudio FW66 device

Takashi Sakamoto o-takashi at sakamocchi.jp
Sun Jan 19 17:43:35 CET 2020


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


More information about the Alsa-devel mailing list