LXQT Mixer
wouldn't open. I don't even get any error/warning messages. This is not good.So I try
alsamixer
.$ alsamixer ... This sound device does not have any controls.
This is not good either, but better than nothing. We now have something to work with.
It seems I have a sound device, but
alsa
can not connect to any controls.We need to check all the controllers.
$ lspci | grep -i audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) $ lspci -knnv -s 00:1b.0 00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03) Subsystem: Toshiba America Info Systems 82801I (ICH9 Family) HD Audio Controller [1179:ff1e] Flags: bus master, fast devsel, latency 0, IRQ 22 Memory at d6900000 (64-bit, non-prefetchable) [size=16K] Capabilities:Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel
$ lsmod | grep snd snd_hda_codec_hdmi 32710 1 snd_hda_intel 15445 1 snd_hda_controller 15342 1 snd_hda_intel snd_hda_codec 59032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_controller snd_hda_core 16671 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_controller snd_pcm 59428 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller snd_timer 14813 1 snd_pcm snd 38556 7 snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec,snd_hda_intel soundcore 656 1 snd
This looks good. It seems like the drivers have been detected, and modules loaded correctly.
What about the sound codecs?
$ lsmod | grep codec snd_hda_codec_hdmi 32710 1 snd_hda_codec 59032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_controller snd_hda_core 16671 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_controller snd_pcm 59428 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller snd 38556 7 snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec,snd_hda_intel
It looks like the hda codecs have been loaded. But are they the right ones?
$ cat /proc/asound/card*/codec* | grep -i codec Codec: Realtek ID 268 Codec: Motorola ID 3055
This sound card has two codes, as detected above. And they are..
Aha, we found the problem. Intel HDA Audio doesn't want Intel HDA Codecs. The required HDA Codecs are Realtek and Motorola.. hmm??
$ /sbin/modprobe -c | grep -i realteknothing!
$ /sbin/modprobe -c | grep -i motorolanothing!
Hmm.. my kernel config may be suspect. We need to check.
$ cat /boot/config-`uname -r` | grep -i "codec.*realtek" # CONFIG_SND_HDA_CODEC_REALTEK is not set
Our required RealTek codec is unset. It has not been compiled.
We need to select SND_HDA_CODEC_REALTEK, and rebuild kernel.
What about Motorola codec?
$ cat /boot/config-`uname -r` | grep -i "codec.*motorola"nothing!
The kernel doesn't even know about the Motorola codec. I guess, there is nothing much we can do here.
Let's hope the RealTek codec might be sufficient for now.. We may be able to ignore the Motorola codec.
So, we config & rebuild our gentoo kernel..
ref: Gentoo Kernel compile
$ cd /usr/src/linux $ make nconfig
> Device Drivers > Sound card support > Advanced Linux Sound Architecture > HD-Audio > SND_HDA_CODEC_REALTEK
Now we compile + install our kernel, modules and initramfs.
ref: gentoo kernel compile
# make && make modules_install && make install # genkernel --install --no-ramdisk-modules --disklabel initramfs
Verify the new kernel & initramfs are in /boot.
$ ls -lh /boot/yes!
Depending on your bootloader, you may need to regenerate (grub2) or reinstall (lilo). Check, and reboot.
System boots up.. I login and check sound. Yes, it works!
Now we can enjoy that sweet sound :)
No comments:
Post a Comment