The biggest problem is that there are a few issues causing audio to fail.
Here's what you can try to do to resolve it:
- run 'paman' (the PulseAudio Manager)
if you can't connect, then pulse isnt running for some reason.. issue start-pulseaudio-x11 from your user account to restart it. - in paman, check if Devices->Sinks actually shows a hardware device and NOT the Null Output device. If you have the Null Output, it means pulse was unable to open your hardware device, this happens when something had the alsa device open when starting pulse (e.g. I had this due to a KVM virtual machine that had a sound device attached to it).
To debug, from a shell start pulse in commandline mode:$ pulseaudio -nC -vvv
then issue:>>> load-module module-hal-detect
and watch the debug output, it might say it can't open /dev/snd/pcmXXXX
to check what is keeping that device open, issue:# fuser -v /dev/snd* /dev/dsp*
kill the apps, then restart pulse from your user shell (start-pulseaudio-x11) and recheck in paman if the Sink is now showing the alsa device. - if all this is ok and the pulseaudio volume program even shows sound playing, but you still get no sound, then most likely alsa didn't setup the sound codec correctly.. this was the case on my D830 which has a SigmaTel STAC9205 (you can find this info in /proc/asound/card0/codec#0)
- first try adding an option to modprobe, e.g.
$ cat /etc/modprobe.d/dell
options snd-hda-intel model=dell-m42
and restart your machine, make sure the above issues don't popup again. If you have a different codec, you might check the alsa doc for something that fits your machine. - If that didn't help.. grab hda-verb then look for the speaker node in /proc/asound/card0/codec#0
e.g. on my laptop:Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x0000003f: IN OUT HP Detect Trigger ImpSense
Pin Default 0x90170310: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x10
If the Pin-Ctls doesnt have OUT, then you will get no output. You can fix this with the hda-verb command:# hda-verb /dev/snd/hwC0D0 0x0d SET_PIN_WIDGET_CONTROL 0x40
This should enable the sound output on your speakers. - Last issue, speakers might work but as soon as you plug in a headphone, your sound goes away. (ie. sound doesnt work from the headphone).
Look in the codec file for a headphone node:Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
Vref caps: HIZ 50 GRD 80
Pin Default 0x0321101f: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=3a, enabled=1
Connection: 2
0x10* 0x11
Then enable the OUT with the same hda-verb as shown above, but update the node id:# hda-verb /dev/snd/hwC0D0 0x0a SET_PIN_WIDGET_CONTROL 0x40
Hopefully you will have sound by now.
3 comments:
Since i had the same laptop before ( literally ;) ), I can see Ubuntu works perfectly on your laptop :) So i guess it's a Fedora issue, and not a global one.
Heard it worked on an older kernel release on F10 too.. so probably just an issue with the current kernel.
Or for all I know, it might be the bits of pizza still stuck between the keys that is causing it :-)
You rock! My D830 was completely silent and would not produce any sound at all through the speakers or the headphones. Your hda-verb commands did the trick.
Post a Comment