Linux Soundblaster 16 PnP Mini-Howto Eric Z. Ayers v1.0, 14 January 1997 宮田 忍 v1.0j, 30 March 1997 Creative SB-16 PnP と 3Com 3c509 とのコンフリクトの回避 1998年1月15日 この文書「The Linux Soundblaster-16 mini-HOWTO」は、著者による情報の更 新が止まっています。この文書の更新に興味がある方は、 までご連絡ください。 1. SB16 PnP の設定 嬉しいことに、誕生日のプレゼントとして妻は私に新品のサウンドカードをく れました。しかし、残念なことに、その Soundblaster 16 PnP は、 Linux 上 では動いてくれません。しかも、あろうことか 3com の 3c509 まで動かなく なる始末です。 最終的にこのハードウェアを動かすのに、私はカーネル付属の Linux サウン ドドライバと、以下のサイトで入手した isapnp パッケージを使いました。 o ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz 結局、サウンドカードを動かすまでには、ふたつの大きな障害がありました。 最初の障害は、サウンドカードの IRQ と IO ポートが分からなかったという 点です。この問題の解決には、isapnptools パッケージを使いました。ふたつ 目は、3c509 イーサネットカードの問題でした。イーサネットカードの設定を いくらいじっても、Linux カーネルがカードを認識してくれなかったのです。 ようやく分かったのは、サウンドカードが邪魔をして、3c509 の検出コードと の間でコンフリクトが起きていたということでした。対処方法は、以下のとお りです。 1. isapnptools をインストールする。/etc/isapnp.conf を編集して、サウン ドカードの IRQ や IO ポートと他のデバイスのリソースとがコンフリクト を起こさないようにする。 2. Linux カーネルを再構築する。sound support はモジュールとし、 isapnp.conf での設定に合わせて IRQ, IO, DMA を設定して、ビルドす る。また、3c509 ドライバもモジュールとする。(カーネルのコンパイルと インストールが終わったあとで、make modules と make 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 に関する詳細は、 o http://www.redhat.com/linux-info/pnp/ をご覧ください。現在では、Real-Audio を使いながらネットサーフィンを したり、CD-ROM ドライブで CD を聞いたりしながら、楽しんでいます。 Eric Ayers eric.ayers@compgen.com 2. isapnp.conf の例 以下は、私の isapnp.conf ファイルのコピーです。ファイル内のコメントの 多くは省略しています。 # Trying port address 0203 # Board 1 has serial identifier 67 00 00 40 17 2b 00 8c 0e # (DEBUG) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # Card 1: (serial identifier 67 00 00 40 17 2b 00 8c 0e) # CTL002b Serial No 16407 [checksum 67] # Version 1.0, Vendor version 2.0 # ANSI string -->Creative SB16 PnP<-- # # Logical device id CTL0031 # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE CTL002b/16407 (LD 0 # ANSI string -->Audio<-- # Multiple choice time, choose one only ! # Start dependent functions: priority preferred # IRQ 5. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0330)) (IO 2 (BASE 0x0388)) (ACT Y) )) (CONFIGURE CTL002b/16407 (LD 1 (INT 0 (IRQ 11 (MODE +E))) (IO 0 (BASE 0x01e8)) (IO 1 (BASE 0x03ee)) (ACT Y) )) (CONFIGURE CTL002b/16407 (LD 2 # ANSI string -->StereoEnhance<-- # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0100 # Maximum IO base address 0x0138 # IO base alignment 8 bytes # Number of IO addresses required: 1 #(IO 0 (BASE 0x0100)) #(ACT Y) )) (CONFIGURE CTL002b/16407 (LD 3 (IO 0 (BASE 0x0200)) (ACT Y))) 3. 日本語訳について 訳者より: 日本語訳が、読みづらい、判りづらい場合には、訳者 shinobu@emichan.rim.or.jp まで御連絡を。内容が判りづらい場合は、著者に 直接連絡願います。 翻訳:宮田忍 (1997/03/30) 校正:千旦裕司 (2001/09/11)