Hi,
I forgot to add this comment about Fireworks quirk.
==== 3. This module handle transmitted packets with both TAG0 and TAG1
In IEC 61883-1, each common isochronous packet (CIP) has 'tag' field in its packet header. The value is generally 0x01 (CIP header is included = TAG1). But Fireworks in IEC 61883-1/6 compliant mode transmits 'no data' packet with 0x00 (No CIP header is included = TAG0) but the packet includes CIP structure. For duplex streams synchronization, this packets must be handled.
Current firewire-lib supports packet with TAG1. This commit makes firewire-lib to support both TAG0 and TAG1 for this quirk.
When handling CIP packet with invalid header, this module already output 'Invalid CIP header for AMDTP' log and continue to process.
(I note this 'no data' packet is out of specification because it includes no dummy data. In IEC 61883-6, 'no data' packet is generated by two ways. One is empty CIP packet defined in IEC 61883-1. Another is 'special non-empty packet' defined in IEC 61883-6. Fireworks uses strange combination of them.) ====
Regards
Takashi Sakamoto o-takashi@sakamocchi.jp