# [SOLVED] correct driver for my soundcard

## Despot Despondency

I'm just configuring ALSA on my system and I'm trying to find out which driver I need to load in the kernel for my soundcard.

```

lspci -v | grep -i audio

```

gives

```

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)

```

I'm not sure which driver from to select from 

http://bugtrack.alsa-project.org/main/index.php/Matrix:Vendor-ATI

Any help would be appreciated. TAILast edited by Despot Despondency on Mon Jan 18, 2010 7:03 pm; edited 1 time in total

----------

## eccerr0r

Does the Intel HDA (High-Def Audio) driver work?

Azalia tends to be a flavor of Intel HDA.

----------

## Despot Despondency

I don't know, I'll give it a try. Something funky just happen to my computer so I going to have to sort that out first.

----------

## Mike Hunt

... also you can paste the output of lspci -n  in  here. Look at the result for the Audio Controller.

----------

## Despot Despondency

I managed to configure the soundcard and install alsa-utils. I tested it on an online radio after and it seemed to work fine. However there appears to be a problem. When I reboot the computer I get the following errors

```

 * Loading ALSA modules ...                                                                                                                                  

 *   Loading: snd-card-0 ...                                                                                                                                 

FATAL: Error inserting snd_hda_intel (/lib/modules/2.6.31-gentoo-r6/kernel/sound/pci/hda/snd-hda-intel.ko): Invalid argument                           [ !! ]

 *   Loading: snd-seq-oss ...                                                                                                                                

FATAL: Error inserting snd_seq_oss (/lib/modules/2.6.31-gentoo-r6/kernel/sound/core/seq/oss/snd-seq-oss.ko): Invalid argument                          [ !! ]

 *   Loading: snd-pcm-oss ...                                                                                                                                

FATAL: Error inserting snd_pcm_oss (/lib/modules/2.6.31-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Invalid argument                              [ !! ]

 *   Loading: snd-mixer-oss ...                                                                                                                              

FATAL: Error inserting snd_mixer_oss (/lib/modules/2.6.31-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Invalid module format                     [ !! ]

 *   Loading: snd-seq ...

FATAL: Error inserting snd_seq (/lib/modules/2.6.31-gentoo-r6/kernel/sound/core/seq/snd-seq.ko): Invalid argument                                      [ ok ]

 * Restoring Mixer Levels ...  

```

```

dmesg | grep snd

[    9.712305] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)

[    9.713470] snd: module is already loaded

[    9.717252] snd_timer: module is already loaded

[    9.728160] snd_pcm: module is already loaded

[    9.730898] snd_hwdep: exports duplicate symbol snd_hwdep_new (owned by kernel)

[    9.738008] snd_hda_codec: exports duplicate symbol snd_hda_parse_generic_codec (owned by kernel)

[    9.738554] snd_hda_intel: module is already loaded

[    9.742193] snd: module is already loaded

[    9.751856] snd_seq_device: exports duplicate symbol snd_seq_autoload_unlock (owned by kernel)

[    9.751942] snd_timer: module is already loaded

[    9.758715] snd_seq: module is already loaded

[    9.759017] snd_seq_midi_event: exports duplicate symbol snd_midi_event_decode (owned by kernel)

[    9.769648] snd_seq_oss: module is already loaded

[    9.773257] snd: module is already loaded

[    9.779804] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)

[    9.780098] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)

[    9.780168] snd_timer: module is already loaded

[    9.780321] snd_pcm: module is already loaded

[    9.788847] snd_pcm_oss: module is already loaded

[    9.792471] snd: module is already loaded

[    9.793028] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)

[    9.796668] snd: module is already loaded

[    9.796948] snd_seq_device: exports duplicate symbol snd_seq_autoload_unlock (owned by kernel)

[    9.797025] snd_timer: module is already loaded

[    9.797132] snd_seq: module is already loaded

[ 1126.778023] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)

[ 1126.778225] snd: module is already loaded

[ 1126.778301] snd_timer: module is already loaded

[ 1126.778445] snd_pcm: module is already loaded

[ 1126.778974] snd_hwdep: exports duplicate symbol snd_hwdep_new (owned by kernel)

[ 1126.779680] snd_hda_codec: exports duplicate symbol snd_hda_parse_generic_codec (owned by kernel)

[ 1126.779769] snd_hda_intel: module is already loaded

[ 1126.782893] snd: module is already loaded

[ 1126.783178] snd_seq_device: exports duplicate symbol snd_seq_autoload_unlock (owned by kernel)

[ 1126.783248] snd_timer: module is already loaded

[ 1126.783359] snd_seq: module is already loaded

[ 1126.783494] snd_seq_midi_event: exports duplicate symbol snd_midi_event_decode (owned by kernel)

[ 1126.783567] snd_seq_oss: module is already loaded

[ 1126.786572] snd: module is already loaded

[ 1126.787132] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)

[ 1126.787409] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)

[ 1126.787481] snd_timer: module is already loaded

[ 1126.787624] snd_pcm: module is already loaded

[ 1126.787707] snd_pcm_oss: module is already loaded

[ 1126.790706] snd: module is already loaded

[ 1126.791262] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)

[ 1126.794220] snd: module is already loaded

[ 1126.794500] snd_seq_device: exports duplicate symbol snd_seq_autoload_unlock (owned by kernel)

[ 1126.794568] snd_timer: module is already loaded

[ 1126.794674] snd_seq: module is already loaded

```

