View previous topic :: View next topic |
Author |
Message |
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Thu May 30, 2019 8:34 pm Post subject: Cannot find soundcard driver [SOLVED] |
|
|
I have been following the wiki page on ALSA in order to set up sound, but I cannot find what I assume to be the correct driver in menuconfig. My soundcard, according to lspci:
Code: | 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05) |
I did some quick searches and it seems that the correct driver is named snd_hda_intel, but I have looked in Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> PCI sound devices but I cannot find any similar options. The only driver that even mentions Intel is for AC'97 which seems to be unrelated to any HD soundcards.
What I have tried so far is marking all the drivers at Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> HD-Audio, along with the parser to be built in to the kernel, and rebuilding the kernel. Then I installed ALSA, started the daemon, then I ran aplay -l and aplay -L which returned the following, respectively:
Code: | aplay: device_list:272: no soundcards found... |
Code: | null
Discard all samples (playback) or generate zero samples (capture) |
I have done no configuration so far, but it seems like these utilities should be working before that. I have also run through this proccess with the AC'97 driver compiled with no luck. I have no idea where to go from here. _________________ Gentoo noob.
Last edited by B10bot on Sat Jun 01, 2019 6:52 pm; edited 1 time in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Thu May 30, 2019 8:48 pm Post subject: |
|
|
B10bot,
Its not where you have been looking.
Use the search. snd_hda_intel is correct.
In menuconfig, press / and enther snd_hda_intel
Press the number to the left of the item to go there. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Thu May 30, 2019 9:14 pm Post subject: |
|
|
So I went to the search and entered snd_hda_intel and found that I had already enabled it, just under a different name(HD Audio PCI). It was in Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> HD-Audio. What now? Should it be a module instead? Is ALSA the problem? _________________ Gentoo noob. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Thu May 30, 2019 10:06 pm Post subject: |
|
|
B10bot,
You need to configure your codec driver as built in.
Until the codec leads, you can't tell which one you need. Its just bloat if you enable them all but otherwise harmless.
You can configure the codecs as <M> but don't do that. Its more difficult to make work.
While you have missing codecs, you will see something in dmesg about ... unable to bind to codec.
Once all the bits come together, Code: | cat /proc/asound/devices | will list your sound devices. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
tmcca Tux's lil' helper
Joined: 24 May 2019 Posts: 120
|
Posted: Thu May 30, 2019 10:51 pm Post subject: |
|
|
How I got it working:
Code: | Device Drivers
<*> Sound card support --->
<M> Advanced Linux Sound Architecture --->
--- Advanced Linux Sound Architecture
[ ] Enable OSS Emulation
<M> HR-timer backend support
-*- Dynamic device file minor numbers
(32) Max number of sound cards
[ ] Support old ALSA API
-*- Sound Proc FS Support
[*] Verbose procfs contents
[ ] Verbose printk
[ ] Debug
<M> Sequencer support
<M> Sequencer dummy client
[*] Use HR-timer as default sequencer timer
[ ] Generic sound devices ----
[*] PCI sound devices --->
HD-Audio --->
(2048) Pre-allocated buffer size for HD-audio driver
[ ] USB sound devices ----
< > ALSA for SoC audio support ----
[ ] X86 sound devices ----
HD-Audio --->
<M> HD Audio PCI
[*] Build hwdep interface for HD-audio driver
[ ] Allow dynamic codec reconfiguration
[ ] Support digital beep via input layer
[ ] Support initialization patch loading for HD-audio
<M> Build Realtek HD-audio codec support
< > Build Analog Device HD-audio codec support
< > Build IDT/Sigmatel HD-audio codec support
< > Build VIA HD-audio codec support
<M> Build HDMI/DisplayPort HD-audio codec support
< > Build Cirrus Logic codec support
< > Build Conexant HD-audio codec support
< > Build Creative CA0110-IBG codec support
< > Build Creative CA0132 codec support
< > Build C-Media HD-audio codec support
< > Build Silicon Labs 3054 HD-modem codec support
-M- Enable generic HD-audio codec parser
(0) Default time-out for HD-audio power-save mode
Then add this in /etc/modprobe.d/alsa.conf
# Set this to the correct number of cards.
options snd cards_limit=2
options snd-hda-intel id=NVidia index=2 (Whatever your HDMI card is)
in /etc/asound.conf
defaults.pcm.!card NVidia
defaults.pcm.!device 7
defaults.pcm.!ctl NVidia
|
|
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Fri May 31, 2019 12:02 am Post subject: |
|
|
Does the modulization make any difference? Also do you have the same soundcard as me? _________________ Gentoo noob. |
|
Back to top |
|
|
tmcca Tux's lil' helper
Joined: 24 May 2019 Posts: 120
|
Posted: Fri May 31, 2019 12:09 am Post subject: |
|
|
I am not sure if you have same sound card. You need to find out most likely Realtek.
also pastebin your dmesg.
I think a module is built so we can load it and unload it. However, for some reason when I built it in my sound didnt work.
I learned this because I built it in first ans when I read dmesg ALSA wasnt getting loaded made it a module and after that it was fixed.
lets see a couple of things first..
try command lsmod and post results; post results of dmesg | grep -i sound
also cat /usr/src/linux/.config | grep SND_HDA |
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Fri May 31, 2019 1:34 am Post subject: |
|
|
Just to be clear, I am doing this from a already installed machine, so I'm unsure about how useful lsmod will be.
I'm pretty sure the driver is Realtek.
dmesg before your edits: http://dpaste.com/22RN4YN
dmesg after your edits: http://dpaste.com/0CYHNSZ
dmesg | grep -i sound before:
Code: | [ 0.284944] Advanced Linux Sound Architecture Driver Initialized.
[ 1.659860] No soundcards found. |
after:
Code: | [ 0.287973] Advanced Linux Sound Architecture Driver Initialized.
[ 1.637470] No soundcards found.
|
lsmod before:
Code: | Module Size Used by
x86_pkg_temp_thermal 16384 0
iwlmvm 327680 0
iwldvm 192512 0
iwlwifi 286720 2 iwldvm,iwlmvm
crc32_generic 16384 0
f2fs 454656 0 |
lsmod after:
Code: | Module Size Used by
x86_pkg_temp_thermal 16384 0
iwlmvm 327680 0
iwldvm 192512 0
iwlwifi 286720 2 iwldvm,iwlmvm
crc32_generic 16384 0
f2fs 454656 0
|
cat /usr/src/linux/.config | grep SND_HDA before: http://dpaste.com/2FJ46TM
cat /usr/src/linux/.config | grep SND_HDA after: http://dpaste.com/1EY9ZEH
I excluded the edits to the configuration files as aplay -l and aplay -L still yielded no results. As far as I can see there are no significant changes.This probably means the kernel was not the problem and ALSA is acting up. _________________ Gentoo noob. |
|
Back to top |
|
|
tmcca Tux's lil' helper
Joined: 24 May 2019 Posts: 120
|
Posted: Fri May 31, 2019 1:59 am Post subject: |
|
|
[ 1.514887] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops 0xffffffff9b08eb00)
[ 1.522399] hdaudio hdaudioC0D0: Unable to bind the codec
[ 1.522845] hdaudio hdaudioC0D3: Unable to bind the codec
That looks like the issue.
You have Alsa as a module or built in?
CONFIG_SND_HDA_I915 should be module |
|
Back to top |
|
|
tmcca Tux's lil' helper
Joined: 24 May 2019 Posts: 120
|
Posted: Fri May 31, 2019 3:13 am Post subject: |
|
|
here is my
take out
CONFIG_SND_HDA_I915=y make it [ ] I think that maybe issue as well the CONFIG_SND_HDA should be m not y as well the Alsa itself
Code: | cat /usr/src/linux/.config | grep SND_HDA
CONFIG_SND_HDA=m
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_PATCH_LOADER is not set
CONFIG_SND_HDA_CODEC_REALTEK=m
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
CONFIG_SND_HDA_CODEC_HDMI=m
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_CORE=m
CONFIG_SND_HDA_PREALLOC_SIZE=2048
|
|
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Fri May 31, 2019 1:50 pm Post subject: |
|
|
My ALSA is a module. I found the CONFIG_SND_HDA_I915 in the search but I dont have a way to edit it. The search entry looks like this:
Code: | Symbol: SND_HDA_I915 [=y]
│ Type : bool
│ Defined at sound/hda/Kconfig:11
│ Depends on: SOUND [=y] && !UML && SND [=m]
│ Selects: SND_HDA_COMPONENT [=y]
│ Selected by [m]:
│ - DRM_I915 [=y] && HAS_IOMEM [=y] && DRM [=y] && X86 [=y] && PCI [=y] && SND_HDA_CORE [=m] |
I don't know how to get to it, but it looks like it's not a module. _________________ Gentoo noob. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Fri May 31, 2019 6:04 pm Post subject: |
|
|
B10bot,
Lets stop working through a keyhole.
Please post the output of so we can see all your PCI hardware and have the vendor and device IDs in case we need to dig deeper.
Pastebin all of your kernel .config file. It can be non ALSA settings causing issues.
Pastebin all of dmesg, so we can see exactly what your kernel does at startup.
What is not in the log is often as important as what is.
This will give a complete self consistent data set to start from.
wgetpaste will help with the larger pastes.
Codec drivers do not get auto loaded. Configure them as <*>. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Sat Jun 01, 2019 5:33 pm Post subject: |
|
|
NeddySeagoon:
So I made all the codec drivers built in, here are the outputs
lspci -knn output: http://dpaste.com/37C38RZ
/usr/src/linux/.config: http://dpaste.com/2J30F4J
dmesg output: http://dpaste.com/0VY6KXM
Side note: How do you get wgetpaste to go to pastebin.com? It isn't in the default options. _________________ Gentoo noob. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Sat Jun 01, 2019 6:06 pm Post subject: |
|
|
B10bot,
You only have one sound card. That's good. Sorting out multiple sound cards is an extra step.
Code: | 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Subsystem: ASUSTeK Computer Inc. 6 Series/C200 Series Chipset Family High Definition Audio Controller [1043:1bc3]
Kernel driver in use: snd_hda_intel |
dmesg says
Code: | [ 0.000000] Linux version 4.19.44-gentoo (root@livecd) (gcc version 8.3.0 (Gentoo 8.3.0-r1 p1.1)) #2 SMP Wed May 22 20:17:05 CDT 2019 |
That's probably bad. You are running build #2 of your 4.19.44-gentoo, built at Wed May 22 20:17:05 CDT 2019.
I'm fairly sure you have rebuilt your kernel since you opened this thread on Thu May 30, 2019.
It looks like you have made kernels that may have fixed your problem but you have not run them.
Did you forget to mount /boot for your kernel install?
What is the timestamp on your kernel .config file?
If the running kernel came from it, it must be before Wed May 22 20:17:05 CDT 2019
After you install a new kernel, after the first boot, check the date and time in ;That's the build time of the runnnig kernel.
Code: | #
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
# CONFIG_SND_HDA_RECONFIG is not set
# CONFIG_SND_HDA_INPUT_BEEP is not set
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
CONFIG_SND_HDA_CODEC_HDMI=y
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# 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_DEFAULT=0
CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=64 | is OKish. I would make all the codecs=y until you know the one you need.
-- edit --
Poking about in dmesg a bit more
Code: | [ 0.242966] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[ 0.244973] core: PEBS disabled due to CPU errata, please upgrade microcode | there is a wiki page about updating Intel microcode.
Its a good thing for Intel CPUs
Code: | [ 1.345898] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops 0xffffffff8d28eb00)
[ 1.355185] hdaudio hdaudioC0D0: Unable to bind the codec
[ 1.355667] hdaudio hdaudioC0D3: Unable to bind the codec |
As root is not mounted until
Code: | [ 2.221237] EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: (null) |
The snd-hda-intel code is built into the running kernel but the codecs you need are not. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
B10bot n00b
Joined: 24 May 2019 Posts: 18
|
Posted: Sat Jun 01, 2019 6:51 pm Post subject: |
|
|
So aplay -l and aplay -L both return devices now. The problem was that I did not mount my boot partion before running make install. Since it didn't return any errors I thought it was fine and therefore never had a kernel that fixed my problem. I narrowed the correct driver down to the Realtek one after I figured this out, so it works now. Thanks! _________________ Gentoo noob. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Sat Jun 01, 2019 7:57 pm Post subject: |
|
|
B10bot,
For completeness, you have two different places on you system called /boot.
When the boot partition is not mounted /boot refers the the directory on the root filesystem called /boot. Under these conditions, it should be empty.
You also have a boot partition (no leading slash). This is read by grub without mounting it. When grub runs, the concept of the file system tree does not exist.
When you want to update the boot partition, so grub can see the changes, it gets mounted at /boot (with the slash), hiding whatever was in /boot the directory on the root filesystem.
When you forget to mount /boot, your kernel is correctly installed to the wrong place. Its not an error to put files into the /boot the directory on the root filesystem.
Grub won't find them though. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|