[alsa-devel] Toneweal / Trigaudio FW66 device

Daniel Jozsef daniel.jozsef at gmail.com
Tue Jan 28 23:28:20 CET 2020


Hey Takashi,

I'm a little baffled by what my device just did. :P

$ ./firewire-request /dev/fw1 fcp 0x016002c0000100ffff00
response: 000: 0c 60 02 c0 00 01 00 ff ff 00 00                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0000101ffff00
response: 000: 0c 60 02 c0 00 01 01 ff ff 00 00                .`.........
(<- didn't fail)
$ ./firewire-request /dev/fw1 fcp 0x016002c0000102ffff00
response: 000: 0c 60 02 c0 00 01 02 ff ff 00 00                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0000103ffff00
response: 000: 0c 60 02 c0 00 01 03 ff ff 00 00                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0000104ffff00
response: 000: 0c 60 02 c0 00 01 04 ff ff 00 02                .`.........
(<- didn't fail)

In fact...

$ ./firewire-request /dev/fw1 fcp 0x016002c0000105ffff00
response: 000: 0c 60 02 c0 00 01 05 ff ff 00 03                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0000106ffff00
response: 000: 08 60 02 c0 00 01 06 ff ff 00                   .`........
(<- shorter)
$ ./firewire-request /dev/fw1 fcp 0x016002c0000107ffff00
response: 000: 08 60 02 c0 00 01 07 ff ff 00                   .`........
$ ./firewire-request /dev/fw1 fcp 0x016002c00001ffffff00
response: 000: 08 60 02 c0 00 01 ff ff ff 00                   .`........
(<-srsly?)

As for the second batch:

$ ./firewire-request /dev/fw1 fcp 0x016002c0010100ffff00
response: 000: 0c 60 02 c0 01 01 00 ff ff 00 00                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0010101ffff00
response: 000: 0c 60 02 c0 01 01 01 ff ff 00 00                .`.........
(<- didn't fail)

So again...

$ ./firewire-request /dev/fw1 fcp 0x016002c0010102ffff00
response: 000: 0c 60 02 c0 01 01 02 ff ff 00 00                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0010103ffff00
response: 000: 0c 60 02 c0 01 01 03 ff ff 00 02                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0010104ffff00
response: 000: 0c 60 02 c0 01 01 04 ff ff 00 03                .`.........
$ ./firewire-request /dev/fw1 fcp 0x016002c0010105ffff00
response: 000: 08 60 02 c0 01 01 05 ff ff 00                   .`........
(<- shorter)
$ ./firewire-request /dev/fw1 fcp 0x016002c0010106ffff00
response: 000: 08 60 02 c0 01 01 06 ff ff 00                   .`........
$ ./firewire-request /dev/fw1 fcp 0x016002c001010fffff00
response: 000: 08 60 02 c0 01 01 0f ff ff 00                   .`........

Honestly I have no idea what is going on. :D

Daniel

On Sat, Jan 25, 2020 at 3:18 AM Takashi Sakamoto <o-takashi at sakamocchi.jp>
wrote:

> Hi,
>
> On Fri, Jan 24, 2020 at 10:16:53PM +0000, Daniel Jozsef wrote:
> > $ ./firewire-request /dev/fw1 fcp 0x01ff3000ffffffff
> > response: 000: 0c ff 30 07 0f 00 23 27                         ..0...#'
> > $ ./firewire-request /dev/fw1 fcp 0x01ff3100ffffffff
> > response: 000: 0c ff 31 00 08 60 ff ff                         ..1..`..
> > $ ./firewire-request /dev/fw1 fcp 0x01ff0200ffffffff
> > response: 000: 0c ff 02 00 02 02 04 03                         ........
> > $ ./firewire-request /dev/fw1 fcp 0x01080200ffffffff
> > response: 000: 0c 08 02 00 04 01 ff ff                         ........
> > $ ./firewire-request /dev/fw1 fcp 0x01600200ffffffff
> > response: 000: 0c 60 02 00 06 05 ff ff                         .`......
> >
> > From what I gather from the reference you linked, this seems more or less
> > what's expected, though I'm not entirely sure yet what it means for the
> > device to have 6 destination and 5 source plugs on the music subunit...
> :D
> > (If I read the specs correctly...)
>
> You got it correctly. Here, let's back to FFADO log:
>
> > Error (bebob_avplug.cpp)[ 237] discoverPlugType: Plug does not implement
> extended plug info plug type info command
> > Error (bebob_avplug.cpp)[ 120] discover: discover: Could not discover
> plug type (1,1,0,0,1)
> > Error (avc_subunit.cpp)[ 189] discoverPlugs: plug discover failed
> > Error (avc_subunit.cpp)[ 131] discoverPlugs: destination plug
> discovering failed
> > Error (avc_subunit.cpp)[  99] discover: plug discovery failed
> > Error (avc_unit.cpp)[ 283] enumerateSubUnits: enumerateSubUnits: Could
> not discover subunit_id =  0, subunit_type =  1 (Audio)
> > Error (avc_unit.cpp)[ 177] discover: Could not enumerate sub units
>
> It's my mistake to interpret the target subunit to which the command
> fails. It's 'Audio' subunit, not 'Music' subunit...
>
> > plug type (1,1,0,0,1)
> 1 = node ID (=0xFF01)
> 1 = subunit type (=audio)
> 0 = subunit ID
> 0 = direction (=input)
> 1 = plug ID (=0x01)
>
> The EXTENDED PLUG INFO command is one of specific command for BeBoB
> solution and its specification is closed. In your case, 4 plugs are
> detected as destination plug and 1 plug as source plug in Audio
> subunit by AV/C PLUG INFO command for Audio subunit, thus below
> commands are expected to return valid information as long as
> implemented correctly:
>
> (4 destination plugs = 4 input plugs)
> (AV/C EXTENDED PLUG INFO command for input plugs of Music subunit)
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000100ffff00
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000101ffff00 (<-)
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000102ffff00
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000103ffff00
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000104ffff00 (should fail)
>
> (1 source plug = 1 output plug)
> (AV/C EXTENDED PLUG INFO command for output plugs of Music subunit)
> $ ./firewire-request /dev/fw1 fcp 0x016002c0010100ffff00
> $ ./firewire-request /dev/fw1 fcp 0x016002c0010101ffff00 (should fail)
>
> However, some vendors seem to implement the above with less care of
> compatibility, as long as I know. In your case, below command might
> fail:
>
> $ ./firewire-request /dev/fw1 fcp 0x016002c0000101ffff00 (<-)
>
> I'd like you to execute the above commands and share their responses.
>
>
> Regards
>
> Takashi Sakamoto
>


More information about the Alsa-devel mailing list