# [SOLVED]Help with soundcard intel ich8 family

## unai001

Hi i have just installed gentoo using genkernel, and i have tried to manually install the drivers from alsa's webpage. The install has gone perfect but when i run alsaconf it gives me some errors:

```
Starting sound driver: snd-hda-intel WARNING: Error inserting snd (/lib/modules/2.6.24-gentoo-r3/kernel/sound/acore/snd.ko): Unknown symbol in module, or unknown parameter (see dmesg)

WARNING: Error inserting snd_hwdep (/lib/modules/2.6.24-gentoo-r3/kernel/sound/acore/snd-hwdep.ko): Unknown symbol in module, or unknown parameter (see dmesg)

WARNING: Error inserting snd_timer (/lib/modules/2.6.24-gentoo-r3/kernel/sound/acore/snd-timer.ko): Unknown symbol in module, or unknown parameter (see dmesg)

WARNING: Error inserting snd_pcm (/lib/modules/2.6.24-gentoo-r3/kernel/sound/acore/snd-pcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)

FATAL: Error inserting snd_hda_intel (/lib/modules/2.6.24-gentoo-r3/kernel/sound/pci/hda/snd-hda-intel.ko): Unknown symbol in module, or unknown parameter (see dmesg)

done

Setting default volumes...

amixer: Mixer attach default error: No such file or directory

Saving the mixer setup used for this in /etc/asound.state.

/usr/sbin/alsactl: save_state:1497: No soundcards found...

```

the dmesg says:

```
snd: Unknown symbol unregister_sound_special

snd: Unknown symbol register_sound_special_device

snd: Unknown symbol sound_class

snd_hwdep: Unknown symbol snd_info_register

snd_hwdep: Unknown symbol snd_info_create_module_entry

snd_hwdep: Unknown symbol snd_info_free_entry

snd_hwdep: Unknown symbol snd_unregister_oss_device

snd_hwdep: Unknown symbol snd_verbose_printk

snd_hwdep: Unknown symbol snd_register_oss_device

snd_hwdep: Unknown symbol snd_ctl_register_ioctl

snd_hwdep: Unknown symbol snd_card_file_add

snd_hwdep: Unknown symbol snd_iprintf

snd_hwdep: Unknown symbol snd_major

snd_hwdep: Unknown symbol snd_unregister_device

snd_hwdep: Unknown symbol snd_device_new

snd_hwdep: Unknown symbol snd_ctl_unregister_ioctl

snd_hwdep: Unknown symbol snd_lookup_oss_minor_data

snd_hwdep: Unknown symbol snd_lookup_minor_data

snd_hwdep: Unknown symbol snd_card_file_remove

snd_hwdep: Unknown symbol snd_register_device_for_dev

snd_timer: Unknown symbol snd_info_register

snd_timer: Unknown symbol snd_info_create_module_entry

snd_timer: Unknown symbol snd_info_free_entry

snd_timer: Unknown symbol snd_verbose_printk

snd_timer: Unknown symbol snd_iprintf

snd_timer: Unknown symbol snd_ecards_limit

snd_timer: Unknown symbol snd_oss_info_register

snd_timer: Unknown symbol snd_unregister_device

snd_timer: Unknown symbol snd_device_new

snd_timer: Unknown symbol snd_register_device_for_dev

snd_pcm: Unknown symbol snd_info_register

snd_pcm: Unknown symbol snd_info_create_module_entry

snd_pcm: Unknown symbol snd_timer_notify

snd_pcm: Unknown symbol snd_timer_interrupt

snd_pcm: Unknown symbol snd_info_free_entry

snd_pcm: Unknown symbol snd_add_device_sysfs_file

snd_pcm: Unknown symbol snd_info_get_str

snd_pcm: Unknown symbol snd_verbose_printk

snd_pcm: Unknown symbol snd_ctl_register_ioctl

snd_pcm: Unknown symbol snd_card_file_add

snd_pcm: Unknown symbol snd_iprintf

snd_pcm: Unknown symbol snd_major

snd_pcm: Unknown symbol snd_unregister_device

snd_pcm: Unknown symbol snd_timer_new

snd_pcm: Unknown symbol snd_device_new

snd_pcm: Unknown symbol snd_ctl_unregister_ioctl

snd_pcm: Unknown symbol snd_lookup_minor_data

snd_pcm: Unknown symbol snd_info_create_card_entry

snd_pcm: Unknown symbol snd_power_wait

snd_pcm: Unknown symbol snd_device_free

snd_pcm: Unknown symbol snd_card_file_remove

snd_pcm: Unknown symbol snd_register_device_for_dev

snd_pcm: Unknown symbol snd_device_register

snd_pcm: Unknown symbol snd_info_get_line

snd_hda_intel: Unknown symbol snd_ctl_add

snd_hda_intel: Unknown symbol snd_pcm_new

snd_hda_intel: Unknown symbol snd_pcm_limit_hw_rates

snd_hda_intel: Unknown symbol snd_card_register

snd_hda_intel: Unknown symbol snd_card_free

snd_hda_intel: Unknown symbol snd_pcm_lib_preallocate_pages_for_all

snd_hda_intel: Unknown symbol snd_card_proc_new

snd_hda_intel: Unknown symbol snd_ctl_find_id

snd_hda_intel: Unknown symbol snd_verbose_printk

snd_hda_intel: Unknown symbol snd_ctl_new1

snd_hda_intel: Unknown symbol snd_component_add

snd_hda_intel: Unknown symbol snd_card_new

snd_hda_intel: Unknown symbol snd_iprintf

snd_hda_intel: Unknown symbol snd_pcm_lib_malloc_pages

snd_hda_intel: Unknown symbol snd_ctl_boolean_mono_info

snd_hda_intel: Unknown symbol snd_pcm_lib_ioctl

snd_hda_intel: Unknown symbol snd_pcm_lib_free_pages

snd_hda_intel: Unknown symbol snd_hwdep_new

snd_hda_intel: Unknown symbol snd_pcm_set_ops

snd_hda_intel: Unknown symbol snd_pcm_hw_constraint_list

snd_hda_intel: Unknown symbol snd_device_new

snd_hda_intel: Unknown symbol snd_pcm_suspend_all

snd_hda_intel: Unknown symbol snd_card_disconnect

snd_hda_intel: Unknown symbol snd_pcm_hw_constraint_integer

snd_hda_intel: Unknown symbol snd_pci_quirk_lookup

snd_hda_intel: Unknown symbol snd_pcm_period_elapsed

snd_hda_intel: Unknown symbol snd_pcm_hw_constraint_step

snd_hda_intel: Unknown symbol snd_pcm_format_width

```

