<!doctype linuxdoctr system>
<article>
<title>Linux Soundblaster 16 PnP Mini-Howto</title>
<author>Eric Z. Ayers &lt;Eric.Ayers@compgen.com&gt;
<date>v1.0, 14 January 1997</date>
<trans>宮田 忍 &lt;shinobu@emichan.rim.or.jp&gt;</trans>
<tdate>v1.0j, 30 March 1997</tdate>

<![IGNORE[
[ 15 January 1998
  The Linux Soundblaster-16 mini-HOWTO is not being maintained by 
  the author any more.  If you are interested in maintaining the 
  Soundblaster-16 mini-HOWTO, please get in touch with me at 
  <tjbynum@metalab.unc.edu>. ]

Linux Soundblaster 16 PnP Mini-Howto
by Eric Z. Ayers <Eric.Ayers@compgen.com>
v1.0, 14 January 1997
]]>
<abstract>
Creative SB-16 PnP と 3Com 3c509 とのコンフリクトの回避
</abstract>

<p>
<!--
[ 15 January 1998
  The Linux Soundblaster-16 mini-HOWTO is not being maintained by 
  the author any more.  If you are interested in maintaining the 
  Soundblaster-16 mini-HOWTO, please get in touch with me at 
  &lt;tjbynum@metalab.unc.edu&gt;. ]
-->
1998年1月15日<newline>
この文書「The Linux Soundblaster-16 mini-HOWTO」は、著者による
情報の更新が止まっています。この文書の更新に興味がある方は、
&lt;tjbuyum@metalab.unc.edu&gt; までご連絡ください。
</p>

<sect>SB16 PnP の設定
<p>
<!--
To my delight, my wife gave me a shiny new soundcard for my birthday.  
Unfortunately, it was a Soundblaster 16 PnP which refused to work under 
Linux.  In fact, my 3com 3c509 would not work under Linux either.
-->
嬉しいことに、誕生日のプレゼントとして妻は私に新品のサウンドカード
をくれました。しかし、残念なことに、その Soundblaster 16 PnP は、
Linux 上では動いてくれません。しかも、あろうことか 3com の 3c509 まで
動かなくなる始末です。

<!--
I finally got my hardware working, with the Linux sound driver that comes
with the kernel and the isapnp package from 
ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz 
-->
最終的にこのハードウェアを動かすのに、私はカーネル付属の Linux サウンド
ドライバと、以下のサイトで入手した isapnp パッケージを使いました。
<itemize>
<item>ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz
</itemize>

<!--
It turns out that there were 2 major obstacles I faced to get the soundcard 
to work.  The first obstacle was that I didn't know the IRQ's and IO ports 
to talk to the sound card.  That is solved with the isapnptools package.  The 
second problem was with the 3c509 ethernet card. It seemed that no matter
how I changed the settings on the card, the Linux kernel would not recognize 
the ethernet  card.  It turns out that there is a device on the sound card 
which is in conflict with the 3c509 probing code. 
-->
結局、サウンドカードを動かすまでには、ふたつの大きな障害がありました。
最初の障害は、サウンドカードの IRQ と IO ポートが分からなかったという
点です。この問題の解決には、<tt>isapnptools</tt> パッケージを使いました。
ふたつ目は、3c509 イーサネットカードの問題でした。イーサネットカードの
設定をいくらいじっても、Linux カーネルがカードを認識してくれなかった
のです。ようやく分かったのは、サウンドカードが邪魔をして、3c509 の
検出コードとの間でコンフリクトが起きていたということでした。
対処方法は、以下のとおりです。

<enum>
<item>
<!--
Install the isapnp package.  Edit /etc/isapnp.conf so that the IRQ and IO 
ports the sound cards use don't conflict with any of your other devices.
-->
<tt>isapnptools</tt> をインストールする。<tt>/etc/isapnp.conf</tt> を
編集して、サウンドカードの IRQ や IO ポートと他のデバイスのリソースとが
コンフリクトを起こさないようにする。

<item>
<!--
Build the linux kernel.  Build the sound support as a Module at the IRQ, 
IO and DMA adresses configured in isapnp.conf.  Also build your 3c509 
driver as a module.  (Don't forget to run make modules and 
make modules_install after compiling and installing your kernel)
-->
Linux カーネルを再構築する。<tt>sound support</tt> はモジュールとし、
<tt>isapnp.conf</tt> での設定に合わせて IRQ, IO, DMA を設定して、
ビルドする。また、3c509 ドライバもモジュールとする。(カーネルの
コンパイルとインストールが終わったあとで、<tt>make modules</tt> と 
<tt>make modules_install</tt> を忘れずに実行すること。)

<item>
<!--
Modify the boots scripts on your system.
-->
システム上の起動スクリプトを修正すること。
</enum>

<!--
I am running a Slackware installation and kernel revision 2.0.23.  Before
the network is configured, I run the isapnp program (in /etc/rc.d/rc.M right 
after the hostname is set:
-->
私が使っているディストリビューションは Slackware で、カーネルは 2.0.23 です。
私は、ネットワークが設定される前に、isapnp を実行するようにしています
(<tt>/etc/rc.d/rc.M</tt> ファイル内でホスト名が設定された直後です)。

<tscreen><verb>
# EZA
# Setup plug and play devices
/sbin/isapnp /etc/isapnp.conf
</verb></tscreen>

<!--
Then, the first thing in /etc/rc.d/rc.inet1 I load the network driver
-->
そして、<tt>/etc/rc.d/rc.inet1</tt> の冒頭で、ネットワークドライバをロード
するようにしました。

<tscreen><verb>
# EZA
# Load networking card module
/sbin/insmod 3c509
</verb></tscreen>

<!--
I just ignore the warning at boot time that run-time probing for the 
ethernet card won't work because it has never failed for me. Finally,
in /etc/rc.d/rc.local I insert the sound driver module: 
-->
起動時の自動検出の際、イーサネットカードからの反応がないという警告
メッセージは無視することにしました。これは、私の設定では、問題に
ならないからです。最後に、<tt>/etc/rc.d/rc.local</tt> にサウンド
ドライバモジュールをロードするためのコマンドを入れました。

<tscreen><verb>
/sbin/insmod sound
</verb></tscreen>

<!--
More information about Linux plug and play is available from:
http://www.redhat.com/linux-info/pnp/
I'm now happly surfing the net using the Real-Audio player and listening 
to CDs on my cdrom drive! 
-->
Linux 上での Plug and Play に関する詳細は、
<itemize>
<item>http://www.redhat.com/linux-info/pnp/
</itemize>
をご覧ください。現在では、Real-Audio を使いながらネットサーフィンを
したり、CD-ROM ドライブで CD を聞いたりしながら、楽しんでいます。

<verb>
Eric Ayers
eric.ayers@compgen.com
</verb>

</sect>

<sect><tt>isapnp.conf</tt> の例
<p>
<!--
Here's a copy of my isapnp.conf file with most of the comments removed.
-->
以下は、私の <tt>isapnp.conf</tt> ファイルのコピーです。ファイル内の
コメントの多くは省略しています。

<tscreen><verb>
# 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)))
</verb></tscreen>

</sect>

<sect>日本語訳について
<p>
訳者より：<newline>
日本語訳が、読みづらい、判りづらい場合には、訳者 shinobu@emichan.rim.or.jp
まで御連絡を。内容が判りづらい場合は、著者に直接連絡願います。

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

</sect>
</article>