# Intel HD Audio / Radeon HD 2600 -- Sound not working

## jrtayloriv

I am unable to get my sound working.

lspci is showing two audio devices:

```
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)

01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]
```

I have the following enabled in my kernel .config

```

CONFIG_SOUND=y

CONFIG_SOUND_OSS_CORE=y

CONFIG_SND=y

CONFIG_SND_TIMER=y

CONFIG_SND_PCM=y

CONFIG_SND_HWDEP=y

CONFIG_SND_JACK=y

CONFIG_SND_SEQUENCER=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_HRTIMER=y

CONFIG_SND_SEQ_HRTIMER_DEFAULT=y

CONFIG_SND_SUPPORT_OLD_API=y

CONFIG_SND_VMASTER=y

CONFIG_SND_PCI=y

CONFIG_SND_HDA_INTEL=y

CONFIG_SND_HDA_HWDEP=y

CONFIG_SND_HDA_INPUT_BEEP=y

CONFIG_SND_HDA_CODEC_ATIHDMI=y

CONFIG_SND_HDA_CODEC_INTELHDMI=y

CONFIG_SND_HDA_ELD=y

CONFIG_SND_HDA_GENERIC=y

```

When I run alsaconf, as it is starting (before it loads the ncurses UI), it says 

```

modinfo: could not find module snd

modinfo: could not find module snd

modinfo: could not find module snd

```

... and it is then unable to find any cards.

cat /proc/asound/cards gives me:

```

  0 [HDMI           ]: HDA-Intel - HDA ATI HDMI

                      HDA ATI HDMI at 0xf3010000 irq 17

```

dmesg shows this:

```

42846:ALSA device list:

42864-  #0: HDA ATI HDMI at 0xf3010000 irq 17

```

When I run speaker-test, I get the follwing:

```

Playback device is default

Stream parameters are 48000Hz, S16_LE, 1 channels

Using 16 octaves of pink noise

ALSA lib pcm_dmix.c:1008:(snd_pcm_dmix_open) unable to open slave

Playback open error: -2,No such file or directory

```

Any idea what to do here?

Thanks,

J. TaylorLast edited by jrtayloriv on Thu Sep 17, 2009 12:27 am; edited 2 times in total

----------

## Dominique_71

You must install ALSA as modules: http://www.gentoo.org/doc/en/alsa-guide

----------

## cach0rr0

Just to add to what he said

You have

```

CONFIG_SOUND=y 

```

Meaning, built-in

If you have it as

```
CONFIG_SOUND=m
```

Then the module 'snd' is built. 

alsaconf is looking for the 'snd' module, and not finding it. 

Now, having said that, doing built-in for alsa is perfectly fine. You simply need a)the right driver in your kernel, b)alsa-utils package so as to have the alsasound init script (used for saving your mixer levels)

----------

## jrtayloriv

I already have alsa-utils, and the alsasound init script is starting at boot already, and it is giving me no errors. Manually restarting it via /etc/init.d/alsasound restart doesn't fix anything either.

From what I've been able to find, it seems like I already do have the proper sound modules installed. The Intel HD Audio Controller needs HDA_Intel (which I have enabled).

I've been unable to find out what to do with the ATI Technologies Inc RV630/M76 audio device. But I enabled the ATI HDMI HD Codec in the kernel(CONFIG_SND_HDA_CODEC_ATIHDMI=y), and interestingly, this is the card that pops up when I run alsamixer.

I am getting the following when I run lspci -k:

```

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)

01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]

        Kernel driver in use: HDA Intel

```

Note that the Intel card can't find the proper kernel module ... Is there something else besides the kernel modules I've enabled here that I might need?

Or, could it be that the ATI card and the Intel card are "interfering" with each other somehow? Can I not have both enabled? Will disabling the ATI card negatively affect me in any way? 

Why exactly is it that I have two audio cards in the first place? I've gotten the feeling from looking at all of the posts I could find in Google, regarding the ATI card, that this is not my 'primary' card. It seems to come along with a bunch of different sound cards, and the sound issues seem to be resolved when the other card (i.e. not the ATI card) get's fixed.

Thanks,

J. Taylor

----------

## cach0rr0

When you have a sec, post the output of

```

lspci -n

```

and we should be able to tell you what all you need to enable

----------

## jrtayloriv

Here is the output of lspci -n:

```

00:00.0 0600: 8086:2a00 (rev 03)

00:01.0 0604: 8086:2a01 (rev 03)

00:1a.0 0c03: 8086:2834 (rev 04)

00:1a.1 0c03: 8086:2835 (rev 04)

00:1a.7 0c03: 8086:283a (rev 04)

00:1b.0 0403: 8086:284b (rev 04)

00:1c.0 0604: 8086:283f (rev 04)

00:1c.1 0604: 8086:2841 (rev 04)

00:1c.2 0604: 8086:2843 (rev 04)

00:1d.0 0c03: 8086:2830 (rev 04)

00:1d.1 0c03: 8086:2831 (rev 04)

00:1d.2 0c03: 8086:2832 (rev 04)

00:1d.7 0c03: 8086:2836 (rev 04)

00:1e.0 0604: 8086:2448 (rev f4)

00:1f.0 0601: 8086:2815 (rev 04)

00:1f.1 0101: 8086:2850 (rev 04)

00:1f.2 0106: 8086:2829 (rev 04)

00:1f.3 0c05: 8086:283e (rev 04)

01:00.0 0300: 1002:9581

01:00.1 0403: 1002:aa08

02:00.0 0200: 10ec:8136 (rev 01)

04:00.0 0280: 8086:4222 (rev 02)

```

