ここからは、Winmodem だったときの話です。しかし、Winmodem には二種類 あります。ISA と PCI とです。もっと面倒なことに、この二種類のインター フェイスは、まるで性質が違います。そこで、PCI か ISA かを調べるテスト をしましょう。まずは、カーネルの設定が必要です。'make *config' をする 際には、以下の質問には yes で答えてください。
"Enable loadable module support(CONFIG_MODULES)"
に yes
"Set version information on all modules form symbols
(CONFIG_MODVERSIONS)" に yes
(modutils パッケージがインストールされている必要があります。詳細は
Linux kerneld mini-HOWTO (若干古いですが、
日本語訳)をご覧ください。)
"PCI support(CONFIG_PCI)" に yes
"PCI Access Mode(CONFIG_PCI_GOBIOS)" では "Any" を選択
"PCI quirks(CONFIG_PCI_OLD_PROC)" に yes
"Backward compatible /proc/pci(CONFIG_PCI_OLD_PROC)" に yes
"/proc filesystem support(CONFIG_PROC_FS)" に yes
もし一度もカーネルを再コンパイルしたことがないなら、おそらくお使いの ディストリビューションのカーネルには上記の設定が含まれているでしょう。 コンパイルしたことがない、けれどやってみたいというならば、 Kernel-HOWTO ( 日本語訳)をお読みください。
以上で、新しいカーネルがインストールされたこととします。
ではここで、'cat /proc/pci' と打ってください。コマンドが返した何行かの 情報のなかにあなたのモデムの名前があったら、あなたの Winmodem は PCI モデムです。 「モデムドライバのインストール」 の章に進んでください。
名前が見つからなかったときは、おそらく ISA のモデムです。確認してみ ましょう。
まず、カーネルは ISA(PnP) を当然にはサポートしていません。( 2.4.* のカー ネルではサポートされる予定ですが、まだ安定バージョンが出ていないので す。)isapnp というサードパーティーのソフトウェアがありますから、それ で設定しましょう。まずそのパッケージがインストールされているか確認して ください。もしインストールされていないなら、isapnptools というパッケー ジをダウンロードしてください。(訳注: カーネル 2.4 での ISAPnP について は、 ISAPnP-HOWTO をご覧ください。)
isapnptools がインストールされたら、pnpdump というプログラムを走らせま す。コンピュータを走査して、ISA デバイスをさがす専用プログラムです。そ のプログラムが、デバイスの使用しているリソースを推定して、 /etc/isapnp.conf というファイルに情報を書き出します (訳注:標準では stdout に出力)。そうしたら、そのファイルを編集して、 今度は isapnp という別のプログラムを走らせます。これが isapnp.conf ファ イルを読み込んで、自動的にデバイスを設定します。
難しいですか?それなら以下の順番でやってみてください。
1. 'pnpdump > /etc/isapnp.conf' と打ちます。
2. そのファイル(/etc/isapnp.conf)を好きなエディターで開きます。
3. モデムについて書かれたセクションを見つけます。
4. ファイルの中の何行かのコメントを外します。 (行頭の # を削除するということです。削除が必要な箇所は、以下です。)
(IO 0 ...)で始まる一行 (INT 0 ...)で始まる一行 (DMA 0 ...)で始まる一行 (DMA 1 ...)で始まる一行 (IO 1 ...)で始まる一行
5. コメントを外した IO に関する全行(ふたつ)の (CHECK) という 部分を削除します。
6. 'isapnp /etc/isapnp.conf' と打ってください。エラーが出た場合は、 エラーメッセージをヒントに、isapnp.conf ファイルを編集し直してパラ メータを変えてみてください。エラーが出なければ、isapnp.conf を開い てモデム・セクションにある (ACT Y) という行をコメントアウトしてく ださい。そして、もう一度 'isapnp /etc/isapnp.conf' と打てば、 "[[Name of your modem]] Enabled OK" という答えが返ってくるはずです。
7. /etc/rc.d/rc.local というファイルに 'isapnp /etc/isapnp.conf' という行を付け加えましょう。
echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local
読者の便宜のために、わたしの /etc/isapnp.conf ファイルの一部を以下 に載せておきます。(このファイルにはわたしのコメントがついています。 もともとあったコメントは、## がついているところです。)
# 細かなところは、省略しています ## (DEBUG) (READPORT 0x0203) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING # どういうモデムカードなのかが書かれています。 ## Card 1: (serial identifier e2 00 00 01 00 05 50 c3 1e) ## Vendor Id GVC5005, Serial Number 256, checksum 0xE2. ## Version 1.0, Vendor version 0.1 ## ANSI string ->LT Win Modem<- ## ## Logical device id HSM0140 ## Device support I/O range check register # # GVC5005/256 というカードの設定をしています。 (CONFIGURE GVC5005/256 (LD 0 # I/O Base address 0x03f8, with a range of 8 (IO 0 (SIZE 8) (BASE 0x03f8) ) # IRQ 4 (INT 0 (IRQ 4 (MODE +E))) # DMA 5 (DMA 0 (CHANNEL 5)) # DMA 7 (DMA 1 (CHANNEL 7)) # I/O Base Address 2 0x0100, range 8 (IO 1 (SIZE 8) (BASE 0x0100) ) # Name of the card (NAME "GVC5005/256[0]{LT Win Modem }") # Activitate it (ACT Y) # End configuration )) ######## それ以外のわたしの ISA デバイスのパラメータ。 ############## ## Returns all cards to the "Wait for Key" state (WAITFORKEY)