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

Linux Soundblaster 16 PnP Mini-Howto
by Eric Z. Ayers <Eric.Ayers@compgen.com>
(日本語訳 宮田 忍 <shinobu@emichan.rim.or.jp>)
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
まで御連絡を。
内容が判りづらい場合は、著者に直接連絡願います。
######################################################################

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