Hi,
On Dec 07 2015 06:57, Jonathan Woithe wrote:
On Sun, Dec 06, 2015 at 10:23:41PM +0900, Takashi Sakamoto wrote:
Unfortunately, ffado library can disturb this functionality.
In RME::Device::init_hardware() function, the library sends a write transaction
to 0x0000801003f4 with invalid value as higher part of address in IEEE 1212 or
ISO/IEC 13213. This is a worst case I describe in patch 03.
The number which FFADO writes to this register is not invalid: it is in fact
the same number which is used in drivers on other operating systems
(obtained from protocol analysis).
No.
As long as I tested with a debug option to firewire-ohci module, it
sends write transaction with '01000000'. This value includes invalid
node ID.
ConfigRom::getNodeId() returns the invalid value. I think there's
something wrong coding, such like forgetting initialization or update of
the instance.
I think it better that FFADO developers fixes the bug as long as they doesn't
support MIDI functionality.
As above, this is not exactly a bug because other systems set that register
to the value which FFADO uses. In the interests of interoperability I'm
willing to remove manipulation of this register from FFADO, but I suggest
that in time the ALSA driver should consider setting this register as is
done under other systems or else we could introduce subtle behavioural
differences down the track - at least until such time as we understand what
the high part of that register does.
Regards
Takashi Sakamoto
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel