Linux Soundblaster 16 PnP Mini-Howto by Eric Z. Ayers (日本語訳 宮田 忍 ) v1.0, 14 January 1997 喜ばしいことに、妻から私の誕生日のプレゼントに輝くばかりの新品の サウンドカードをもらいました。しかし、不幸にもそれは Soundblaster 16 PnP で、Linux では動こうとしないのです。実際、3com 3c509 も 動かないのです。 今回、Linux のカーネルに附属するサウンドドライバと ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz から入手した isapnp パッケージを使って、動かすことが出来ました。 その際、サウンドカードを動かすまでに二つの大きな障害に当たりました。 一つは、サウンドカードの使う IRQ と IO ポートがわからなかったことです。 これは、isapnptools パッケージで解決します。 もう一つは、3c509 イーサネットカードです。どんなにこのカードの設定を 変えようとも、Linux カーネルが認識できないのです。実は、3c509 を 認識させるコードとサウンドカードとの間に競合が起きていたのです。 1) isapnptools をインストールする。/etc/isapnp.conf を他のデバイスと 競合が起きないように IRQ や IO ポートを設定する。 2) Linux カーネルの構成をする。その際、音源のサポートをモジュールにし かつ、IRQ や IO ポート、DMA の設定を isapnp.conf のそれに合わせる。 そして、3c509 のドライバもモジュールにする。(make modules や make modules_install をカーネルのコンパイル・インストール後に 忘れずにしましょう) 3) 起動時のスクリプトを修正します。 私のシステムは、Slackware でインストールされていて、カーネルは revision 2.0.23 です。ネットワークの設定の前に (/etc/rc.d/rc.M では ホスト名のセットの後) isapnp を走らせます。 # 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 Plug and Play の情報は http://www.redhat.com/linux/linux-info/pnp/ で手にはいります。今私は、Realaudio プレイヤーを使ったネットサーフや CD ROM ドライブで CD を聞いて楽しんでいます。 Eric Ayers eric.ayers@compgen.com --------------------------------------------------------------------------- 以下はコメントのほとんどを除いた私の 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))) ###################################################################### 訳者より: 日本語訳が、読みづらい、判りづらい場合には 訳者 shinobu@emichan.rim.or.jp まで御連絡を。 内容が判りづらい場合は、著者に直接連絡願います。 ######################################################################