前段时间重装机器,用的是debian提供的2.6内核,装了alsa-base后发现alsa无法发声,但oss却工作正常。折腾了大半天也没搞明白是怎么回事,无奈之下只好使用oss。今天在版上看到有人讨论,才知道oss不能和alsa共存。而我的问题很可能就是系统在启动的时候预先加载了 oss的驱动。后来用google查了一下,在下面这个网址http://www.sonic.net/~rknop/linux/debian_alsa.html
发现问题果然如此。原来debian中自动侦探硬件的程序discover在检测到声卡后会自动加载oss,只要不让它自动加载就可以了。具体做法就是在/etc/discover.conf中加上一句skip i810_audio 。然后重启就能使用alsa了,不过要注意的是alsa默认是静音,需要自己手动将声音调大。
版上有人说还需要在/etc/hotplug/blacklist中加上i810_audio,我发现不需要这么做。因为安装alsa时,系统在/etc/hotplug/blacklist.d/alsa*中自动添加这些内容。
版上有人说还需要更改/etc/modutils/alsa-base中的相关内容,具体就是将above改为alias。
http://wiki.debian.org.tw/index.php/HardwareIdentification 这个网址讲述了debian中硬件识别的相关知识。
引用网址:http://www.debian.org.hk/node/12420