Loking at that i guest it is because i have compiled the drivers when they allready where inkernel. 

The question is, how can i fix this? I would rather not to compile the kernel because with the "genkernel" everything (except this) works but i prefer that than having to reinstall the system...

Thx!!Last edited by unai001 on Fri Mar 21, 2008 6:53 pm; edited 1 time in total

----------

## guruvan

you seem to have mismatched the drivers & kernel version you're using. you need to recompile the drivers against the kernel sources for the kernel you're running 

I don't use genkernel myself. I've done pretty much the same since back in the days with slackware

make sure /usr/src/linux points to the current kernel

```
cd /usr/src/linux ; make clean ; make menuconfig && make && make modules_install && cp arch/x86/boot/bzImage /boot/2624rx-type-ver && cp .config CONFIG.2624rx-type-ver && vi /etc/lilo.conf && /sbin/lilo
```

I also always set the local version string when editing the kernel settings (make menuconfig)

I set it to -processor-XX That  way, when I make modules_install EACH test version of the kernel has its own /lib/modules/kernel_version directory. Yes, it takes longer, and uses more space while testing new kernels, but everything is there when I switch kernels. In other words, I don't break kernel/module sets by making new kernels. Each kernel edit becomes an improvement. Remember to increment the local version string EVERY TIME

(to be clear this process makes modules in /lib/modules/kernel_version-local_version) 

The first time you do this just make menuconfig with the mostly good .config in place, and change the localversion string, then run make modules_install to put a set into the current versioin string. Make sure that boots right, and then go make menuconfig again and increment the version string, etc. Make sense?

----------

## d2_racing

If you don't want to break package, maybe you should install module-rebuild.

```

# emerge -v module-rebuild

# module-rebuild list

```

This will give you the list of package that need to be rebuild after a kernel upgrade or recompilation.

----------

## guruvan

do you have a link to some docs on that? Looks cool to me (esp, the auto-rebuild toggle) but I'm not really certain from running it what EXACTLY it's gonna do.

----------

## d2_racing

```

 module-rebuild --help

/usr/sbin/module-rebuild: illegal option -- -

module-rebuild [options] action [category/package]

Version: 0.5

Where options are:

        -X       - Emerge based on package names,

                   not exact versions.

        -C       - Disable all coloured output.

Where action is one of:

        add      - Add package to moduledb.

        del      - Delete a package from moduledb.

        toggle   - Toggle auto-rebuild of Package.

        list     - List packages to auto-rebuild.

        rebuild  - Rebuild packages.

        populate - Populate the database with any

                   packages which currently install

                   drivers into the running kernel.

```

----------

## guruvan

I emerged it & ran as soon as I read your post I was looking for something in between that (which I already read...) and the source. The help output is less than telling as to what it will _do_  I told it to populate and list, and it set one of my modules (vmware-1.0.0.17-r1)  to rebuild=1......but not everyone agrees whether 1=TRUE or 1=FALSE. And in particular, I don't want THAT module rebuilt unless it really should be.

----------

## unai001

Whel, thanks i have managed to fix the problem but now i have something else...

The mixer's level isn't being saved, they start muted and i have proved to "alsactl store" but it doesn't seem to work...Any idea?

Thx!

----------

## guruvan

it'll be a little bit before I can restart something to test alsactl store, does your boot script run alsactl restore?

(I mostly rely on kamix in KDE for this.....I usually don't use the alsa driver from a cli (sometimes to test with mpg123)

----------

## unai001

 *guruvan wrote:*   

> it'll be a little bit before I can restart something to test alsactl store, does your boot script run alsactl restore?
> 
> (I mostly rely on kamix in KDE for this.....I usually don't use the alsa driver from a cli (sometimes to test with mpg123)

 

I dont know, how can i add it? (or see if it is added, but i guest it isnt...)

Thx!

----------

## guruvan

To search

eix -I mix 

OR 

emerge -s mix    [if you don't have eix installed you should its WAY faster)

To install

emerge -av kamix

----------

## unai001

I meant how to add alsactl restore to boot hehehe, im running gnome, so i cant use kmix but thx anyway  :Very Happy: 

I have fixed it by adding a script to init.d with the "alsactl restore" and then adding it to default runlevel. Thx for the idea too 

Bye!

----------

## guruvan

/etc/init.d/alsasound

rc-update add alsasound default

that'll load modules if necessary & restore/save mixer states

(probably there's a gmix or something)

----------

