Linux&FreeBSD ハードウェア設定

YAMAMORI Takenori ●yamamori

■サウンドカード

●あとからの設置

redhat系では,もともとOSのインストール時にはサウンドの設定がありません. したがって,サウンドの設定はいずれインストール後に行なうことになるため, 最初から存在しているサウンドカードの設定も, あとから設置・交換したサウンドカードの設定も, その手順は同じになります.

サウンドカードが,OS付属のドライバで対応できるものなら, /usr/sbin/sndconfigというコマンドを使って設定できます. ここでは,"Creative SB16 PnP"が検出されていることがわかります.
sndconfig.gif
(カードによっては,I/Oポート,IRQ,DMAチャンネルなどを 指定しなければならないこともあります)

最後のサンプルサウンドを聞くと,感動された方も多いことでしょう. もう一度聞きたい場合は,再度sndconfigを実行する必要はありません. 以下のように,ファイルを直接/dev/audiocatしてみましょう.

  $ 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を実行して以下のような表示を確認して下さい.

(ここでの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


このページは、技術評論社 Linux×BSD HYPER PRESS Vol.2秋号、『もう困らない!Linux&FreeBSD ハードウェア設定テクニック』 の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori