Bug 206221

Summary: alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Product: Drivers Reporter: bgraceysee (brentgracey)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.15 Subsystem:
Regression: No Bisected commit-id:
Attachments: alsa-info.sh --no-upload output
lsusb -v output for Kingston Technology device
Test fix patch

Description bgraceysee 2020-01-16 09:58:33 UTC
Hi all,

I have an external usb heaphone and microphone (HyperX Cloud)

I guess its equally likely there are issues in the external device; however it was working on previous versions of Ubuntu; after upgrading from Ubuntu 16 to 18 - the usb microphone input is still detected; but never shows receiving any sound.

Export of logs: cat /var/log/syslog* | grep -i pulse


Jan 16 08:28:10 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:28:10 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:51:39 pulseaudio[2546]: [alsa-sink-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Jan 16 08:51:39 pulseaudio[2546]: [alsa-sink-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Jan 16 08:52:46 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:52:46 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:57:42 dbus-daemon[1021]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.28' (uid=121 pid=1482 comm="/usr/bin/pulseaudio --daemonize=no " label="unconfined")
Jan 16 08:57:42 pulseaudio[1482]: W: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:57:42 pulseaudio[1482]: W: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:57:58 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:57:58 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 08:57:58 pulseaudio[2444]: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files
Jan 16 09:01:26 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 09:01:26 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 09:14:08 pulseaudio[2444]: [alsa-sink-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Jan 16 09:14:08 pulseaudio[2444]: [alsa-sink-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Jan 16 09:14:08 pulseaudio[2444]: [alsa-source-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Jan 16 09:14:08 pulseaudio[2444]: [alsa-source-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Jan 16 09:14:29 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 16 09:14:29 pulseaudio[2444]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 15 09:10:08 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 15 09:10:08 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 15 16:02:14 pulseaudio[2546]: [alsa-sink-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Jan 15 16:02:14 pulseaudio[2546]: [alsa-sink-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Jan 15 16:02:14 pulseaudio[2546]: [alsa-source-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Jan 15 16:02:14 pulseaudio[2546]: [alsa-source-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Jan 15 16:02:29 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 15 16:02:29 pulseaudio[2546]: [pulseaudio] alsa-mixer.c: Your kernel driver is broken: it reports a volume range from 0 to 0 which makes no sense.
Jan 15 18:27:16 pulseaudio[1481]: W: [pulseaudio] sink-input.c: Failed to create sink input: sink is suspended.
Jan 15 18:27:52 pulseaudio[1481]: W: [pulseaudio] sink-input.c: Failed to create sink input: sink is suspended.
Comment 1 Takashi Iwai 2020-01-16 10:28:43 UTC
Please give alsa-info.sh output.  Run the script with --no-upload option and attach to Bugzilla (don't paste to the form).
Comment 2 bgraceysee 2020-01-16 11:03:52 UTC
Created attachment 286839 [details]
alsa-info.sh --no-upload output

output of alsa-info.sh --no-upload
Comment 3 Takashi Iwai 2020-01-16 11:18:21 UTC
Thanks.  Also could you give lsusb -v output (for this device), too?
Comment 4 bgraceysee 2020-01-16 11:39:20 UTC
Created attachment 286841 [details]
lsusb -v output for Kingston Technology device

lsusb -v output for Kingston Technology device
Comment 5 Takashi Iwai 2020-01-16 11:48:14 UTC
Thanks.

A test fix patch is below.  Please give it a try.  It'll skip the invalid mixer element.
Comment 6 Takashi Iwai 2020-01-16 11:48:35 UTC
Created attachment 286843 [details]
Test fix patch
Comment 7 bgraceysee 2020-01-16 12:03:44 UTC
Thank you for the _insanely_ fast turn around on this!

Are there any links on how to test the fix patch? I do have some technical abilities; but no experience in applying driver patches.

I did look around and found
https://alsa-project.org/wiki/System_Maintainers_documentation - but the `alsa-driver/INSTALL` link isn't active

Also found this - which makes me feel testing a patch is somewhat involved; https://carlowood.github.io/alsa/index.html (Understand this is a completely different patch; just googling "how to apply Patch for ALSA")

Again; blown-away by turn around on this - thanks!
Comment 8 Takashi Iwai 2020-01-16 13:18:12 UTC
Not really, the instruction there is way too old.  Basically you need to rebuild the kernel after patching.

At best ask you distribution how to build a kernel, or let them building a test kernel with the patch.
Comment 9 bgraceysee 2020-01-16 13:33:07 UTC
Ah right; gotcha

So the fix goes here(ish) https://github.com/torvalds/linux/blob/04cbfba6208592999d7bfe6609ec01dc3fde73f5/sound/usb/mixer.c#L1664

Thanks again; I'll see if I can get any suggestions from Ubuntu

Brent
Comment 10 Takashi Iwai 2020-02-14 15:04:49 UTC
FYI, the patch went into sound git tree, commit e9a0ef0b5ddcbc0d56c65aefc0f18d16e6f71207.
But it's for 5.7 kernel.