![](https://secure.gravatar.com/avatar/6ad2911cf7f4e6ac971062aeaaaf334d.jpg?s=120&d=mm&r=g)
Hi Harry and Clemens,
On 2014年08月25日 21:09, Harry van Haaren wrote:
On Mon, Aug 25, 2014 at 5:21 AM, Takashi Sakamoto o-takashi@sakamocchi.jp wrote:
(C.C.ed to alsa-devel and Clemens)
Thanks!
I know that some Fireworks devices with a certain firmware (not exactly identified) sometimes perform the same behaviour. Could I ask you to confirm to see these logs always when you playback, or sometimes?
Its consistent: every time it is opened for playback.
Thanks for your confirmation.
In this case, I think there're two causes of discontinuity; one is an actual discontinuity, another is due to wrong parameters in packet header, i.e.:
ALSA: fireworks/firewire-lib: Add a quirk for wrong dbs in tx packets http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/fir...
I suspect the latter reason [1], so I want to see a series of packet header. Would you please apply this patch to your tree and try again to get logs?
https://github.com/takaswie/snd-firewire-improve/commit/0d9763c2d0497a2b2440...
If you have a knowledgement about DKMS, this branch will help your test. https://github.com/takaswie/snd-firewire-improve/tree/af2-debug
When you playback with re-builded snd-firewire-lib (not snd-fireworks, this is an engine for IEC 61883-1/6), you can see much lines in your dmesg output, like:
[ 2308.048941] 042: 00050088 90013b31 [ 2308.048943] 002: 00040090 9001ffff [ 2308.048945] 042: 00050090 9001549b [ 2308.048946] 042: 00050098 90016a05 [ 2308.048948] 002: 000400a0 9001ffff [ 2308.048950] 042: 000500a0 90018370 [ 2308.048952] 042: 000500a8 900198da [ 2308.048954] 002: 000400b0 9001ffff [ 2308.048956] 042: 000500b0 9001b245 [ 2308.048958] 042: 000500b8 9001c7af [ 2308.048960] 042: 000500c0 9001e119 [ 2308.050924] 002: 000400c8 9001ffff (packets transmitted by M-Audio Firewire 410 at 44.1kHz)
If you successfully get these logs, please show it to us. I think logs corresponding to beginning of streaming is helpful.
To test / debug some more, I've tried starting JACK on the device using ALSA, hw:AudioFire2, duplex, -p256 -n2. QJackCtl reports a stream of xruns: are these the discontinuities similar to the dmesg prints?
When detecting packet discontinuity, current ALSA firewire stack changes PCM substream status to XRUN, so jackd show xruns.
I'll try upgrading the firmware on the device (I don't know what version is currently on it). OK: after a flash (using a windows machine), the ASIO driver there now reports the following (latest from Echo) firmware versions:
WDM driver 5.8 ASIO driver 5.8 Console 5.8.1 ARM firmware 5.8 FPGA 3.0.2
You can see the firmware version in 'arm_version' field of proc output:
On Aug 25 2014 09:06, Harry van Haaren wrote:
arm_version: 0x5070300
(This is a firmware for TI IceLynx-Micro. This chipset includes ARM core. In detail, see: http://subversion.ffado.org/wiki/Fireworks)
On Aug 26 2014 05:42, Clemens Ladisch wrote:
I suspect these counter values are generated by the hardware; I don't think that the firmware can do anything to affect this.
I do not get any discontinuities with ARM firmware 3.0.2. So much for that theory.
I think this patch deny this idea.
ALSA: fireworks/firewire-lib: Add a quirk for fixed interval of reported dbc http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/fir...
Fireworks firmware for IceLynx-Micro affects parameters in packet header.
##########
[1] According to IEC 61883-1/6, the interval of 'data block counter' equals to SYT_INTERVAL. At 44.1/48.0 kHz, it's 8 and the number should be multiples of 8. The output from my Firewire 410 follows this specification.
But your log shows wrong number.
On Aug 25 2014 21:09, Harry van Haaren wrote:
[ 190.433203] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 0A [ 190.591959] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 02 [ 190.749202] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 12 [ 190.908270] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 12 [ 191.066267] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 0A [ 191.225139] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 02 [ 191.383942] snd-fireworks fw1.0: Detect discontinuity of CIP: 00 02
0x02, 0x0A, 0x12 are not multiples of 8.
In this reason, I suspect that wrong parameters in headers.
##########
Regards
Takashi Sakamoto o-takashi@sakamocchi.jp