[ALSA] Master volume control doesn't control Headphone control

Bug #41015 reported by Adolfo González Blázquez
44
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Wishlist
Daniel T Chen
linux-source-2.6.15 (Ubuntu)
Fix Released
Medium
Ubuntu Audio Team
linux-source-2.6.17 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Hello,

I have an integrated Intel ICH6 with AD1981B sound card on my laptop (HP Compaq nx8220). I usually use some speakers connected to the Headphone line out.

In Breezy, when using the Master Volume Control you could control everysound in the computer (internal speakers and headphones). In Dapper, this doesn't work anymore. So i need to low Headphone Volume control to quiet the external speakers.

I think the default behaviour should be the breezy one, so the master volume control everysound in the computer.

I am using Dapper up-to-date, with kernel 2.6.15-21-686

Hope this can be fixed before Dapper is released.

$ cat /proc/asound/cards
0 [ICH6 ]: ICH4 - Intel ICH6
                     Intel ICH6 with AD1981B at 0xc8c01000, irq 50

$ cat /proc/asound/card0/codec97#0/ac97#0-0
0-0/0: Analog Devices AD1981B

Capabilities : -headphone out-
DAC resolution : 20-bit
ADC resolution : 16-bit
3D enhancement : No 3D Stereo Enhancement

Current setup
Mic gain : +0dB [+0dB]
POP path : pre 3D
Sim. stereo : off
3D enhancement : off
Loudness : off
Mono output : MIX
Mic select : Mic1
ADC/DAC loopback : off
Extended ID : codec=0 rev=1 AMAP DSA=0 VRA
Extended status : VRA
PCM front DAC : 48000Hz
PCM ADC : 48000Hz

AD18XX configuration
Unchained : 0x1000,0x0000,0x0000
Chained : 0x0000,0x0000,0x0000

$ sudo lspci -vvv
0000:00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
        Subsystem: Hewlett-Packard Company: Unknown device 0934
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 50
        Region 0: I/O ports at 3100 [size=256]
        Region 1: I/O ports at 3200 [size=64]
        Region 2: Memory at c8c01000 (32-bit, non-prefetchable) [size=512]
        Region 3: Memory at c8c02000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Revision history for this message
Daniel T Chen (crimsun) wrote :

Please log out of GNOME and perform the following while logged in from a console.

1) Unload the snd_intel8x0 driver: sudo modprobe -r snd_intel8x0
2) Reload the snd_intel8x0 driver: sudo modprobe snd_intel8x0 ac97_quirk=hp_only

