[Natty] Unreliable detection of snd-hda-intel with Conexant CX20549 codec
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pulseaudio (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Ever since the "up"grade to Ubuntu Natty, I have been having a host of problems with regards to audio. Foremost among them is the unreliable detection of sound related hardware during boot time. I have since done a clean install (keeping only home folder, but deleting all configuration other than Wine prefixes and virtual machines). The problem persists even now.
The symptoms of the problem are thus: at boot time, 3 things may happen: (1) the sound hardware (snd-hda-intel) will simply not be detected, (2) the sound hardware is detected but the codec isn't (snd-hda-
For cases (1) and (2), no sound is possible. Usually, but not always, I can get sound back by booting into a Lucid Live CD then booting back into Natty. For case (3), sound works, but is likely to stop working after a period of inactivity or with certain applications (Flash with Firefox, and Wine, are both reliable "killers" of audio); after audio stops working, I can get it back if I kill all programs that were using audio and run the following script:
echo "autospawn=no" > ~/.pulse/
pulseaudio -k
killall -q pulseaudio
sudo alsa force-reload
echo "autospawn=yes" > ~/.pulse/
pulseaudio -D
Sometimes, though, the above script will give the same results as case (2) above, which leads me to believe the issues are related. I have added the following lines to /etc/modprobe.
Top:
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
install snd-hda-intel /sbin/modprobe --ignore-install snd-hda-intel $CMDLINE_OPTS
End:
options snd-hda-intel index=-2 power_save=0 power_save_
At the moment, I have been able to get only case (1) working; the output of alsa-info.sh under these circumstances is here: http://
Yesterday, I was able to get sound fully working; under those circumstances, alsa-info.sh returns this: http://
The difference between cases (2) and (3) is that the Conexant codec is not found; the hardware is found, but I only have a "Dummy output" available for selection. kern.log confirms this: when I run the script I gave above, the following lines are printed in case (2):
[112070.826937] HDA Intel 0000:00:07.0: PCI INT A -> Link[LAZA] -> GSI 21 (level, low) -> IRQ 21
[112070.826942] hda_intel: Disable MSI for Nvidia chipset
[112070.827006] HDA Intel 0000:00:07.0: setting latency timer to 64
[112070.900039] hda-intel: no codecs found!
[112070.900099] HDA Intel 0000:00:07.0: PCI INT A disabled
But the following lines are printed in case (3):
[ 5.858654] HDA Intel 0000:00:07.0: PCI INT A -> Link[LAZA] -> GSI 21 (level, low) -> IRQ 21
[ 5.858657] hda_intel: Disable MSI for Nvidia chipset
[ 5.858717] HDA Intel 0000:00:07.0: setting latency timer to 64
If there is any further information I can give to help solve this problem, please ask.
affects: | ubuntu → alsa-driver (Ubuntu) |
I have an idea what might be going on, but I need you to try something for me.
Open the file /lib/udev/ rules.d/ 90-pulseaudio. rules as root in an editor, and remove the following line:
ATTRS{vendor} =="0x10de" , ENV{PULSE_ PROFILE_ SET}="nvidia. conf"
Save changes, then log out or reboot. If this clears up detection of your hardware, then it seems that a fix that was added for other users who have an NVIDIA hda device needs to be made somewhat more fine graned. The NVIDIA code we have there was for users who had NVIDIA devices with realtek codecs. It seems my colleague who made that fix was unaware of NVIDIA devices with Conexant codecs.
If removing the above line does help, then we will set about fixing things such that your system is excluded from loading that configuratino file.
Thanks.