At Tue, 16 Jul 2013 21:35:50 +0200, Ulrich Günther wrote:
-------- Original-Nachricht -------- Betreff: Re: [alsa-devel] Alsa USB Audio regression Datum: Tue, 16 Jul 2013 18:27:10 +0200 Von: Ulrich Günther ulrich.guenther@gmx.at An: Raymond Yau superquad.vortex2@gmail.com
Am 2013-07-16 04:14, schrieb Raymond Yau:
After Ubuntu 10.04 LTS (Ubuntu 10.10 works, Ubuntu 11.04 doesn't
work at
all, Ubuntu 11.10 and newer have the bug), the headset only plays
sound
at maximum volume level if the volume is turned down just a little no sound is being played.
I have filled a Ubuntu bug for 12.04 LTS at: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1200925 . I was advised to contact this mailing list.
AlsaInfo for Ubuntu 12.04 LTS with the bug:
http://www.alsa-project.org/db/?f=3bde76b15a15f585418a6a4a4703ca67fd4cdf42 .
AlsaInfo for Ubuntu 10.04 LTS without the bug:
http://www.alsa-project.org/db/?f=5824e55345c3f7128937405254485a489886b9dc
It is strange that dB range of your usb audio is 0 to 0.14 (only
small gain and no attenuation)
In 10.04 LTS pulseaudio provide software volume control
( 1.095| 0.000) I: alsa-sink.c: Driver does not support hardware
volume control, falling back to software volume control.
control.6 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 37' comment.dbmin 0 comment.dbmax 14 iface MIXER name 'Speaker Playback Volume' value 30 }
In 12.04 pulseaudio did not provide software volume attenuation
and use the speaker playback volume control
So does that mean that the bug is in pulseaudio, or could it be even
deeper like in the kernel or something?
Are there any significant change in volume when you use "alsamixer -c0" to change speaker playback volume from min 0dB to 0.14dB ?
Did pulseaudio provide software attuentation -1.61dB when the range of hardware volume control is only 0.14dB ?
- index: 0
name: <alsa_output.usb-0d8c_USB_Audio-00-Audio.analog-surround-71> driver: <module-alsa-card.c> flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: SUSPENDED suspend cause: IDLE priority: 9049 volume: 0: 94% 1: 94% 2: 94% 3: 94% 4: 94% 5: 94% 6: 94% 7: 94% 0: -1,61 dB 1: -1,61 dB 2: -1,61 dB 3: -1,61 dB 4: -1,61 dB 5: -1,61 dB 6: -1,61 dB 7: -1,61 dB balance 0,00 base volume: 99% -0,14 dB volume steps: 65537 muted: no
It is strange that 5.1 headset only support 8 channels playback
Okay i did try "alsamixer -c0" in Ubuntu 12.04 LTS, i selected the Usb Headset, Speaker was at 0 using the remote control from the headset i could bring the value to 86, so if the volume is turned down the value goes immideatly to 0. With the alsamixer i was able to regulate the value between 0 and 100, db-change is 0,01 at lowest and 0,14 at highest. I could increment/decrement the db-change in steps of 0,01 (with the up/down keys from the keyboard), the volume from the headset-speakers follows accordingly. When using anything besides the "alsamixer -c0" the volume can only be 0 or 86. I was able to play the test sounds for: front center, front left, front right, rear left,rear right and subwoofer every thing came from the right direction, as expected from a 5.1 headset. I was really surprised, thank you for pointing this out, it really didn't occur to me, maybe i saw the alsamixer some years ago but i really couldn't remember that it was there.
The reason it doesn't work with PulseAudio is that the dB information obtained from the hardware is pretty bogus, thus it confuses the PA mixer which relies purely on dB level.
Have you tried any newer kernels, 3.9.x or 3.10.x, at least? 3.2.x is really old for debugging such a device-specific problem.
Takashi