[SOLVED] New graphic card installed: the sound is now gone. how to solve?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
New graphic card installed: the sound is now gone. how to solve?
hello,
I installed an ATI card into my pc, now the sound is gone. I suppose this is due to the position of that new card which is now "0" (when I start alsamixer, I see the sound default is "HD-Audio Generic" with "Chip: ATI R6xx HDMI". I dont have a screen on the HDMI. I just want to take the "Intel ICH6" with "Chip: Analog Devices AD1981B" as the default card as per previous installation.
What should I do?
cat /proc/asound/cards
Code:
0 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0620000 irq 42
1 [ICH6 ]: ICH4 - Intel ICH6
Intel ICH6 with AD1981B at irq 21
Hi, This may be slightly different on your system, I use Mageia and an nVidia graphics card.
What I do to stop the sound being hijacked by the graphics card > hdmi connector, is
blacklist the kernel module, so the hdmi sound is not loaded at boot.
I do this here... The name of the file maybe different on your fedora system...
/etc/modprobe/blacklist-mga.conf
Code:
# blacklisted modules for PCI coldplug
# see also /etc/modprobe.d/blacklist-compat
blacklist rivatv
blacklist bluetooth
# For some bridges both intel-agp and i82875p_edac are loaded. If i82875p_edac
# is loaded first it will grab the device. Then intel-agp doesn't work.
# Therefore we disable automatic loading of 82875p_edac. (Bug 213840)
# https://bugzilla.novell.com/show_bug.cgi?id=213840
blacklist i82875p_edac
# do not use "Boot Protocol" drivers, we prefer usbhid
# and they cause problems when loaded together with usbhid (#37726, #40861)
blacklist usbkbd
blacklist usbmouse
# disable PC speaker by default
# pcspkr is the standard driver, while snd-pcsp is the ALSA driver
blacklist pcspkr
blacklist snd-pcsp
blacklist nouveau
blacklist snd_hda_codec_hdmi #hda-nvidia-digital-stereo
blacklist snd_hda_codec_realtek #hda onboard 5.1 surround
blacklist snd_hda_intel
blacklist snd_hda_codec
# Prevent conflicts with nvidiabl
blacklist nvidia_bl
blacklist nvbacklight
blacklist mbp_nvidia_bl
# End of entries added for nvidiabl
this module is the one I block snd_hda_codec_hdmi
You should be able to check with the lsmod command in a terminal, like konsole with kde.
type, you might need to be root
Code:
lsmod | grep hdmi
greping for hdmi will, I hope, only show any lines that have "hdmi" in them/it.
check to see if it's loaded before and after a reboot.
You need root (admin) privliges to save any changes to /etc/...
I use vi or nano to edit system config files as root.
Thanks for the advices. Here are my current findings.
I am first testing the advice for blacklisting according post #2: I added and tried the bootcode "snd_hda_codec_hdmi.blacklist=yes"
The module snd_hda_codec_hdmi is nomore loaded (it dont appear in the output of lsmod).
But, the wrong chip still appear as defaultdevice in alsamixer "HD-Audio Generic" "ATI ID aa01" (different from the loaded card if snd_hda_codec_hdmi would have been loaded) and I still cannot hear the sound.
So, perhaps another module should be blacklisted. Which one?
a) After a second boot with "snd_hda_codec_hdmi.blacklist=yes", the sound is there! (it was not the case at the first boot.. curious..)
b) In any case, I made the try according Post #3 and #5 (no blacklist as boot parameter); I included
in /etc/modprobe.d/alsa-base.conf
...
# change 19 Feb 2015
# Keep hdmi outputof the radeon graphic card from beeing loaded as first soundcard
options snd_hda_codec_hdmi index=-2
#
...
It works! Thanks.
What I see:
- GOOD: the standard intel card of the PC
- no hdmi module is loaded as per Post #1 (no "hdmi" module can be seen with lsmod)
- the "HD-Audio Generic" "ATI ID aa01" can be seen as second card
My expectations with my comprehension of alsamixer, changing the file alsa-base.conf and interpreting the comments of that conf file would have been:
- the hdmi module would have been loaded
- the standard card is the intel
- the second card would be "HD-Audio Generic" "Chip: ATI R6xx HDMI" as per Post #1 (dont see this)
Whatever are my expectation, I am happy and it works!
At a cold boot that morning (after 2 days of no use), the "HD ATI" sound card was loaded at first despite the contermeasure indicated in a previous post (I had the feeling it worked).
At a second boot, the sound of the "Intel" was there.
Curious behavior: hopefully I dont need 2x times boot for having the correct card loaded.
Lets keep observing that behaviour: I will log the first and second boot the next days and analyze this.
I've heard of this behaviour before in Debian-based systems. Try blacklisting by putting
blacklist snd_hda_codec_hdmi
in /etc/modprobe.d/blacklist.conf or whatever your system calls it, rather than using a boot parameter.
This was a bit like #6: at a cold first boot, the blacklisting in the kernel parameter did not work. But it worked at the second boot.
I blacklist now according #9 and will make a cold boot tomorrow and post the result here.
Just for information (no snd_hda_codec_hdmi module loaded):
lsmod (of wrongly loaded card)
but cat /proc/asound/cards (in that case, no sound)
Code:
0 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0620000 irq 43
1 [ICH6 ]: ICH4 - Intel ICH6
Intel ICH6 with AD1981B at irq 21
and "alsamixer" indicate the loaded card
Card: HD-Audio Generic
Chip: ATI ID aa01
Curious...
Blacklisting according #9 and a warm reboot (sound works) give another lsmod with a "1" and "17" marked in bold which deviates from previous lsmod (the "1" and "17" are coming up from a warm reboot and make it working? The "0" and "15" are a sign its not ok? I will have to understand what are these parameters in the "lsmod" output):
lsmod (the sound works)
So, I blacklisted according #9:
- a cold boot: no sound available
- a second boot (hot boot), the sound is there
My thoughts: with a cold boot, the sound system is not coming up (slow hardware? capacitor empty and which needs more time?).
So, perhaps should I put a delay in booting for the system to have time to boot correctly?
How to put a delay? Any advice is welcome.
Update: during a cold boot, I included waitdev=5 into the grub command line and it booted with the sound.
Then, I included then waitdev=5 into grub via "sudo leafpad /boot/grub/menu.lst" then "sudo update-grub". Let see if it boots continuously with sound now (without editing the grub command line and at each cold boot).
Update: after a hot reboot of the previous successfull coldboot, the sound is gone. I'm still searching what happens..
(1) When during a cold boot (seen in dmesg) ...
snd_hda_intel 0000:06:00.1: irq 42 for MSI/MSI-X ...
ALSA sound/pci/hda/hda_intel.c:2713 0000:06:00.1: Handle VGA-switcheroo audio client ...
radeon 0000:06:00.0: irq 43 for MSI/MSI-X ... sound dont work
(2) but during a warm boot ...
radeon 0000:06:00.0: irq 42 for MSI/MSI-X ...
radeon 0000:06:00.0: radeon: using MSI. ...
ALSA sound/pci/hda/hda_intel.c:2713 0000:06:00.1: Handle VGA-switcheroo audio client ...
snd_hda_intel 0000:06:00.1: irq 43 for MSI/MSI-X .. does work
The question would be how to change the irq for both different module or how to change the load sequence for both modules. Perhaps I should remove the snd_hda_intel, reload it, and restart alsa (= effect would be the snd_hda_intel would be in any case a module loaded after the radeon like 2).
Last edited by floppy_stuttgart; 03-12-2015 at 01:24 PM.
With blacklisting snd_hda_intel (additionally to snd_hda_codec_hdmi), the sound is there at each boot. Topic closed.
My findings:
a) sometime the processor is recognized as "tsc: Detected 3393.662 MHz processor" and the radeon driver was loaded before the snd_hda_intel. GOOD (sound working). I found out that snd_hda_intel dont need to be loaded in my PC for making the sound working.
b) sometime the processor is recognized as "tsc: Detected 3393.808 MHz processor" and the snd_hda_intel driver is loaded before the radeon driver. NOT GOOD (sound NOT WORKING).
I dont know why the processor is recognized differently (bad contact at the pin..?). I will not further search.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.