Please report whether passing the ac97_quirk=hp_only parameter to modprobe allows you to control the volume of the headphone jack properly. Morever, please attach (don't comment inline) the output from ``lspci -nv''.

Changed in linux-source-2.6.15:
status: Unconfirmed → Needs Info
Revision history for this message
Adolfo González Blázquez (infinito) wrote :

The hp_quirk thing did the trick. Passing that option to the module reverted the mixer to the previous and good state. Now Volume Master controls the headphone level when headphones are connected.

Attached lspci -vn.

Thanks!

Revision history for this message
Adolfo González Blázquez (infinito) wrote : lspci -vn (hp nx8220)

lspci -vn (hp nx8220)

Daniel T Chen (crimsun)
Changed in linux-source-2.6.15:
status: Needs Info → In Progress
Daniel T Chen (crimsun)
Changed in linux-source-2.6.15:
status: In Progress → Fix Committed
Revision history for this message
Daniel T Chen (crimsun) wrote :
Changed in linux-source-2.6.15:
status: Fix Committed → Fix Released
Revision history for this message
Anders Östling (anders-ostling) wrote :

I can confirm that this also "cured" my Dell D800 laptop, i.e the module parameter allows me to control both the headphone and speaker as "master" volume. Very nice, before I always had to open up the Prefs and select either one ...

Anders

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Anders: Please attach (don't inline) the output from ``lspci -nv'', thanks.

Revision history for this message
Anders Östling (anders-ostling) wrote : lspci -v for Dell D800 laptop

Attached is the lspci for sound hardware on my Dell D800

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Anders: I need -nv, not -v, thanks.

Revision history for this message
Anders Östling (anders-ostling) wrote : lspci -v for Dell D800 laptop (take II)

sry

Revision history for this message
Clark Endrizzi (cendrizzi) wrote : Another person

I have an HP 8230 laptop. The fix works for me too. Doing the fix doesn't actually have any permanence does it after restart?

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Clark: You don't need to (re)load snd_intel8x0 with ac97_quirk=hp_only, because the patch is already in the latest kernel in Dapper (2.6.15-22.33), so the fix is automagic for you.

Revision history for this message
Clark Endrizzi (cendrizzi) wrote :

Thanks for the reply.

I'm a little confused. I do an update every day. This is a newer version than my current kernel:

uname -r
2.6.15-21-686

So why does it mark the newer kernel for an upgrade? Thanks for your help!

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Clark: The current kernel is:

$ uname -r
2.6.15-22-686

The relevant changelog entry is:

$ zgrep -nHi 'nx8220' /usr/share/doc/linux-image-$(uname -r)/changelog.Debian.gz
/usr/share/doc/linux-image-2.6.15-22-686/changelog.Debian.gz:26: quirk) for HP NX8220 (intel8x0)

You can manually install linux-image-2.6.15-22-686, or wait for linux-686 to be updated. (linux-image-686 still points to 21.32)

Revision history for this message
Daniel T Chen (crimsun) wrote :

Reopening per bug#44066.

Could every who was affected by this bug report please attempt the following sequence of commands?

1) Quit all applications using sound (``lsof /dev/dsp* /dev/snd/*'')
2) Unload snd_intel8x0 (``sudo modprobe -r snd_intel8x0'')
3) Reload snd_intel8x0 (``sudo modprobe snd_intel8x0 ac97_quirk=hp_mute_led'')

Please report whether using this configuration results in intended functionality.

Changed in linux-source-2.6.15:
status: Fix Released → Needs Info
Revision history for this message
Adolfo González Blázquez (infinito) wrote :

Now, using this "sudo modprobe snd_intel8x0 ac97_quirk=hp_mute_led" command i get the correct behaviour from the volume keys. Even the mute keyled works again.

This is a HP nx8220.

Changed in linux-source-2.6.15:
assignee: nobody → ubuntu-audio
Revision history for this message
Daniel T Chen (crimsun) wrote :
Changed in linux-source-2.6.15:
status: Needs Info → Fix Committed
Changed in linux-source-2.6.15:
status: Fix Committed → Fix Released
Revision history for this message
linuxmagick (linuxmagick) wrote :

Just installed the latest release of Dapper (kernel: 2.6.15-23-386) on my Dell Inspiron 8600. Noticed just a few minutes ago that the master vol. control didn't affect the headphone volume. Luckily I found this site and was able to correct the problem using the steps above (passing ac97_quirk=hp_only). Thanks.

Revision history for this message
Simon Ruggier (simon80) wrote :

Just a heads up for those who don't know (like Clark): if needed, you can make module parameters permanent by adding a line like "options <module> <param>=<arg>" to ANY file in /etc/modprobe.d/ (/etc/modprobe.d/options seems to make the most sense). In this specific case, the line would look like "options snd_intel8x0 ac97_quirk=hp_mute_led", minus the quotes, of course.

Revision history for this message
gpothier (gpothier) wrote :

I had a similar problem on a Dell Latitude D810 and the hp_mute_led option fixed it.
This is with Edgy using 2.6.17-8-generic.
Output of lspci -nv attached.

Revision history for this message
Andrew Conkling (andrewski) wrote :

It seems that running lspci with root privileges gets access to a bit more information.

Is there a permanent fix for this, i.e. one that will persist on reboot? I don't see this being marked as "Fix Released" until this works by default and permanently.

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Andrew C: A quirk for your device (0x10280188) already exists to use hp_only. Is it insufficient (e.g., do you need hp_mute_led)?

There are several different models being thrown around here. Each model must be hand-added to the quirk list.

Revision history for this message
Andrew Conkling (andrewski) wrote :

On 10/3/06, Daniel T Chen <email address hidden> wrote:
> @Andrew C: A quirk for your device (0x10280188) already exists to use
> hp_only. Is it insufficient (e.g., do you need hp_mute_led)?

Yes, I needed hp_mute_led to get this to work.

Revision history for this message
Andrew Conkling (andrewski) wrote :

So everything's working, but I have to run the modprobe command each time after booting. How can I set it to load that way by default? Does something need to be patched, or do I need something in /etc/modules?

Revision history for this message
Daniel T Chen (crimsun) wrote :

@Andrew Conkling: I've already submitted a diff[0] for your hardware. The patch will be applied to the ubuntu-dapper-updates git tree[1] first for wider testing before it's applied to the ubuntu-dapper git tree[2] for release.

[0] https://lists.ubuntu.com/archives/kernel-team/2006-October/001088.html
[1] http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper-updates.git;a=summary
[2] http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=summary

Revision history for this message
Andrew Conkling (andrewski) wrote :

On 10/11/06, Daniel T Chen <email address hidden> wrote:
> @Andrew Conkling: I've already submitted a diff[0] for your hardware.
> The patch will be applied to the ubuntu-dapper-updates git tree[1] first
> for wider testing before it's applied to the ubuntu-dapper git tree[2]
> for release.
>
> [0] https://lists.ubuntu.com/archives/kernel-team/2006-October/001088.html

Ok, so it looks like that applies to Edgy as well; good stuff. If this hasn't been released in a kernel package in the repos yet, any reason this is marked as Fix Released and not Committed?

Revision history for this message
Andrew Conkling (andrewski) wrote :

And is there any way I can help test that? Any "testing" kernel packages I could try out or something?

Revision history for this message
bloo (bloo) wrote :

I also have master/headphone swapped. As of today, I tested (and noticing this bug) in both Edgy + all updates and also on Feisty Herd 1 (LiveCD).

Revision history for this message
Ian Turner (vectro) wrote : Seeing this problem with snd_hda_intel

I'm seeing this same issue with snd_hda_intel; there are two separate volume controls for "Front" and "Headphone". Curiously, the default is "Front", though the controls are listed in this order: Headphone, PCM, Front, CD, Microphone.

This is with 2.6.20-16-386. lspci -nv attached.

Is there a workaround to this issue with asound.conf?

Revision history for this message
Kjell Braden (afflux) wrote :

Hardy Heron 8.04 was recently released. It would be helpful if you could test the new release and verify if this is still an issue - http://www.ubuntu.com/testing . You should be able to test your bug using the LiveCD. Please let us know your results. Thanks.

Changed in linux-source-2.6.17:
status: New → Incomplete
Kjell Braden (afflux)
Changed in linux-source-2.6.17:
status: Incomplete → Won't Fix
Changed in linux:
status: New → Incomplete
Revision history for this message
Ian Turner (vectro) wrote : Fixed in Hardy Heron 8.04 / linux-image-2.6.24-16-386

After upgrading to Hardy Heron with kernel linux-image-2.6.24-16-386, I'm now seeing a new "Master" control in addition to the "front" and "headphone" controls.

Revision history for this message
Kjell Braden (afflux) wrote :

Thank you for your investigation.

Changed in linux:
status: Incomplete → Invalid
Revision history for this message
Darius (darius-dons) wrote :

I need to add the hp_only quirk for my Dell Inspiron 8600 otherwise master does not control headphone volume when connected.

I have 8.10 installed with the following kernel
Linux Inchoate 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux
[Inchoate 11:04] ~ >cat /proc/asound/cards
 0 [I82801DBICH4 ]: ICH4 - Intel 82801DB-ICH4
                      Intel 82801DB-ICH4 with STAC9750,51 at irq 5
[Inchoate 11:07] ~ >cat /proc/asound/I82801DBICH4/codec97\#0/ac97\#0-0
0-0/0: SigmaTel STAC9750,51

PCI Subsys Vendor: 0x1028
PCI Subsys Device: 0x016a

Capabilities : -headphone out-
DAC resolution : 20-bit
ADC resolution : 20-bit
3D enhancement : SigmaTel 3D Enhancement

Current setup
Mic gain : +0dB [+0dB]
POP path : pre 3D
Sim. stereo : off
3D enhancement : off
Loudness : off
Mono output : MIX
Mic select : Mic1
ADC/DAC loopback : off
Extended ID : codec=0 rev=1 AMAP DSA=0 SPDIF VRA
Extended status : SPCV SPDIF=3/4 VRA
PCM front DAC : 48000Hz
PCM ADC : 48000Hz
SPDIF Control : Consumer PCM Category=0x2 Generation=1 Rate=48kHz

Revision history for this message
Drew Kime (drewk98) wrote :

I just confirmed I still need to add the ac97_quirk option on my HP cd7100 running intrepid.

Daniel T Chen (crimsun)
Changed in linux (Ubuntu):
assignee: nobody → Daniel T Chen (crimsun)
importance: Undecided → Wishlist
status: Invalid → Triaged
Revision history for this message
Daniel T Chen (crimsun) wrote :
Changed in linux (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Daniel T Chen (crimsun) wrote :
Przemek K. (azrael)
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.