[PATCH 14/41] ALSA: usb-audio: Create endpoint objects at parsing phase - Pioneer DJ DJM-250MK2 stopped working

František Kučera konference at frantovo.cz
Wed Jan 6 20:01:16 CET 2021


Dne 06. 01. 21 v 10:03 Takashi Iwai napsal(a):
> OK, then could you try the v3 patch below?

I tried v3 patch. Playback works, but recording does not - i found errors like these in the log during recording:

Jan  6 18:07:08 antracit kernel: [  619.973372] retire_capture_urb: 21 callbacks suppressed
Jan  6 18:07:13 antracit kernel: [  624.974175] retire_capture_urb: 9993 callbacks suppressed
Jan  6 18:07:18 antracit kernel: [  629.978015] retire_capture_urb: 9999 callbacks suppressed
Jan  6 18:08:04 antracit kernel: [  675.932930] retire_capture_urb: 102 callbacks suppressed
Jan  6 18:08:09 antracit kernel: [  680.936305] retire_capture_urb: 9998 callbacks suppressed
Jan  6 18:08:14 antracit kernel: [  685.940643] retire_capture_urb: 10000 callbacks suppressed
Jan  6 18:09:45 antracit kernel: [  776.168655] retire_capture_urb: 302 callbacks suppressed
Jan  6 18:09:50 antracit kernel: [  781.169504] retire_capture_urb: 9993 callbacks suppressed
Jan  6 18:09:55 antracit kernel: [  786.173337] retire_capture_urb: 9999 callbacks suppressed

(the original "Incompatible EP setup for 0x82" error was also present in the log)

The arecord command does nothing and after few seconds it fails with:

$ arecord -D hw:CARD=DJM250MK2 -f S24_3LE -c 8 -r 48000 > v3.wav
Recording WAVE 'stdin' : Signed 24 bit Little Endian in 3bytes, Rate 48000 Hz, Channels 8
arecord: pcm_read:2153: read error: Input/output error

The stream0 files from v2 and v3 differs in: Playback / Implicit Feedback Mode: Yes/No


BTW: playback or capture sometimes returns error for the first time but next attempts are successful. However I saw this behavior even in the older versions, so it is nothing v3 specific.

This is the error I got sometimes during the first run:

$ arecord -D hw:CARD=DJM250MK2 -f S24_3LE -c 8 -r 48000 > v3.wav
Recording WAVE 'stdin' : Signed 24 bit Little Endian in 3bytes, Rate 48000 Hz, Channels 8
arecord: set_params:1407: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: 192
CHANNELS: 8
RATE: 48000
PERIOD_TIME: (455104 455105)
PERIOD_SIZE: 21845
PERIOD_BYTES: 524280
PERIODS: 2
BUFFER_TIME: (910208 910209)
BUFFER_SIZE: 43690
BUFFER_BYTES: 1048560
TICK_TIME: 0

If I execute the same command again, it works. (but not in v3).

Franta

-------------- next part --------------
Pioneer DJ Corporation DJM-250MK2 at usb-0000:00:12.2-3, high speed : USB Audio

Playback:
  Status: Stop
  Interface 0
    Altset 1
    Format: S24_3LE
    Channels: 8
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
    Bits: 0
    Sync Endpoint: 0x82 (2 IN)
    Sync EP Interface: 0
    Sync EP Altset: 1
    Implicit Feedback Mode: No

Capture:
  Status: Stop
  Interface 0
    Altset 1
    Format: S24_3LE
    Channels: 8
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
    Bits: 0
    Sync Endpoint: 0x82 (2 IN)
    Sync EP Interface: 0
    Sync EP Altset: 1
    Implicit Feedback Mode: No


More information about the Alsa-devel mailing list