# [SOLVED] intel hda configured but no sound.

## Mr_Shameless

Hi,

My laptop is a Lenovo Y400-44A with Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller. Here is the output of lspci:

#lspci | grep -i audio

```
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
```

I followed the ALSA guide on Gentoo Docs, tried both ways (using kernel modules and installing drivers) but failed.

I compiled the kernel (gentoo-sources-2.6.20-r8 ) with the following options:

```
CONFIG_SND=y

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_SEQUENCER=m

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_RTCTIMER=m

CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y

CONFIG_SND_HDA_INTEL=m
```

After rebooting, i ran alsaconf. It recognized my card. There were two entries:

```
hda-intel   Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller

legacy      Probe legacy ISA (non-PnP) chips
```

Running alsamixer displayed bars for "Master" and "PCM" (and "Caller I" and "Off-hook"). I did unmute them. I opened audacious to test. The program seemed playing but i couldnt here anything.

Following this post, i added a few more modules (which looked irrelevant but worked for that guy) to my kernel, but that didnt solve my problem.

I followed another post, trying setting specific model and position_fix but it didnt help, neither   :Rolling Eyes: 

Everytime when I reboot and ran alsamixer, it only shows the "Master" bar (and "Caller I" and "Off-hook"). Only after I ran alsaconf again did it show the "PCM" bar.

Any of you who knows please help me. Thank you  :Smile: Last edited by Mr_Shameless on Wed Jul 11, 2007 12:47 pm; edited 1 time in total

----------

## grunthus

Did you remember to do the following as root:

```

rc-update add alsasound boot

gpasswd -a your_user_name audio

```

To test the sound server, turn the speakers down, log in as yourself (not root) then try

```
cat /dev/urandom >> /dev/dsp
```

Gradually turn up the volume. (otherwise the static might damage your equipement)

Adding aslasound to boot runlevel as shown above should fix your problem with having to run alsamixer everytime you reboot.

If you've done alsa in the kernel as modules, then you might not even need to run alsaconf.

----------

## Mr_Shameless

Thank you  :Smile: 

I ran rc-update add alsasound boot, and that gave me the "PCM" bar at start-up.

I'm already in the audio group.

However, I there is still no sound. I tested with both "cat /dev/urandom >> /dev/dsp" and audacious but couldnt hear anything.

I must try, I must try... This is the last step to complete my installation on this laptop, lol   :Very Happy: 

----------

## grunthus

I'd go back to your kernel, build in ALSA support.

You can also run 

```
cat /proc/asound/oss/sndstat
```

 to see what is going on. Here is my kernel config:

```

CONFIG_SND=y

CONFIG_SND_TIMER=y

CONFIG_SND_PCM=y

CONFIG_SND_HWDEP=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_SEQUENCER=y

CONFIG_SND_SEQ_DUMMY=y

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=y

CONFIG_SND_PCM_OSS=y

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

# CONFIG_SND_RTCTIMER is not set

# CONFIG_SND_DYNAMIC_MINORS is not set

CONFIG_SND_SUPPORT_OLD_API=y

CONFIG_SND_VERBOSE_PROCFS=y

# CONFIG_SND_VERBOSE_PRINTK is not set

# CONFIG_SND_DEBUG is not set

CONFIG_SND_AC97_CODEC=m

# CONFIG_SND_DUMMY is not set

# CONFIG_SND_VIRMIDI is not set

# CONFIG_SND_MTPAV is not set

# CONFIG_SND_SERIAL_U16550 is not set

# CONFIG_SND_MPU401 is not set

# CONFIG_SND_AD1889 is not set

# CONFIG_SND_ALS300 is not set

# CONFIG_SND_ALS4000 is not set

# CONFIG_SND_ALI5451 is not set

# CONFIG_SND_ATIIXP is not set

# CONFIG_SND_ATIIXP_MODEM is not set

# CONFIG_SND_AU8810 is not set

# CONFIG_SND_AU8820 is not set

# CONFIG_SND_AU8830 is not set

# CONFIG_SND_AZT3328 is not set

# CONFIG_SND_BT87X is not set

# CONFIG_SND_CA0106 is not set

# CONFIG_SND_CMIPCI is not set

# CONFIG_SND_CS4281 is not set

# CONFIG_SND_CS46XX is not set

# CONFIG_SND_CS5535AUDIO is not set

# CONFIG_SND_DARLA20 is not set

# CONFIG_SND_GINA20 is not set

# CONFIG_SND_LAYLA20 is not set

# CONFIG_SND_DARLA24 is not set

# CONFIG_SND_GINA24 is not set

# CONFIG_SND_LAYLA24 is not set

# CONFIG_SND_MONA is not set

# CONFIG_SND_MIA is not set

# CONFIG_SND_ECHO3G is not set

# CONFIG_SND_INDIGO is not set

# CONFIG_SND_INDIGOIO is not set

# CONFIG_SND_INDIGODJ is not set

CONFIG_SND_EMU10K1=m

# CONFIG_SND_EMU10K1X is not set

# CONFIG_SND_ENS1370 is not set

# CONFIG_SND_ENS1371 is not set

# CONFIG_SND_ES1938 is not set

# CONFIG_SND_ES1968 is not set

# CONFIG_SND_FM801 is not set

# CONFIG_SND_HDA_INTEL is not set

# CONFIG_SND_HDSP is not set

# CONFIG_SND_HDSPM is not set

# CONFIG_SND_ICE1712 is not set

# CONFIG_SND_ICE1724 is not set

# CONFIG_SND_INTEL8X0 is not set

# CONFIG_SND_INTEL8X0M is not set

# CONFIG_SND_KORG1212 is not set

# CONFIG_SND_MAESTRO3 is not set

# CONFIG_SND_MIXART is not set

# CONFIG_SND_NM256 is not set

# CONFIG_SND_PCXHR is not set

# CONFIG_SND_RIPTIDE is not set

# CONFIG_SND_RME32 is not set

# CONFIG_SND_RME96 is not set

# CONFIG_SND_RME9652 is not set

# CONFIG_SND_SONICVIBES is not set

# CONFIG_SND_TRIDENT is not set

# CONFIG_SND_VIA82XX is not set

# CONFIG_SND_VIA82XX_MODEM is not set

# CONFIG_SND_VX222 is not set

# CONFIG_SND_YMFPCI is not set

# CONFIG_SND_AC97_POWER_SAVE is not set

# CONFIG_SND_USB_AUDIO is not set

# CONFIG_SND_USB_USX2Y is not set
```

