次のページ 前のページ 目次へ

1. SB16 PnP の設定

嬉しいことに、誕生日のプレゼントとして妻は私に新品のサウンドカード をくれました。しかし、残念なことに、その Soundblaster 16 PnP は、 Linux 上では動いてくれません。しかも、あろうことか 3com の 3c509 まで 動かなくなる始末です。

最終的にこのハードウェアを動かすのに、私はカーネル付属の Linux サウンド ドライバと、以下のサイトで入手した isapnp パッケージを使いました。

結局、サウンドカードを動かすまでには、ふたつの大きな障害がありました。 最初の障害は、サウンドカードの IRQ と IO ポートが分からなかったという 点です。この問題の解決には、isapnptools パッケージを使いました。 ふたつ目は、3c509 イーサネットカードの問題でした。イーサネットカードの 設定をいくらいじっても、Linux カーネルがカードを認識してくれなかった のです。ようやく分かったのは、サウンドカードが邪魔をして、3c509 の 検出コードとの間でコンフリクトが起きていたということでした。 対処方法は、以下のとおりです。

  1. isapnptools をインストールする。/etc/isapnp.conf を 編集して、サウンドカードの IRQ や IO ポートと他のデバイスのリソースとが コンフリクトを起こさないようにする。
  2. Linux カーネルを再構築する。sound support はモジュールとし、 isapnp.conf での設定に合わせて IRQ, IO, DMA を設定して、 ビルドする。また、3c509 ドライバもモジュールとする。(カーネルの コンパイルとインストールが終わったあとで、make modulesmake modules_install を忘れずに実行すること。)
  3. システム上の起動スクリプトを修正すること。

私が使っているディストリビューションは Slackware で、カーネルは 2.0.23 です。 私は、ネットワークが設定される前に、isapnp を実行するようにしています (/etc/rc.d/rc.M ファイル内でホスト名が設定された直後です)。

# EZA
# Setup plug and play devices
/sbin/isapnp /etc/isapnp.conf

そして、/etc/rc.d/rc.inet1 の冒頭で、ネットワークドライバをロード するようにしました。

# EZA
# Load networking card module
/sbin/insmod 3c509

起動時の自動検出の際、イーサネットカードからの反応がないという警告 メッセージは無視することにしました。これは、私の設定では、問題に ならないからです。最後に、/etc/rc.d/rc.local にサウンド ドライバモジュールをロードするためのコマンドを入れました。

/sbin/insmod sound

Linux 上での Plug and Play に関する詳細は、

をご覧ください。現在では、Real-Audio を使いながらネットサーフィンを したり、CD-ROM ドライブで CD を聞いたりしながら、楽しんでいます。

Eric Ayers
eric.ayers@compgen.com


次のページ 前のページ 目次へ