[alsa-devel] [PATCH] ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

Takashi Iwai tiwai at suse.de
Mon May 21 11:34:21 CEST 2018


On Sun, 20 May 2018 07:40:44 +0200,
Takashi Sakamoto wrote:
> 
> TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
> and doesn't support TCAT extended application protocol. For such devices,
> ALSA dice driver needs to have hard-coded parameters for stream formats.
> 
> This commit adds stream format parameters for this model. Unfortunately, at
> sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
> ALSA dice driver doesn't drive the device appropriately due to detecting
> packet discontinuities.
> 
> $ journalctl
> kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80
> 
> At the frequencies, the device transfers 16 data blocks per packet and 16
> data channels per data block, as a result one packet includes 1032 bytes
> if it's not NODATA. However, as long as I checked, the device often
> postpone packet transmission and continue with truncated payload than
> metadata in isochronous packet header. Below is a sample of sequence I got.
> 
> sec cycle bytes       CIP1       CIP2
>  37  3314  1032 0x01100090 0x900449E2
>  37  3315     8 0x011000A0 0x9004FFFF
>  37  3316  1032 0x011000A0 0x900461E2
>  37  3317  1032 0x011000B0 0x900475E2
>  37  3318  1032 0x011000C0 0x900489E2
>  37  3319     8 0x011000D0 0x9004FFFF
>  37  3320  1032 0x011000D0 0x9004A1E2
>  37  3321  1032 0x011000E0 0x9004B5E2
>  37  3322  1032 0x011000F0 0x9004C9E2
>  37  3323     8 0x01100000 0x9004FFFF
>  37  3324  1032 0x01100000 0x9004E1E2
>  37  3325  1032 0x01100010 0x9004F5E2
>  37  3326  1032 0x01100020 0x900409E2
>  37  3327     8 0x01100030 0x9004FFFF
>  37  3328  1032 0x01100030 0x900421E2
>  37  3329  1032 0x01100040 0x900435E2
>  37  3330  (skip)
>  37  3331  (skip)
>  37  3332  (skip)
>  37  3333  (skip)
>  37  3334  (skip)
>  37  3335  (skip)
>  37  3336  (skip)
>  37  3337  (skip)
>  37  3338  (skip)
>  37  3339  (skip)
>  37  3340  (skip)
>  37  3341  (skip)
>  37  3342  (skip)
>  37  3343  (skip)
>  37  3344  (skip)
>  37  3345  (skip)
>  37  3346  (skip)
>  37  3347  (skip)
>  37  3348  (skip)
>  37  3349  (skip)
>  37  3350  (skip)
>  37  3351  (skip)
>  37  3352  (skip)
>  37  3353  (skip)
>  37  3354  (skip)
>  37  3355  (skip)
>  37  3356  (skip)
>  37  3357  (skip)
>  37  3358  (skip)
>  37  3359  (skip)
>  37  3360  (skip)
>  37  3361  (skip)
>  37  3362  (skip)
>  37  3363  (skip)
>  37  3364  (skip)
>  37  3365  (skip)
>  37  3366  (skip)
>  37  3367  1032 0x01100050 0x900461E1
>  37  3368  1032 0x01100060 0x900475E1
>  37  3369  1032 0x01100070 0x9004A1E1
>  37  3370  1032 0x01100080 0x9004A1E1 but content of payload is truncated.
>  37  3371  (skip)
>  37  3371  1032 0x01100080 0x9004B5E0 detect discontinuity
>  37  3372  1032 0x01100090 0x9004C9E0
>  37  3373  1032 0x011000A0 0x9004E1E0
>  37  3374  1032 0x011000B0 0x9004F5E0
>  37  3375  1032 0x011000C0 0x900409E0
>  37  3376  1032 0x011000D0 0x900421E0
>  37  3377  1032 0x011000E0 0x900435E0
>  37  3378  1032 0x011000F0 0x900449DF
>  37  3379     8 0x01100000 0x9004FFFF
>  37  3380  1032 0x01100000 0x900461DF
>  37  3381  1032 0x01100010 0x900475DF
>  37  3382  1032 0x01100020 0x900489DF
>  37  3383     8 0x01100030 0x9004FFFF
>  37  3384  1032 0x01100030 0x9004A1DF
>  37  3385  1032 0x01100040 0x9004B5DF
>  37  3386  1032 0x01100050 0x9004C9DF
>  37  3387     8 0x01100060 0x9004FFFF
> 
> I cannot confirm this quirks with Windows driver. ALSA dice driver has a
> cause if assumed differences between these two drivers are ways of
> timestampling to RX packets from the drivers to the device. I've already
> reported timestamping quirk of Dice-based devices and this might bring
> this issue.
> 
> [alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
> http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html
> 
> Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
> This may brings inconvenience to users but I expect developers and users
> to fix it.
> 
> $ cd linux-firewire-utils/src
> $ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
>                ROM header and bus information block
>                -----------------------------------------------------------------
> 400  040423bb  bus_info_length 4, crc_length 4, crc 9147
> 404  31333934  bus_name "1394"
> 408  e0ff8112  irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
>                max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
> 40c  00016604  company_id 000166     |
> 410  0c232c28  device_id 040c232c28  | EUI-64 000166040c232c28
> 
>                root directory
>                -----------------------------------------------------------------
> 414  0006b6cb  directory_length 6, crc 46795
> 418  03000166  vendor
> 41c  8100000a  --> descriptor leaf at 444
> 420  17000030  model
> 424  8100000f  --> descriptor leaf at 460
> 428  0c0087c0  node capabilities per IEEE 1394
> 42c  d1000001  --> unit directory at 430
> 
>                unit directory at 430
>                -----------------------------------------------------------------
> 430  000476c2  directory_length 4, crc 30402
> 434  12000166  specifier id
> 438  13000001  version
> 43c  17000030  model
> 440  81000010  --> descriptor leaf at 480
> 
>                descriptor leaf at 444
>                -----------------------------------------------------------------
> 444  0006c490  leaf_length 6, crc 50320
> 448  00000000  textual descriptor
> 44c  00000000  minimal ASCII
> 450  54432045  "TC E"
> 454  6c656374  "lect"
> 458  726f6e69  "roni"
> 45c  63000000  "c"
> 
>                descriptor leaf at 460
>                -----------------------------------------------------------------
> 460  000772b4  leaf_length 7, crc 29364
> 464  00000000  textual descriptor
> 468  00000000  minimal ASCII
> 46c  44696769  "Digi"
> 470  74616c4b  "talK"
> 474  6f6e6e65  "onne"
> 478  6b747833  "ktx3"
> 47c  32000000  "2"
> 
>                descriptor leaf at 480
>                -----------------------------------------------------------------
> 480  000772b4  leaf_length 7, crc 29364
> 484  00000000  textual descriptor
> 488  00000000  minimal ASCII
> 48c  44696769  "Digi"
> 490  74616c4b  "talK"
> 494  6f6e6e65  "onne"
> 498  6b747833  "ktx3"
> 49c  32000000  "2"
> 
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>

Applied, thanks.


Takashi


More information about the Alsa-devel mailing list