Closed sprudent closed 2 years ago
This does not look like an alsa-lib's issue. Please, create a driver bug at https://bugzilla.kernel.org (Audio group). Although this issue may be also USB core related.
@sprudent I am facing the same issue with kernel 5.10 Did you get the fix?
@sprudent , with kernel 4.19 it used to work fine.
Hello. I’ve got Linux 6.1.72 with this ICUSBAUDIO7D, messing up the channels randomly as described above. My trigger is the mpv
media player, and the channels rearrange randomly when fast forwarding for example a video with 5.1 surround sound. As mentioned, the physical USB hardware has to be unplugged and replugged to correct the channels. Is there any known fix for this?
Turns out the problem with my ICUSBAUDIO7D was caused by a misbehaving USB hub, more specifically a Dell Computer dock. Removing this USB hub fixed it.
Hello erveryone,
I am getting random channel swap when using speaker test to output sequencially a pink noise on every channel of the soundcard. I tested two distinct usb soundcard getting the same issue. I could identify a suspicious log showing at the same time the channels swapped. Tested and reproduced on a recent archlinux image (see system information).
system information
alsa-info.txt
Test with dmix
Description
First test was made with alsa dmix plugin. Multiple processes running in parrallel and outputing to dmix pcm device.
Alsa configuration
Step to reproduce
Run this script to simulate multiple processes writing to dmix device at the same time
Then on another tty, start a speaker-test command outputing a sine wave in order to identify channel mapping by correlating speaker test output with audio output.
speaker-test -r44100 -D"play_8:\"hw:1\"" -c8 -t sine
Expected result
Audio output to the same channels during all the test
Actual result
Random audio channel swap correlated with dmesg log mentioned above.
Second test with direct output
Alsa configuration
No specific configuration required
Step to reproduce
Run speaker-following test command and wait for channel swap
speaker-test -r44100 -Dsurround71:ICUSBAUDIO7D -c8
Expected result
Audio output to the same channels during all the test
Actual result
Random audio channel swap correlated with dmesg log mentioned above. The chanel swap happen far less often than with dmix.
Interpretation
The DMA transfer ring buffer get messed up after a while (see dmesg log) and interleaved audio frames get shifted in soundcard buffer. If I unplug/replug usb soundcard and try again, channel mapping goes back to the correct order.
My alsa, kernel and usb driver knowledge is limited, so I come to you for a little help. Tell me if you need more information to reproduce.
Thank's, Sylvain