Thank you for your help.

--J. Taylor

----------

## Dominique_71

Sorry, the link was wrong in my first post. http://www.gentoo.org/doc/en/alsa-guide.xml.

I just don't understand why do you want ALSA built into the kernel. To have it as module is not only easier to configure, but also make it easier to change the configuration and much more flexible.

alsaconf will help you only if alsa is built as module. When alsa is builtin, the only way to configure it is via kernel boot parameters. Also, kernel parameters (for what I know) will not help you if you want to be able to choose the sound cards order.

Even alsaconf will not help you for that. You will have to write /etc/modprobe.d/alsa.conf following the advices in /usr/src/linux/Documentation/sound/alsa/ALSA-Configuration.txt. And run update-modules when this file is done.

----------

## jrtayloriv

I've already read the Gentoo ALSA Guide. It didn't help with my current problem.

I generally build everything that I don't plan to ever toggle on/off directly into the kernel, rather than as a module. I do this for a variety of reasons -- mostly for ease of maintenance.

Are you saying that there is no way for me to get this working unless I build ALSA as a module?

--jrtayloriv

----------

## skrapasor

Do you have an iMac? It looks like you do based on your sound card and video card. I can't get my sound working on my iMac so if you figure it out please tell me. I have the alsa and sound card options as modules, and alsaconf works fine for me. It claims my sound card should work but I get no sound. I think the problem might be the model= parameter in alsa.conf. I've tried imac-intel but I still get nothing. Maybe it's a problem with my alsamixer settings? Anyway, I would suggest building it as a module.

----------

## jrtayloriv

No, I do not have an iMac -- I have a Gateway M-Series Laptop.

--jrtayloriv

----------

## cach0rr0

weird. Both of those cards use the same driver. 

