View previous topic :: View next topic |
Author |
Message |
scribble n00b
Joined: 26 Sep 2009 Posts: 2 Location: LTH
|
Posted: Sat Sep 26, 2009 9:26 am Post subject: ALSA, hp laptop, ATI HD, front output jacks, no sound |
|
|
Hello Gentoo forum!
As the subject title insinuates I have problems getting sound out of the front jacks of my HP dv6 laptop. I'm at my wits end, I've searched around for similar problems and solutions for the better part of the week but not found anything. The laptops own (crappy) speakers work, so the Intel HD Audio device seems to work, but the is no output from either of the two output jacks at the front of the laptop.
I like to learn so there's a lot of questions here, hope you don't mind. You know, learn a man to fish... Hopefully this will help other people solve their ALSA woes as well.
lspci -v
Code: | 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
Subsystem: Hewlett-Packard Company Device 3628
Flags: bus master, fast devsel, latency 0, IRQ 32
Memory at da100000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel <?>
Capabilities: [130] Root Complex Link <?>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
01:00.1 Audio device: ATI Technologies Inc Device aa38
Subsystem: Hewlett-Packard Company Device 3628
Flags: bus master, fast devsel, latency 0, IRQ 33
Memory at da010000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+
Capabilities: [100] Vendor Specific Information <?>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
|
cat /usr/src/linux/.config
Code: | CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VMASTER=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCI=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_GENERIC=y
## AS MODULES ##
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ATIIXP=m
CONFIG_SND_ATIIXP_MODEM=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
|
aplay -l
Code: | **** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
|
From /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt I got the Intel HD Audio device to work by inserting the following snippet into /etc/modprobe.conf in the ALSA section.
Code: | options snd-hda-intel model=hp-dv5 |
lsmod
Code: | Module Size Used by
snd_hda_codec_analog 75544 0
snd_hda_codec_conexant 23480 0
snd_hda_codec_intelhdmi 13496 0
fglrx 2155976 30
snd_hda_codec_atihdmi 4152 1
snd_hda_codec_idt 62680 1
snd_hda_intel 27592 1
wl 1262880 0
snd_hda_codec 66744 6
snd_hda_codec_analog,snd_hda_codec_conexant,snd_hda_codec_intelhdmi,snd_hda_codec_atihdmi,snd_hda_codec_idt,snd_hda_intel
intel_agp 29040 0
|
Alsaconf recognizes both cards, both show up in the interface when alsaconf asks which card I want to configure, but no matter which one I choose in that little menu, it's only the Intel device that gets the love. Might it be that since they are using the same module/driver the Intel device gets priority and the ATI device has to be quiet?
Would there be a way of letting the ATI device get precedence?
Some laptops come with a sort of jack detection so that the hardware will know then a user plugs in headphone/etc into the audio output jacks, is that called message signaled interrupts or is it more power management features? (See lspci -v above)
If i modify /etc/modprobe.conf, I afterwards do a update-modules (as the config says), but what else needs to be done to load the new config? Seems to me I have to:
/etc/init.d/alsasound stop
unload the sound modules (they complain that they are being used(I wouldn't ))
update-modules
load the modules
/etc/init.d/alsasound start
Is that substitutional for a reboot a la windows?
Does it matter which modules/drivers are loaded first via modprobe? Is coldplugging refering to the way udev (or something) automatically handles the modprobing at boot?
Thanks a thousand in advance! |
|
Back to top |
|
|
scribble n00b
Joined: 26 Sep 2009 Posts: 2 Location: LTH
|
Posted: Sat Sep 26, 2009 12:11 pm Post subject: |
|
|
Hm, come to think of it, I'm not 100% sure that the three jacks in the front of the laptop is connected to the ATI HDMI device, might be the Intel sound device instead. How do I find that out?
cat /proc/asound/card0/codec#0 | grep Node
Code: |
Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
Node 0x12 [Audio Input] wcaps 0x1d0541: Stereo
Node 0x13 [Audio Input] wcaps 0x1d0541: Stereo
Node 0x14 [Pin Complex] wcaps 0x400100: Mono
Node 0x15 [Audio Selector] wcaps 0x300101: Stereo
Node 0x16 [Audio Mixer] wcaps 0x200100: Mono
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Node 0x18 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
Node 0x19 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital
Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital
Node 0x20 [Pin Complex] wcaps 0x400301: Stereo Digital
Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital
Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
Node 0x26 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
Node 0x27 [Volume Knob Widget] wcaps 0x600000: Mono
|
Does anyone have any idea of at least where to start looking to get the output jacks to work? |
|
Back to top |
|
|
ewaller Apprentice
Joined: 11 Aug 2005 Posts: 264 Location: Pasadena, CA
|
Posted: Sun Sep 27, 2009 7:42 pm Post subject: |
|
|
My Pavilion DV4 uses message signaled interrupts. If MSI is not set up correctly, the driver is not properly notified that something has been plugged in.
Ensure your kernel has PCI bus MSI enabled, and that your /etc/modprobe.d/alsa.conf contains a line like:
Code: | options snd-hda-intel enable_msi=1 |
In my case, I go further and provide the laptop type (Not sure if it is required, but if it aint broke...)
Code: | options snd-hda-intel model=hp-m4 enable_msi=1 |
Hope this helps _________________ Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday |
|
Back to top |
|
|
evan18h Tux's lil' helper
Joined: 02 Dec 2004 Posts: 83
|
Posted: Tue Mar 30, 2010 7:44 am Post subject: |
|
|
I've got the same problem, only I have INTEL instead of ATI
aplay -l
Code: | **** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: INTEL HDMI [INTEL HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0 |
My sound works great from the system speakers, but if I try to plug in headphones I get sounds from my system speakers and nothing from the headphones.
I have tried enable_msi=1 and this doesn't seem to do the trick. _________________ A day without sunshine is like night. |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Tue Mar 30, 2010 8:47 am Post subject: |
|
|
Try enabling CONFIG_SND_HDA_INPUT_JACK. |
|
Back to top |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5941
|
Posted: Tue Mar 30, 2010 3:23 pm Post subject: |
|
|
run /usr/sbin/update-pciids as root first and then repost your lspci output. _________________ Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein |
|
Back to top |
|
|
evan18h Tux's lil' helper
Joined: 02 Dec 2004 Posts: 83
|
Posted: Wed Mar 31, 2010 6:25 am Post subject: |
|
|
Enabling CONFIG_SND_HDA_INPUT_JACK did not change the behavior.
lspci -v
Code: | 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
Subsystem: Hewlett-Packard Company Device 3627
Flags: bus master, fast devsel, latency 0, IRQ 32
Memory at da500000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel <?>
Capabilities: [130] Root Complex Link <?>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel |
zcat /proc/config.gz | grep CONFIG_SND_HDA
Code: | CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
# CONFIG_SND_HDA_RECONFIG is not set
# CONFIG_SND_HDA_INPUT_BEEP is not set
CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_CODEC_REALTEK is not set
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_ATIHDMI is not set
# CONFIG_SND_HDA_CODEC_NVHDMI is not set
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 |
_________________ A day without sunshine is like night. |
|
Back to top |
|
|
evan18h Tux's lil' helper
Joined: 02 Dec 2004 Posts: 83
|
Posted: Sun Apr 04, 2010 12:13 am Post subject: |
|
|
I just upgraded my kernel from 2.6.31-gentoo-r10 to 2.6.32-gentoo-r7 and it looks like it all works now! Even my mute button light changes color when you toggle it, like it should. _________________ A day without sunshine is like night. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|