デフォルトではサウンドカードは認識しませんので、 カーネルモジュールを読み込むか、 カーネルコンフィギュレーションで認識するようにして、 デバイスを作成します。
参考
サウンドカードにあったモジュールがわかればそれを読み込んで、 そうでなければ snd_driver で全部を読み込みます。これでうまくいけば、/boot/loader.conf に書き込んでおきます。
# kldload snd_driver
snd_driver_load="YES" 全部読むのが大変な場合は、
でサウンドカードの情報を見て、snd_(なんとか) の部分を探します。 grep などで /boot/defaults/loader.conf に その snd_(なんとか)があるかチェックして、 あればそれをロードしましょう。
# cat /dev/sndstat /boot/loader.conf に書く場合は
# kldload snd_(なんとか)
snd_(なんとか)_load="YES"
サウンドカードの種類によって、コンフィギュレーションの方法が違うそうです。 一般的には、pcm というデバイスを使うようです。
次の1行をカーネルコンフィギュレーションファイルに追加します。この後、 コンパイルとインストールをします。 終ったら、再起動します。
device pcm
dmesg で pcm が認識されているかを確認します。
% dmesg | grep pcm
pcm0: <....> at .....
また、/dev/sndstat を見てもいいです。
% cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <....> at .....
ここまでうまく行っていれば、次はデバイスノードを作成します。 上の確認で pcm0 が出力された場合は/dev/snd0 を、 pcm1 が出力された場合は/dev/snd1 を、作成します。
# cd /dev
# sh MAKEDEV snd0
上の作業では、/dev/snd0 が作成されるわけではなく、 以下のデバイスノードが作成されます。 -> はシンボリックリンクを表します。
各デバイスノードの説明は、 FreeBSD ハンドブックをごらんください。
- /dev/audio -> /dev/audio0
- /dev/dsp -> /dev/dsp0
- /dev/dspW -> /dev/dspW0
- /dev/midi0
- /dev/mixer -> /dev/mixer0
- /dev/music -> /dev/music0
- /dev/sequencer -> /dev/sequencer0
- /dev/pss -> /dev/pss0