FreeBSD 5.3 中的聲卡問題
在FreeBSD 5.x中,kernel配置文件的設備名改為sound,不是FreeBSD 4.x中的pcm了,以后還有可能改為snd。
#cd /usr/src/sys/i386/conf/
#make LINT
可生成LINT文件,將kernel配置里的項全部列出了。
在kernel配置文件里加上
device sound
device snd_foo 或
device "snd_foo" <----注意這里foo表示不同的聲卡種類,可參考LINT文件。
如果不知道你的聲卡應該用哪一個,可以先用
#kldload snd_driver 將所有常用的聲卡驅動裝載,然后用
#cat /dev/sndstat 察看是否有相應的聲卡信息,如:
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)
這里snd_inc就是對應的應該裝載的設備。
注意如果對應的聲卡種類中有數字,就應該加上引號。
這樣重新編譯內核就可以了。當然如果不編譯內核,用load module的方式也可以。
那么我的問題是什么呢? 我用
#dmesg|grep pcm 能察看到聲卡信息。
用 #cat /dev/sndstat 也能看到正確的聲卡信息。
并且能夠播放CD,但是使用xmms等軟件播放mp3文件的時候,播放條根本不走。而后從dmesg可看到如下信息:
pcm0:play:0: play interrupt timeout, channel dead
經過Google查詢,懷疑問題出在系統ICQ沖突上。最后,在啟動FreeBSD 5.3時,選擇了ACPI Disable,就能夠正確地用xmms播放了。
最后補充以下,我的機器安裝了兩塊網卡,一塊SCSI卡。使用的是版載聲卡。怎么解決在ACPI情況下使用還不清楚。但問題基本確定的確是ICQ資源的問題。
posted on 2006-01-05 21:56 all gone 閱讀(232) 評論(0) 編輯 收藏 所屬分類: Unix & Linux