Where obviously I have an emu10k1 and ac97 cards instead of your HDA.

If you change from alsa-driver back to kernel modules you might get some left over stuff (Unknown symbol in modules error) - it tells you how to sort that in the Gentoo ALSA guide http://www.gentoo.org/doc/en/alsa-guide.xml which you have already been following.

Can you post you lsmod and kernel config afresh if you do decide to go back to in-kernel ALSA?

----------

## Mr_Shameless

Sure i can.

O, a little about installing my the alsa-drivers. After trying the kernel modules (which failed), i disabled and enabled kernel options as guided in Gentoo Docs, then emerged alsa-driver. There was some call stack error, which strongly discouraged me, so i switched back to the kernel and wildly search for threads on this forums  :Very Happy: . And that is my current status.

OK, here are my outputs:

$cat /proc/asound/oss/sndstat

```
Sound Driver:3.8.1a-980706 (ALSA v1.0.14rc1 emulation code)

Kernel: Linux lenovo 2.6.20-gentoo-r8 #8 SMP PREEMPT Sun Jul 8 20:36:47 ICT 2007 i686

Config options: 0

Installed drivers: 

Type 10: ALSA emulation

Card config: 

HDA Intel at 0xd4340000 irq 20

Audio devices:

0: HDA Generic (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:

7: system timer

Mixers:

0: Realtek ID 862
```

$lsmod

```
Module                  Size  Used by

snd_pcm_oss            36704  0 

snd_mixer_oss          14144  1 snd_pcm_oss

snd_seq_oss            29120  0 

snd_seq_midi_event      6144  1 snd_seq_oss

snd_seq                46736  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          6476  2 snd_seq_oss,snd_seq

snd_intel8x0           28444  0 

snd_ac97_codec         90464  1 snd_intel8x0

ac97_bus                2048  1 snd_ac97_codec

eth1394                16452  0 

pcmcia                 31212  0 

8139too                21632  0 

ohci1394               31664  0 

ieee1394               83928  2 eth1394,ohci1394

yenta_socket           23244  1 

rsrc_nonstatic         10944  1 yenta_socket

pcmcia_core            33048  3 pcmcia,yenta_socket,rsrc_nonstatic

sdhci                  15756  0 

mmc_core               21060  1 sdhci

ipw3945               202596  0 

ieee80211              30408  1 ipw3945

ieee80211_crypt         4672  1 ieee80211

i2c_i801                7504  0 

usbhid                 14340  0 

snd_hda_intel          15960  0 

snd_hda_codec         157184  1 snd_hda_intel

snd_pcm                61636  5 snd_pcm_oss,snd_intel8x0,snd_ac97_codec,snd_hda_intel,snd_hda_codec

snd_timer              18564  2 snd_seq,snd_pcm

snd_page_alloc          7496  3 snd_intel8x0,snd_hda_intel,snd_pcm
```

