>> > It's likely the issues with the implicit feedback. >> > >> > The latest development tree (either linux-next tree or >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the >> > improvements of the implicit feedback mode. >> > >> > >> > Takashi When I try to play a file now this happens: $ aplay -D plughw:CARD=UR22 ./file.wav Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo aplay: set_params:1407: Unable to install hw params:
It's a known side-effect of the implicit feedback mode, and the latest patchset I mentioned earlier addresses the issue.
Takashi
I'm already running the kernel built from the linux-next tree... I built next-20201208 from git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git Is there another patch set that I'm missing?
Hm, strange.
Please check the contents of /proc/asound/card*/stream* file. With the latest patches and the implicit feedback mode, you should see the lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".
Takashi
Yes, I see this:
Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed : USB Audio
Playback: Status: Stop Interface 1 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 44100, 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Sync Endpoint: 0x81 (1 IN) Sync EP Interface: 2 Sync EP Altset: 1 Implicit Feedback Mode: Yes Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 88200, 96000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Sync Endpoint: 0x81 (1 IN) Sync EP Interface: 2 Sync EP Altset: 1 Implicit Feedback Mode: Yes Interface 1 Altset 3 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 176400, 192000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Sync Endpoint: 0x81 (1 IN) Sync EP Interface: 2 Sync EP Altset: 1 Implicit Feedback Mode: Yes
Capture: Status: Stop Interface 2 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 44100, 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 2 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 88200, 96000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 2 Altset 3 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 176400, 192000 Data packet interval: 125 us Bits: 24 Channel map: FL FR
OK, then it means that your device isn't compatible with UR22C. It has a different endpoint assignment.
What happens if you run this kernel without quirk_alias option? Is the implicit feedback still set?
Takashi
When running it without the quirk_alias option implicit feedback isn't set. I have appended the output at the end of this mail. Does this mean the card runs with explicit feedback, or with no feedback at all? I've tested this on other linux distros (Fedora 33, Kernel 5.8 and Ubuntu 14.04.6 LTS Kernel 4.4 or 4.6, don't remember exactly), problem still exists, so this doesn't look like a regression to me. Just to be sure: the last commits to pcm.c and implicit.h in my tree are from Nov. 23. Is that correct? I don't find the topic/usb-audio-refactoring branch on the public git mirrors of tiwai/sound, so not sure I'm running the latest changes.
Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed : USB Audio
Playback: Status: Stop Interface 1 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 44100, 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 88200, 96000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 1 Altset 3 Format: S24_3LE Channels: 2 Endpoint: 0x07 (7 OUT) (ASYNC) Rates: 176400, 192000 Data packet interval: 125 us Bits: 24 Channel map: FL FR
Capture: Status: Stop Interface 2 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 44100, 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 2 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 88200, 96000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 2 Altset 3 Format: S24_3LE Channels: 2 Endpoint: 0x86 (6 IN) (ASYNC) Rates: 176400, 192000 Data packet interval: 125 us Bits: 24 Channel map: FL FR