|
发表于 2004-9-29 19:59:04
|
显示全部楼层
如果楼主使用 alsa,并且 rc.hotplug 是可执行的话,那么多数情况下都会自动加载。
如果声卡模块没有被加载,那可以使用如下办法:
安装 alsa-lib 和 alsa-utils 包。使用里面的 alsaconf 命令配置,如果这个程式找到了声卡,那么它会自动将加载的模块写入 /etc/modules.conf(2.4内核) 或 /etc/modprof.conf (2.6内核) 这个文件中,开机时就能加载了。如果程式没有找到声卡,那就升级 alsa-driver 试试。
注意:
alsaconf 配置好后是全部静音状态,可用 alsamixer 打开声道。若重启后又变为静音,请查看在 /etc/rc.d 中没有有可执行的 rc.alsa 文件,若没有(slack10 好像没有),可在 /etc/rc.d 中加入一个文件 rc.alsa 使用以下命令
[php]
cat > /etc/rc.d/rc.alsa << "EOF"
#!/bin/sh
# Load the mixer settings and OSS compatibility for ALSA.
# (the Advanced Linux Sound Architecture)
# A function to load the ALSA mixer settings:
load_alsa_mixer() {
if [ -r /etc/asound.state ]; then
echo "Loading ALSA mixer settings: /usr/sbin/alsactl restore"
/usr/sbin/alsactl restore
else
echo "ALSA warning: No mixer settings found in /etc/asound.state."
echo " Sound may be muted. Use 'alsamixer' to unmute your sound card,"
echo " and then 'alsactl store' to save the default ALSA mixer settings"
echo " to be loaded at boot."
fi
}
# A function to load the ALSA OSS compat modules:
load_alsa_oss_modules() {
if ! cat /proc/modules | grep -w snd-pcm-oss 1> /dev/null 2> /dev/null ; then
echo "Loading OSS compatibility modules for ALSA."
modprobe snd-pcm-oss
modprobe snd-mixer-oss
fi
}
# If hotplug or something else has loaded the ALSA modules, then
# simply load the mixer settings and make sure the OSS compat
# modules are loaded:
if [ -d /proc/asound ]; then
load_alsa_mixer
load_alsa_oss_modules
else
# If there are ALSA modules defined in /etc/modules.conf, but
# ALSA is not yet loaded, then load the modules now:
DRIVERS=`modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{ print $3 }'`
if [ ! "$DRIVERS" = "" ]; then
echo "Loading ALSA kernel modules."
for module in $DRIVERS; do
modprobe $module
done
fi
# If ALSA is now up, then load the mixer settings and OSS modules:
if [ -d /proc/asound ]; then
load_alsa_mixer
load_alsa_oss_modules
fi
fi
EOF
chmod +x /etc/rc.d/rc.alsa
[/php]
以上是我在使用时的一些心得,希望对楼主有所帮助。 |
|