(check my sig - that's why i always ask for lspci -n output)

In this case indeed it might be worthwhile to build this as a module, much as I generally avoid doing so. 

Built as a module you can pass options to modprobe that are specific to your particular breed of Intel card. 

It might be worthwhile having a look at the BIOS, and seeing if you can disable one of them there; I've never encountered a situation where multiple sound cards use the same driver (rather, multiple *different* cards), so I honestly don't know the expected behaviour. 

The other benefit to having it as a module, besides modprobe opts, is you can load/unload it at will - and in doing so, can more easily catch potential errors in dmesg/syslog.

----------

## cach0rr0

Ok, so yeah..per the alsa guide, you'd want to go the module route, and in modprobe.d/alsa.conf, add:

```

options snd-hda-intel index=0,1

```

Snippet from the gentoo alsa guide:

 *Quote:*   

> 
> 
> You can have more than one sound card in your system simultaneously, provided that you have built ALSA as modules in your kernel. You just need to specify which should be started first in /etc/modprobe.d/alsa.conf. Your cards are identified by their driver names inside this file. 0 is the first card, 1 is the second, and so on. Here's an example for a system with two sound cards. 
> 
> Code Listing 4.8: Two sound cards in /etc/modprobe.d/alsa.conf
> ...

 

----------

## Dominique_71

 *jrtayloriv wrote:*   

> 
> 
> Are you saying that there is no way for me to get this working unless I build ALSA as a module?
> 
> --jrtayloriv

 

I was wrong about this. It is possible to do that like this:

```

kernel          /boot/vmlinuz-2.6.14.3 root=/dev/hda1 ro snd-emu10k1.index=0 snd-intel8x0.index=1

```

But in your case, that will not help because the snd_hda_intel module doesn't have the needed option.

When it is build as module, you can get the options the module can take with:

```
# modinfo -p snd-hda-intel

enable_msi:Enable Message Signaled Interrupt (MSI)

single_cmd:Use single command to communicate with codecs (for debugging only).

probe_only:Only probing and no codec initialization.

probe_mask:Bitmask to probe codecs (default = -1).

bdl_pos_adj:BDL position adjustment offset.

position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF).

model:Use the given board model.

enable:Enable Intel HD audio interface.

id:ID string for Intel HD audio interface.

index:Index value for Intel HD audio interface.

```

or

```
# modinfo -p snd-usb-audio

ignore_ctl_error:Ignore errors from USB controller for mixer interfaces.

device_setup:Specific device setup (if needed).

async_unlink:Use async unlink mode.

nrpacks:Max. number of packets per URB.

pid:Product ID for the USB audio device.

vid:Vendor ID for the USB audio device.

enable:Enable USB audio adapter.

id:ID string for the USB audio adapter.

index:Index value for the USB audio adapter.

```

snd-usb-audio have the pid: and vid: options for that. But with snd-hda-intel, I am afraid that the only possibility will be to write some specific udev rules. If it will work with alsa built-in or not, I have no idea.

http://alsa.opensrc.org/index.php/Udev

----------

## jrtayloriv

Thank you both for your help.

I recompiled the kernel with ALSA and HDA-Intel as modules. This at least got both the Intel card and the ATI card recognized. 

But my sound is still not working. speaker-test is no longer giving any errors, but no sound is coming out. I have checked that everything is unmuted and volume at 100% in alsamixer, and have made sure that the keyboard sound toggle switch is on, and volume up all the way. No luck.

The output from lspci -k now reads:

```

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)

        Kernel driver in use: HDA Intel

        Kernel modules: snd-hda-intel

01:00.1 Audio device: ATI Technologies Inc RV630/M76 audio device [Radeon HD 2600 Series]

        Kernel driver in use: HDA Intel

        Kernel modules: snd-hda-intel

```

cat /proc/asound/cards now gives me:

```

 0 [Intel          ]: HDA-Intel - HDA Intel

                      HDA Intel at 0xf3300000 irq 22

 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI

                      HDA ATI HDMI at 0xf3010000 irq 17

```

If I rmmod snd-hda-intel, the following shows up in /var/log/messages (nothing shows up in dmesg):

```

Aug 11 13:07:13 localhost PM: Removing info for No Bus:mixer1

Aug 11 13:07:13 localhost PM: Removing info for No Bus:pcmC1D3p

Aug 11 13:07:13 localhost PM: Removing info for No Bus:controlC1

Aug 11 13:07:13 localhost PM: Removing info for No Bus:card1

Aug 11 13:07:13 localhost HDA Intel 0000:01:00.1: PCI INT B disabled

Aug 11 13:07:13 localhost PM: Removing info for No Bus:mixer

Aug 11 13:07:13 localhost PM: Removing info for No Bus:dsp

Aug 11 13:07:13 localhost PM: Removing info for No Bus:audio

Aug 11 13:07:13 localhost PM: Removing info for No Bus:pcmC0D0p

Aug 11 13:07:13 localhost PM: Removing info for No Bus:pcmC0D0c

Aug 11 13:07:13 localhost PM: Removing info for No Bus:controlC0

Aug 11 13:07:13 localhost PM: Removing info for No Bus:card0

Aug 11 13:07:13 localhost HDA Intel 0000:00:1b.0: PCI INT A disabled

Aug 11 13:07:20 localhost HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

Aug 11 13:07:20 localhost HDA Intel 0000:00:1b.0: setting latency timer to 64

Aug 11 13:07:20 localhost PM: Adding info for No Bus:card0

Aug 11 13:07:20 localhost PM: Adding info for No Bus:pcmC0D0p

Aug 11 13:07:20 localhost PM: Adding info for No Bus:pcmC0D0c

Aug 11 13:07:20 localhost PM: Adding info for No Bus:dsp

Aug 11 13:07:20 localhost PM: Adding info for No Bus:audio

Aug 11 13:07:20 localhost PM: Adding info for No Bus:controlC0

Aug 11 13:07:20 localhost PM: Adding info for No Bus:mixer

Aug 11 13:07:20 localhost HDA Intel 0000:01:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17

Aug 11 13:07:20 localhost HDA Intel 0000:01:00.1: setting latency timer to 64

Aug 11 13:07:20 localhost PM: Adding info for No Bus:card1

Aug 11 13:07:20 localhost PM: Adding info for No Bus:pcmC1D3p

Aug 11 13:07:20 localhost PM: Adding info for No Bus:controlC1

Aug 11 13:07:20 localhost PM: Adding info for No Bus:mixer1

```

Here is what my /etc/modprobe.d/alsa.conf looks like:

```

options snd-hda-intel index=0,1 

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

```

Where can I go from here?

Thanks,

J. Taylor

----------

## jrtayloriv

Got sound working.

Basically, I had to disable all of the Intel HD Audio codecs in the kernel, except for CONFIG_SND_HDA_GENERIC , and then after I had booted into the new kernel, just ran alsaconf and chose to let it auto-configure the Intel card (NOT the ATI HDMI card). 

After doing that, everything seems to work fine. 

I think what was preventing it from working was either SND_HDA_CODEC_ATIHDMI or SND_HDA_CODEC_INTELHDMI, because other than CONFIG_SND_HDA_HWDEP, I didn't disable anything else other than these two codecs. After disabling these and CONFIG_SND_HDA_HWDEP, alsaconf got everything working fine ...

Thanks again for all of the help getting this figured out ... marking thread as [solved]

--jrtayloriv

----------

## jrtayloriv

grrrr, randomly stopped working again a few weeks later ... I've started another post: https://forums.gentoo.org/viewtopic-p-5963024.html#5963024

And I'm about to post something to the gentoo-users mailing list.

----------

