Hi,
On Tue, Jan 28, 2020 at 10:28:20PM +0000, Daniel Jozsef wrote:
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
It looks to work well.
You tried for input plugs of audio subunit, thus the shorter response with 0x08 in the first byte (=NOT IMPLEMENTED) is expected for inquiry to 6th input plug.
Hm. I guess your issue is a kind of Heisenbugs[1]. It seems to depend on case. To drill down the case in which the issue appears, I'd like you to investigate whether you can see the same log every time you run with libffado (jackd with Firewire backend, or ffado-dbus-server) or not:
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)
Additionally, I write a patch for ALSA bebob driver to support your device[2]. If you need a prompt solution to use the device in Linux-based system, it's available in topic branch of my remote repository. But it's required for you to study the way to update installed driver modules...
I note that ALSA bebob driver supports transmission of audio frames and MIDI messages, thus it's not available to control internal DSP.
[1] https://en.wikipedia.org/wiki/Heisenbug [2] https://github.com/takaswie/snd-firewire-improve/commit/1c9fabb7dd9de36ea829... [3] https://github.com/takaswie/snd-firewire-improve/tree/topic/fw66
Regards
Takashi Sakamoto