Linux&FreeBSD ハードウェア設定 |
YAMAMORI Takenori ●yamamori |
■サウンドカード
redhat系では,もともとOSのインストール時にはサウンドの設定がありません. したがって,サウンドの設定はいずれインストール後に行なうことになるため, 最初から存在しているサウンドカードの設定も, あとから設置・交換したサウンドカードの設定も, その手順は同じになります.
サウンドカードが,OS付属のドライバで対応できるものなら,
/usr/sbin/sndconfigというコマンドを使って設定できます.
ここでは,"Creative SB16 PnP"が検出されていることがわかります.
(カードによっては,I/Oポート,IRQ,DMAチャンネルなどを
指定しなければならないこともあります)
最後のサンプルサウンドを聞くと,感動された方も多いことでしょう. もう一度聞きたい場合は,再度sndconfigを実行する必要はありません. 以下のように,ファイルを直接/dev/audioにcatしてみましょう.
$ cat /usr/share/sndconfig/sample.au > /dev/audio
今回の例では,sndconfigでの設定によって, conf.modulesには以下のような行が追加されました.
alias sound sb alias midi opl3 options opl3 io=0x388 options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 |
さて,ここでサウンドカードをCreative SB16 PnPから ESS Solo-1に交換してみました.
サウンドカードを交換した場合も,OS付属のドライバで対応できるカードなら, sndconfigを再度実行するだけでOKだと思います.
また,OS付属のドライバでうまく行かなかった場合は, 以下に存在するドライバを試してみて下さい.
ALSA (Advanced Linux Sound Architecture) http://www.alsa-project.org/
設定方法については,同Webにもありますし, 『Linux×BSD』夏号Vol.1 にも書いていますので,ご参照下さい.
あと注意点として,redhat 5.2やVine 1.1に付属しているカーネル2.0.36 を使っている場合,ALSAドライバはバージョン0.3.2を使って下さい. バージョン0.4.x以降は,カーネル2.2.x以降でないと使えません.
ALSAドライバをロードする前には,以前のSB16で使用していた標準ドライバを 外さなければなりません. そのためには,まず,前述の/etc/conf.modulesに追加された, SB16用の設定の4行を削除します.
次に,現在カーネルに(不完全に)ロードされている サウンドモジュールを外します. lsmodを実行して以下のような表示を確認して下さい.
Module Pages Used by eepro100 3 1 (autoclean) uart401 2 0 ← ここ sound 15 [uart401] 0 ← ここ soundlow 1 [sound] 0 ← ここ soundcore 1 [sound] 3 ← ここ ncr53c8xx 12 2 |
モジュールの依存関係に注意して,(Used byの欄を見る)この場合は, 以下のように実行すればOKです.
# /sbin/rmmod uart401 # /sbin/rmmod sound # /sbin/rmmod soundlow # /sbin/rmmod soundcore
これで,あとはALSAドライバをロードして,xamixer2 などでボリュームを上げれば OKです.こちらのドライバについては/etc/conf.modulesには書かず, /etc/rc.d/rc.localの末尾にでも,
/sbin/modprobe snd-esssolo1 ← ESS Solo-1の場合 /sbin/modprobe snd-pcm1-oss ← /dev/audioも使うため
と書いた方が簡単だと思います.
なお,kernel 2.2系でALSAバージョン0.4.1などを使用する場合, モジュール名が変わり,ESS Solo-1の場合は, snd-esssolo1ではなくsnd-card-es1938を使います.
・関連ページ: Vine 1.1 サウンドの設定
To「Linux&FreeBSD ハードウェア設定」index