Bug 14210 - snd_intel8x0: Headphone channel is wrong on TC1100
Summary: snd_intel8x0: Headphone channel is wrong on TC1100
Status: RESOLVED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-22 19:12 UTC by Krzysztof Kosiński
Modified: 2013-11-20 13:25 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.31
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Krzysztof Kosiński 2009-09-22 19:12:57 UTC
I have the latest Ubuntu Karmic snapshot installed on a HP TC1100. I had this issue since I installed Ubuntu 2 years ago, but did not recognize it as a bug since it was possible to pick the ALSA mixer tracks the volume applet should control, but with the new Pulse-based volume control it's not possible anymore.

I have a pretty vanilla Intel AC'97 sound card which is detected as card "Intel 82801DB-ICH4" and chip "Analog Devices AD1981B"; however, it has a quirk in that the headphone jack's sound level can be controlled separately from the external speakers' sound level. The card exposes two separate mixer channels for Master and Headphone, which are completely independent. However, PulseAudio expects the Headphone channel to be chained from Master; e.g. if you adjust the Master level, you also affect the sound level of headphones, and the Headphone channel functions like a headphone preamp setting. This is obviously incompatible with the mixer exposed by my card, where headphone sound level is unaffected by Master - only by Headphone.

I see two ways to fix this using a quirk:
- remove the Headphone channel and silently always set it to the same level as Master
- whenever Master or Headphone is adjusted, set the harware Headphone channel to actual Heapdhone mixer level multiplied by the Master level

Here is lspci -vvvv of the card:

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
        Subsystem: Hewlett-Packard Company Device 08b0
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin B routed to IRQ 10
        Region 0: I/O ports at 1c00 [size=256]
        Region 1: I/O ports at 18c0 [size=64]
        Region 2: Memory at d0000c00 (32-bit, non-prefetchable) [size=512]
        Region 3: Memory at d0000800 (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-
        Kernel driver in use: Intel ICH
        Kernel modules: snd-intel8x0

I can suply any additional information required.
Comment 1 Marco 2009-11-08 10:59:51 UTC
I the same problem also for the IEC958 sound card. I have a Dell D610.

aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: ICH6 [Intel ICH6], device 0: Intel ICH [Intel ICH6]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: ICH6 [Intel ICH6], device 4: Intel ICH - IEC958 [Intel ICH6 - IEC958]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Comment 2 Liam O'Reilly 2010-03-11 11:46:32 UTC
I have this same issue with a Dell Optiplex GX520.

Here is lspci -vvvv my sound card:
00:1e.2 Multimedia audio controller: Intel Corporation 82801G (ICH7 Family) AC'97 Audio Controller (rev 01)
	Subsystem: Dell Device 01ad
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 23
	Region 0: I/O ports at ec00 [size=256]
	Region 1: I/O ports at e8c0 [size=64]
	Region 2: Memory at feabfa00 (32-bit, non-prefetchable) [size=512]
	Region 3: Memory at feabf900 (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-
	Kernel driver in use: Intel ICH
	Kernel modules: snd-intel8x0
Comment 3 Liam O'Reilly 2010-05-27 10:31:04 UTC
This has also been reported in Ubuntu's launchpad system at https://bugs.launchpad.net/pulseaudio/+bug/429109
Comment 4 Alan 2012-06-13 17:07:44 UTC
Is this still seen with a modern kernel ?

Note You need to log in before you can comment on or make changes to this bug.