$cat /usr/src/linux/.config | grep CONFIG_SND

```
CONFIG_SND=y

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_SEQUENCER=m

# CONFIG_SND_SEQ_DUMMY is not set

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_RTCTIMER=m

CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y

# CONFIG_SND_DYNAMIC_MINORS is not set

# CONFIG_SND_SUPPORT_OLD_API is not set

# CONFIG_SND_VERBOSE_PROCFS is not set

# CONFIG_SND_VERBOSE_PRINTK is not set

# CONFIG_SND_DEBUG is not set

CONFIG_SND_AC97_CODEC=m

# CONFIG_SND_DUMMY is not set

# CONFIG_SND_VIRMIDI is not set

# CONFIG_SND_MTPAV is not set

# CONFIG_SND_SERIAL_U16550 is not set

# CONFIG_SND_MPU401 is not set

# CONFIG_SND_ADLIB is not set

# CONFIG_SND_AD1816A is not set

# CONFIG_SND_AD1848 is not set

# CONFIG_SND_ALS100 is not set

# CONFIG_SND_AZT2320 is not set

# CONFIG_SND_CMI8330 is not set

# CONFIG_SND_CS4231 is not set

# CONFIG_SND_CS4232 is not set

# CONFIG_SND_CS4236 is not set

# CONFIG_SND_DT019X is not set

# CONFIG_SND_ES968 is not set

# CONFIG_SND_ES1688 is not set

# CONFIG_SND_ES18XX is not set

# CONFIG_SND_GUSCLASSIC is not set

# CONFIG_SND_GUSEXTREME is not set

# CONFIG_SND_GUSMAX is not set

# CONFIG_SND_INTERWAVE is not set

# CONFIG_SND_INTERWAVE_STB is not set

# CONFIG_SND_OPL3SA2 is not set

# CONFIG_SND_OPTI92X_AD1848 is not set

# CONFIG_SND_OPTI92X_CS4231 is not set

# CONFIG_SND_OPTI93X is not set

# CONFIG_SND_MIRO is not set

# CONFIG_SND_SB8 is not set

# CONFIG_SND_SB16 is not set

# CONFIG_SND_SBAWE is not set

# CONFIG_SND_SGALAXY is not set

# CONFIG_SND_SSCAPE is not set

# CONFIG_SND_WAVEFRONT is not set

# CONFIG_SND_AD1889 is not set

# CONFIG_SND_ALS300 is not set

# CONFIG_SND_ALS4000 is not set

# CONFIG_SND_ALI5451 is not set

# CONFIG_SND_ATIIXP is not set

# CONFIG_SND_ATIIXP_MODEM is not set

# CONFIG_SND_AU8810 is not set

# CONFIG_SND_AU8820 is not set

# CONFIG_SND_AU8830 is not set

# CONFIG_SND_AZT3328 is not set

# CONFIG_SND_BT87X is not set

# CONFIG_SND_CA0106 is not set

# CONFIG_SND_CMIPCI is not set

# CONFIG_SND_CS4281 is not set

# CONFIG_SND_CS46XX is not set

# CONFIG_SND_CS5535AUDIO is not set

# CONFIG_SND_DARLA20 is not set

# CONFIG_SND_GINA20 is not set

# CONFIG_SND_LAYLA20 is not set

# CONFIG_SND_DARLA24 is not set

# CONFIG_SND_GINA24 is not set

# CONFIG_SND_LAYLA24 is not set

# CONFIG_SND_MONA is not set

# CONFIG_SND_MIA is not set

# CONFIG_SND_ECHO3G is not set

# CONFIG_SND_INDIGO is not set

# CONFIG_SND_INDIGOIO is not set

# CONFIG_SND_INDIGODJ is not set

# CONFIG_SND_EMU10K1 is not set

# CONFIG_SND_EMU10K1X is not set

# CONFIG_SND_ENS1370 is not set

# CONFIG_SND_ENS1371 is not set

# CONFIG_SND_ES1938 is not set

# CONFIG_SND_ES1968 is not set

# CONFIG_SND_FM801 is not set

CONFIG_SND_HDA_INTEL=m

# CONFIG_SND_HDSP is not set

# CONFIG_SND_HDSPM is not set

# CONFIG_SND_ICE1712 is not set

# CONFIG_SND_ICE1724 is not set

CONFIG_SND_INTEL8X0=m

# CONFIG_SND_INTEL8X0M is not set

# CONFIG_SND_KORG1212 is not set

# CONFIG_SND_MAESTRO3 is not set

# CONFIG_SND_MIXART is not set

# CONFIG_SND_NM256 is not set

# CONFIG_SND_PCXHR is not set

# CONFIG_SND_RIPTIDE is not set

# CONFIG_SND_RME32 is not set

# CONFIG_SND_RME96 is not set

# CONFIG_SND_RME9652 is not set

# CONFIG_SND_SONICVIBES is not set

# CONFIG_SND_TRIDENT is not set

# CONFIG_SND_VIA82XX is not set

# CONFIG_SND_VIA82XX_MODEM is not set

# CONFIG_SND_VX222 is not set

# CONFIG_SND_YMFPCI is not set

# CONFIG_SND_AC97_POWER_SAVE is not set

# CONFIG_SND_USB_AUDIO is not set

# CONFIG_SND_USB_USX2Y is not set

# CONFIG_SND_VXPOCKET is not set

# CONFIG_SND_PDAUDIOCF is not set
```