I'm not really sure what to do from here.

----------

## eccerr0r

You may have mixed modules from the in-kernel ALSA modules and the external alsa-drivers package?  Which are you ultimately using?

I'm using solely in-kernel pretty much for drivers...

----------

## Despot Despondency

 *Quote:*   

> 
> 
> You may have mixed modules from the in-kernel ALSA modules and the external alsa-drivers package? Which are you ultimately using? 
> 
> 

 

I'm not entirely sure to be honest. I just followed the ALSA gentoo guide http://www.gentoo.org/doc/en/alsa-guide.xml. I compiled the ALSA options as a module in the kernel.

How do I check if modules are getting mixed?

----------

## Telemin

Well did you install the alsa-drivers package?

If you did then you have two clashing sets of modules and you need to emerge -C alsa-drivers.

If you can't remember then running 

```
grep "alsa" /var/lib/portage/world
```

 will tell you which alsa packages you have installed.

-Freestyling-

----------

## Despot Despondency

I didn't install alsa-drivers. I double checked and it's not installed. 

I had a problem with a system date in the future https://forums.gentoo.org/viewtopic-t-810978-highlight-.html. Could it be related to that?

----------

## Telemin

That "Invalid Argument" error could very well be something wrong in your /etc/modprobe.d/alsa.conf.  Can you post it up for us please?  As the alsa guide says, one problem may be a device_mode line which didn't ought to be there.

-Freestyling-

----------

## Despot Despondency

Here is the /etc/modprobe.d/alsa.conf

```

# Alsa kernel modules' configuration file.

# ALSA portion

# OSS/Free portion

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

## alias snd-card-0 snd-interwave

## alias snd-card-1 snd-ens1371

##  OSS/Free portion

## alias sound-slot-0 snd-card-0

## alias sound-slot-1 snd-card-1

##

# OSS/Free portion - card #1

##  OSS/Free portion - card #2

## alias sound-service-1-0 snd-mixer-oss

## alias sound-service-1-3 snd-pcm-oss

## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.20 ---

alias snd-card-0 snd-hda-intel

alias sound-slot-0 snd-hda-intel

# --- END: Generated by ALSACONF, do not edit. ---

```

I can't see a device_mode line anywhere.

----------

## Telemin

Okay, so I personally never faff about with modules when things can be built straight into the kernel.  So you may wish to try:

1. Clean out the various modules located in the folder /lib/modules/{kernel-version}/kernel/sound

2. Rebuild the kernel with your currently selected modules built in rather than as modules.

3. make modules_install and copy your new kernel to boot (remember to make sure boot is mounted, many a linux veteran made a fool of himself like that:P)

4. Reboot and see if alsamixer gives you a mixer for your soundcard

-Freestyling-

----------

## Despot Despondency

Thanks freestyling, that worked. Still would like to know why I can't build the kernel with the sound card as a module.

----------

