  Linux Soundblaster 16 PnP Mini-Howto
  Eric Z. Ayers <Eric.Ayers@compgen.com>
  v1.0, 14 January 1997
  宮田 忍 <shinobu@emichan.rim.or.jp>
  v1.0j, 30 March 1997

  Creative SB-16 PnP と 3Com 3c509 とのコンフリクトの回避

  1998年1月15日
  この文書「The Linux Soundblaster-16 mini-HOWTO」は、著者による情報の更
  新が止まっています。この文書の更新に興味がある方は、
  <tjbuyum@metalab.unc.edu> までご連絡ください。

  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 まで御連絡を。内容が判りづらい場合は、著者に
  直接連絡願います。

  翻訳：宮田忍   <shinobu@emichan.rim.or.jp> (1997/03/30)
  校正：千旦裕司 <ysenda@pop01.odn.ne.jp>    (2001/09/11)