Thank you for your patience  :Smile: 

----------

## Robstar

I just want to ask a question that may or may not help. I have the same intel hda setting but my sound card is a cmi-9880 but whats yours? Maybe do some research on the card itself then just the module. If this doesn't help, sorry.

----------

## grunthus

OK, so you tried in kernel, then tried alsa-driver and then back to in kernel. 

Did the emerge alsa-driver fail? If not you'll need to get rid of alsa-driver:

```
emerge -C alsa-driver

rm -rf /lib/modules/$(uname -r)/alsa-driver
```

You've recompiled the kernel a few times. Have you remembered to update grub.conf and boot into the new kernel?

```
uname -a
```

Check the date and compile number (e.g Linux trilby 2.6.20-gentoo-r8 #5 SMP Thu Jun 21 19:30:43 GMT 2007 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz GenuineIntel GNU/Linux) This means my kernel is the 5th compile compiled June 21 at 19:30GMT

Once you are sure you have in kernel alsa in the running kernel, have removed old modules from alsa-driver attempt, restart alsasound and see what happens.

I don't mean to be rude, but have you checked the speakers are plugged into the output jack on the sound card?

----------

## Mr_Shameless

to Robstar: Where can i get that information? From the output of lspci, I only knew that i should try setting model=3jack (or 3stack, forgot) and position_fix=0 or 1 or 2 in some file (forgot  :Smile: )

to grunthus: yea, i failed emerging alsa-driver. But i will try cleaning files anyway.

Everytime i finished compiling the kernel, i copy arch/boot/i386/bzImage into /boot/kernel-2.6.20-gentoo-r8 (the one i'm using, according to /boot/grub/grub.conf) to overwrite the old image. Is that a good way? I guess it's a little risky though  :Very Happy:  When i compiled new modules, it showed in the output of lsmod.

O, maybe i haven't made it clear, but i've always been using the laptop's built in speakers  :Smile: . They work under windows.

----------

## PaulBredbury

It's nice to have a backup kernel listed in grub, in case the new kernel doesn't boot up (e.g. if the module for the hard drive wasn't compiled in). I use in /boot/grub/menu.lst

```
# Safe (fallback)

title Gentoo Safe

root (hd0,0)

kernel /boot/kernel-safe root=/dev/sda1 panic=30
```

Anyway, see wiki for compiling the kernel with ALSA.

----------

## Robstar

I don't know, I just knew it cause thats was on the box.

----------

## Cyker

The Realtek HD Audio (aka Intel HDAudio) driver in the current gentoo kernel is out of date.

One of the symptoms is that, in newer versions of the chip, the driver compiles, loads and correctly detects the chip, but no matter what you do no sound will play from it.

The best thing to do is disable all the ALSA drivers in the kernel and emerge the alsa-drivers stuff. You may also need to change some other kernel options to get it to work (IIRC you need to use the standard 8k stacks and not 4k... or was it the other way round??), but it can be a bit annoying trying to go from kernel-drivers to the alsa-drivers.

Alternatively, I believe Realtek have a Linux kernel patch on their website which you could probably use. I haven't tried it 'tho, so YMMV as they say.

----------

## Mr_Shameless

Thank you very much Cyker. I emerged a newer version of alsa-driver and have my music now   :Razz: 

```
#ACCEPT_KEYWORDS="~x86" emerge alsa-driver
```

When updating alsa-driver, i noticed that alsa-driver-1.0.14-rc2 couldn't compile with my kernel version, alsa-driver-1.0.14-rc3 compiled but yielded the same symptoms as the kernel modules.

alsa-driver-1.0.14 worked.

----------

## Cyker

Yay!  :Mr. Green:   Glad I helped  :Smile: 

----------

