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@xxxxxxxxxxxxx> 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 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel