LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1205|回复: 4

[求助】alsa加载声卡模块时出错

[复制链接]
发表于 2009-2-16 14:16:54 | 显示全部楼层 |阅读模式
我初次安装gentoo,安装alsa时出错了。(内核2.6.28)
      第一次把驱动build in在内核里,结果alsaconf找不到声卡,但是alsamixer识别得出,并且可以放出音乐。听说把驱动编译成模块较好,于是就重新编译内核,安装成模块。
      在/etc/modules.d/autoload.d/kernel-2.6里添加了snd-hda-intel。rc-update add alsasound boot.之后开机之后提示alsa那一块出错了。登陆后lsmod没有显示有模块加载。

dmesg如下:
[    9.741283] snd: module is already loaded
[    9.755426] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)
[    9.762358] snd: module is already loaded
[    9.763820] snd_mixer_oss: exports duplicate symbol snd_mixer_oss_ioctl_card (owned by kernel)
[    9.764712] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)
[    9.765064] snd_timer: module is already loaded
[    9.765607] snd_pcm: module is already loaded
[    9.771167] snd_pcm_oss: module is already loaded
[    9.778030] snd: module is already loaded
[    9.787368] snd_seq_device: exports duplicate symbol snd_seq_autoload_unlock (owned by kernel)
[    9.787739] snd_timer: module is already loaded
[    9.789215] snd_seq: module is already loaded
[   13.204119] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   13.204484] e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
[   13.205615] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   23.750019] eth0: no IPv6 routers present


于是modprobe snd-hda-intel,提示如下:
WARNING: Error inserting snd_page_allocc (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-page-alloc.ko): Invalid module format
WARNING: Error inserting snd (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd.o): Invalid module argument
WARNING: Error inserting snd_timer (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-timer.ko): Invalid module argument
FATAL: Error inserting snd_hda_intel (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-ha-intel .ko): Invalid module argument

dmesg如下:
[   69.490062] snd_page_alloc: exports duplicate symbol snd_free_pages (owned by kernel)
[   69.490516] snd: module is already loaded
[   69.490856] snd_timer: module is already loaded
[   69.491343] snd_pcm: module is already loaded
[   69.492930] snd_hda_intel: module is already loaded

但是alsaconf,alsamixer之后可以用mpg123放音乐。

请问各位,这是什么原因啊,是不是2.6.28内核的原因?
发表于 2009-2-17 00:46:17 | 显示全部楼层
在/etc/modules.d/autoload.d/kernel-2.6里snd-hda-intel注释掉试一下
怀疑在这之前就已经加载了模块
回复 支持 反对

使用道具 举报

发表于 2009-2-17 01:48:13 | 显示全部楼层
出错信息是不是与下面差不多呀?

  1. # /etc/init.d/alsasound start
  2. * Loading ALSA modules...
  3. *   Loading: kernelsnd-mixer-oss...
  4. FATAL: Module kernelsnd_mixer_oss not found.                  [ !! ]
  5. *   Loading: kernelsnd-pcm-oss...
  6. FATAL: Module kernelsnd_pcm_oss not found.                    [ !! ]
  7. *   Loading: kernelsnd-seq-oss...
  8. FATAL: Module kernelsnd_seq_oss not found.                    [ !! ]
  9. *   Loading: kernelsnd-seq...
  10. FATAL: Module kernelsnd_seq not found.                        [ ok ]
  11. * Restoring Mixer Levels...
复制代码



如果是这样,就要打补丁了:

http://bugs.gentoo.org/258930

http://bugs.gentoo.org/258496
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-17 14:34:59 | 显示全部楼层
这样的错误提示:

WARNING: Error inserting snd_page_allocc (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-page-alloc.ko): Invalid module format
WARNING: Error inserting snd (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd.o): Invalid module argument
WARNING: Error inserting snd_timer (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-timer.ko): Invalid module argument
FATAL: Error inserting snd_hda_intel (/lib/modules/2.6.28-gentoo-r1/kernel/sound/core/snd-ha-intel .ko): Invalid module argument

我现在用2.6.27的内核,没有错误提示了。。。
回复 支持 反对

使用道具 举报

发表于 2009-2-17 15:22:28 | 显示全部楼层
应该是同时安装了内核驱动和外部驱动,请选择其中一种就行了。
检查方法:
内核驱动:你是否在内核里面选择了你的声卡型号。
外部驱动:emerge -search alsa-driver  看看是否已经安装。

请选择其中一种就行了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表