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

7. isapnptools

isapnptools は Linux で比較的古くから、サポートされている ISAPnP 設定ツール です。isapnptools はコンフィグレーションレジスタを読み出して、標準出力する pnpdumpコマンドと ISAPnP カードを設定する isapnp コマンド のふたつのコマンドから、構成されています。 pnpdump の標準出力をファイルにしたものを編集して、isapnp の設定に使います。 下記では、この設定ファイルを isapnp.conf と呼びます。

たぶん、isapnptools は 既にご使用中の Linux にインストールされている でしょう。ここでは、念のためインストールから説明します。

7.1 isapnptools のインストール

isapnptools の最新版は isapnptoolsのウェブサイトから入手できます。 2002 年 10 月現在の最新版は (09-May-201 にリリースされた) isapnptools-1.26.tgzです。 適当なディレクトリ(ここでは~/Src)に isapnptools-1.26.tgz を ダウンロードしたら、展開し、コンパイル、インストールします。

下記の文で、##はコメントです。

$ tar tvzf isapnptools-1.26.tgz  ##中身を確認します。
$ tar xzf isapnptools-1.26.tgz   ##展開します。
$ cd isapnptools-1.26
$ less README                    ##README は必ず読みましょう
$ less doc/*                     ##文書に 一通り目を通しましょう。
$ ./configure --help             ##どんなオプションがあるか確認します。
$ ./configure                    ##オプションなしで、良いみたいです。
$ make                           ## コンパイルエラーが出たら、下記を参照。
$ su
# make install                   ##インストールします。
# exit
$
尚、標準では、オブジェクトや man ページは /usr/local/ にインストールされます
(configure のオプションで変更できます)。 ディストリビュータの isapnptools で
は、/sbin/isapnp, /sbin/pnpdump, /usr/share/man/man5/isapnp.conf.5.gz と
インストールされることが多いようです。

古い isapnptools-1.23 には、残念なこと バグがありますので、isapnptools-1.23/src/pnpdump_main.c の 87 行目を 下記のように変更します。

 static FILE* o_file = NULL;

7.2 isapnptools の使い方

isapnptools では、pnpdump で ISAPnP カードの設定を読み出し、それを 編集し、 isapnp コマンドで設定する方法を取ります。例えば下記のように します。

$ su
# /usr/local/sbin/pnpdump >isapnp.conf
# vi isapnp.conf
# /usr/local/sbin/isapnp -c isapnp.conf
# exit

7.3 pnpdump の出力 isapnp.conf の例

pnpdump は下記のような項目を出力します。kernel 2.4 の /proc/isapnp よりも、 解りやすいのでしょう。これを適切に編集し、isapnp コマンドの 設定ファイルにします。

下記の例では SoundBlaster16 と 33k アナログモデムと 3Com 3C509B の 3 枚 の ISAPnP カードがあります。 これは ISAPnP のコンフィグレーションレジスタを読み出したものですから、 kernel 2.4 の /proc/isapnp と同一の内容を表しています。 ここでは、下記の出力 isapnp.conf の例を簡単に説明します。 #以降はコメントで、isapnp コマンドは無視します。

# $Id: ISAPnP-HOWTO.sgml,v 1.3 2002/11/30 11:14:44 mdk Exp $
# Release isapnptools-1.24
# 
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
# 
# For details of the output file format, see isapnp.conf(5)
# 
# For latest information and FAQ on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
# 
isapnptools そのものの説明です。

# Compiler flags:  -DREALTIME -DHAVE_PROC -DENABLE_PCI -DHAVE_SCHED_SETSCHEDULER -DHAVE_NANOSLEEP -DWANT_TO_VALIDATE
isapnptools をコンパイルしたときのフラグです。

# 
# Trying port address 0273
# Board 1 has serial identifier 9a ff ff ff ff 80 00 8c 0e
# Board 2 has serial identifier 50 30 80 03 e5 02 02 aa 1a
# Board 3 has serial identifier 08 97 19 38 e6 98 50 6d 50


# (DEBUG)
(READPORT 0x0273)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
これらは、isapnp コマンドへの指示です。

# Card 1: (serial identifier 9a ff ff ff ff 80 00 8c 0e)
# Vendor Id CTL0080, No Serial Number (-1), checksum 0x9A.
# Version 1.0, Vendor version 1.1
# ANSI string -->Creative ViBRA16CL PnP<--
#
# Logical device id CTL0041
#     Device supports vendor reserved register @ 0x39
#     Device supports vendor reserved register @ 0x3c
#     Device supports vendor reserved register @ 0x3d
#     Device supports vendor reserved register @ 0x3f
1 枚目のカードの説明です。

#
# 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 CTL0080/-1 (LD 0
#     ANSI string -->Audio<--
1つめの論理デバイスの設定です。

# Multiple choice time, choose one only !
選択候補はたくさんあるけれど、ひとつだけ選んでね。

#     Start dependent functions: priority preferred
選択候補その 1 です。

#       IRQ 5.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
IRQ 5 を使います。

#       First DMA channel 1.
#             8 bit DMA only
#             Logical device is a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 1))
1 番目の DMA の設定です。DMA 1 を使います。

#       Next DMA channel 5.
#             16 bit DMA only
#             Logical device is a bus master
#             DMA may not execute in count by byte mode
#             DMA may execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 5))
2 番目の DMA の設定です。DMA 5 を使います。

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0220
#             IO base alignment 1 bytes
#             Number of IO addresses required: 16
# (IO 0 (SIZE 16) (BASE 0x0220))
1 番目の I/O ポートアドレスの設定で、16 バイト分、0x220 から使います。

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0330
#             Maximum IO base address 0x0330
#             IO base alignment 1 bytes
#             Number of IO addresses required: 2
# (IO 1 (SIZE 2) (BASE 0x0330))
2 番目の I/O ポートアドレスの設定で、2 バイト分、0x330 から使います。

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0388
#             Maximum IO base address 0x0388
#             IO base alignment 1 bytes
#             Number of IO addresses required: 4
# (IO 2 (SIZE 4) (BASE 0x0388))
3 番目の I/O ポートアドレスの設定で、4 バイト分、0x388 から使います。

#       Start dependent functions: priority acceptable
代替えとなるリソースの設定です。

#       IRQ 5, 7, 9 or 10.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
IRQ は 5,7,9,10 の四つの内、一つが使えます。

#       First DMA channel 1 or 3.
#             8 bit DMA only
#             Logical device is a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 0 (CHANNEL 1))
1 番目の DMA は 1 か 3 が使えます。

#       Next DMA channel 5 or 7.
#             16 bit DMA only
#             Logical device is a bus master
#             DMA may not execute in count by byte mode
#             DMA may execute in count by word mode
#             DMA channel speed in compatible mode
# (DMA 1 (CHANNEL 5))
2 番目の DMA は 5 か 7 が使えます。

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0280
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
# (IO 0 (SIZE 16) (BASE 0x0220))
1 番目の I/O ポートアドレスは 0x220,0x240,0x260,0x280 のうち一つが使えます。

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0300
#             Maximum IO base address 0x0330
#             IO base alignment 48 bytes
#             Number of IO addresses required: 2
# (IO 1 (SIZE 2) (BASE 0x0300))
2 番目の I/O ポートアドレスは 0x300,0x330 のどちらかが使えます

#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0388
#             Maximum IO base address 0x0388
#             IO base alignment 1 bytes
#             Number of IO addresses required: 4
# (IO 2 (SIZE 4) (BASE 0x0388))
3 番目の I/O ポートアドレスは 0x338 から 4 バイト置きに 0x3f8 までの内、一つ
が使えます。

中略

#     End dependent functions
 (NAME "CTL0080/-1[0]{Audio               }")
# (ACT Y)
設定を有効にするときに、# をはずします。

))
1 番目の論理デバイスの設定の終わりです。

# Logical device id CTL7002
#     Device supports vendor reserved register @ 0x38
#     Device supports vendor reserved register @ 0x39
#     Device supports vendor reserved register @ 0x3c
#     Device supports vendor reserved register @ 0x3d
#     Device supports vendor reserved register @ 0x3f
#
# 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 CTL0080/-1 (LD 1
#     ANSI string -->Game<--
2 番目の論理デバイスの設定です。

# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0200
#             Maximum IO base address 0x0200
#             IO base alignment 1 bytes
#             Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x0200))
I/O ポートアドレスは 0x200 を使います。

#       Start dependent functions: priority acceptable
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0200
#             Maximum IO base address 0x0208
#             IO base alignment 8 bytes
#             Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x0200))
代替えとなるリソースです。I/O ポートアドレスは 0x200 と 0x208 のどちらかが
使えます。

#     End dependent functions
 (NAME "CTL0080/-1[1]{Game                }")
# (ACT Y)
設定を有効にするときに、# をはずします。

))
2 番目の論理デバイスの設定の終わりです。


# End tag... Checksum 0x00 (OK)

# Card 2: (serial identifier 50 30 80 03 e5 02 02 aa 1a)
# Vendor Id FUJ0202, Serial Number 813695973, checksum 0x50.
#     Version 1.0, Vendor version 0.5
#     ANSI string -->FUJITSU Modem 33600 PNP/I2<--
#
# Logical device id FUJ0000
#     Device supports I/O range check register
#     Device supports vendor reserved register @ 0x38
#     Device supports vendor reserved register @ 0x3c
#     Device supports vendor reserved register @ 0x3d
#     Device supports vendor reserved register @ 0x3f
#
# 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
2 枚目の カードの説明です。

(CONFIGURE FUJ0202/813695973 (LD 0
一つ目の論理デバイスの設定です。

# Multiple choice time, choose one only !

#     Start dependent functions: priority acceptable
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x02f8
#             Maximum IO base address 0x02f8
#             IO base alignment 8 bytes
#             Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x02f8) (CHECK))
I/O ポートアドレスは 0x2f8 を使います。

#       IRQ 3.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
IRQ は 3 を使います。

#       Start dependent functions: priority acceptable
代替えとなるリソースです。
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x03f8
#             Maximum IO base address 0x03f8
#             IO base alignment 8 bytes
#             Number of IO addresses required: 8
# (IO 0 (SIZE 8) (BASE 0x03f8) (CHECK))
I/O ポートアドレスは 0x3f8 を使います。

#       IRQ 4.
#             High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 4 (MODE +E)))
IRQ は 4 を使います。

中略

#     End dependent functions
 (NAME "FUJ0202/813695973[0]{FUJITSU Modem 33600 PNP/I2}")
# (ACT Y)
設定を有効にするときに、# をはずします。

))
# End tag... Checksum 0x00 (OK)
2 番目のカードの設定の終わりです。


# Card 3: (serial identifier 08 97 19 38 e6 98 50 6d 50)
# Vendor Id TCM5098, Serial Number 2535012582, checksum 0x08.
#     Version 1.0, Vendor version 1.0
#     ANSI string -->3Com 3C509B EtherLink III<--
#
# Logical device id TCM5098
#     Device supports I/O range check register
#     Device supports vendor reserved register @ 0x38
#     Device supports vendor reserved register @ 0x3c
#     Device supports vendor reserved register @ 0x3d
#     Device supports vendor reserved register @ 0x3f
#
# 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
3 枚目のカードの説明です。

(CONFIGURE TCM5098/2535012582 (LD 0
#     Compatible device id PNP80f7
#     IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
#         High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 3 (MODE +E)))
IRQ は 3,5,7,9,19,11,12,15 の内 一つが使えます。

#     Logical device decodes 16 bit IO address lines
#         Minimum IO base address 0x0210
#         Maximum IO base address 0x03e0
#         IO base alignment 16 bytes
#         Number of IO addresses required: 16
# (IO 0 (SIZE 16) (BASE 0x0210) (CHECK))
I/O ポートアドレスは 16 バイト分を 0x210 から 16 バイト置きに 0x3e0 までの内、
一つが使えます。

 (NAME "TCM5098/2535012582[0]{3Com 3C509B EtherLink III}")
# (ACT Y)
設定を有効にするときに、# をはずします。

))
# End tag... Checksum 0x00 (OK)
3 枚目のカードの設定の終わりです。

# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
すべてのカードの設定の終わりです。

7.4 isapnptools の設定

isapnptools の設定は、pnpdump の標準出力をファイルにしたものを編集して、 isapnp の設定に使います。この設定ファイルを isapnp.conf と呼びます。 isapnp.conf の設定は かっこの中に書きます。

isapnp.conf には、ISAPnP カードが使用できるリソースが列記されていますので、 必要なリソースに対応した行の先頭にある#を取り去り、 リソースを有効にします。または、リソースの行を適切に編集します。 具体的には下記のようにします。尚、行番号を説明のために付加しています。

 1: (CONFIGURE FUJ0202/813695973 (LD 0
 2:
 3: # Multiple choice time, choose one only !
 4:
 5: #     Start dependent functions: priority acceptable
 6: #       Logical device decodes 16 bit IO address lines
 7: #             Minimum IO base address 0x02f8
 8: #             Maximum IO base address 0x02f8
 9: #             IO base alignment 8 bytes
10: #             Number of IO addresses required: 8
2 行目から 10 行目までは、削除してかまいません。

11: # (IO 0 (SIZE 8) (BASE 0x02f8) (CHECK))
(IO 0 (SIZE 8) (BASE 0x02f8)) "#"を取り有効にします。(CHECK) をはずしました。

12: #       IRQ 3.
13: #             High true, edge sensitive interrupt (by default)
14: # (INT 0 (IRQ 3 (MODE +E)))
(INT 0 (IRQ 3 (MODE +E))) "#"を取り有効にします。

15:
16: #       Start dependent functions: priority acceptable

17: #     End dependent functions
18:  (NAME "FUJ0202/813695973[0]{FUJITSU Modem 33600 PNP/I2}")
19: # (ACT Y)
(ACT Y) "#"を取り有効にします。これを忘れると、設定が反映されません。

20: ))

21: (CONFIGURE TCM5098/2535012582 (LD 0
22: #     Compatible device id PNP80f7
23: #     IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
IRQ は 3,5,7,9,10,11,12,15のどれかを選択します。

24: #         High true, edge sensitive interrupt (by default)
25: # (INT 0 (IRQ 3 (MODE +E)))
(INT 0 (IRQ 10 (MODE +E)))  "#"を取り有効にします。IRQ は 10 にしました。

26: #     Logical device decodes 16 bit IO address lines
27: #         Minimum IO base address 0x0210
28: #         Maximum IO base address 0x03e0
29: #         IO base alignment 16 bytes
30: #         Number of IO addresses required: 16
I/O ポートアドレスは 0x210 から 16 バイト置きに 0x3e0 の範囲から選択します。

31: # (IO 0 (SIZE 16) (BASE 0x0210) (CHECK))
(IO 0 (SIZE 16) (BASE 0x0300) (CHECK)) "#"を取り有効にします。
                                       I/O ポートアドレスは 0x300 にしました。

32:  (NAME "TCM5098/2535012582[0]{3Com 3C509B EtherLink III}")
33: # (ACT Y)
(ACT Y) "#"を取り有効にします。これを忘れると、設定が反映されません。

34: ))
25: (WAITFORKEY)
これを整理すると、下記のようになります。
(CONFIGURE FUJ0202/813695973 (LD 0
 (IO 0 (SIZE 8) (BASE 0x02f8) )
 (INT 0 (IRQ 3 (MODE +E)))
 (NAME "FUJ0202/813695973[0]{FUJITSU Modem 33600 PNP/I2}")
 (ACT Y)
))

(CONFIGURE TCM5098/2535012582 (LD 0
 (INT 0 (IRQ 10 (MODE +E)))
 (IO 0 (SIZE 16) (BASE 0x0300) (CHECK) )
 (NAME "TCM5098/2535012582[0]{3Com 3C509B EtherLink III}")
 (ACT Y)
))
(WAITFORKEY)

7.5 isapnptools とリソースの衝突

isapnptolls はリソースの衝突に敏感です。 isapnptools の設定の中で、33k アナログ モデムの設定で、(CHECK) をはずした行があります(下記に転記します)。

(IO 0 (SIZE 8) (BASE 0x02f8) )
この I/O ポートアドレス 0x2f8 はマザーボード上の標準シリアルポートです。 この 33k アナログモデムでは、標準のシリアルポートと同じ I/O ポートアドレス を使います。BIOS でマザーボード上の標準シリアルポートは無効にしていますが、 kernel によって、自動的にリソースが登録されてしまいます。そのため、 リソースが衝突しているように、見えます。isapnp は (CHECK) が 指定してあると、リソースの衝突を発見したとき、その時点で、中断(abort)して しまいますが、(CHECK) を外すと、エラーは報告しますが、 リソースの設定も実行し、処理も続行します。

isapnp の設定(pnpdump の出力)でリソースの衝突に関係する部分について、 説明します。

# Compiler flags:

isapnptools コンパイル時に "--enable-onreserr" を付けると、 -DABORT_ONRESERR が出力されます。このオプションフラグを付けて、 isapnptools をコンパイルすると、isapnp コマンドは設定とリソースが衝突した 場合、処理を中断するようになります。

(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL))

リソースが衝突したときの動作を指定します。FATALの場合、 致命的(fatal)なエラーとして、isapnp コマンドは処理を中断します。 WARNINGの 場合、警告(warning)を出力し、処理を続行します。

(IO x (SIZE y) (BASE z) (CHECK))

I/O ポートアドレスの設定に (CHECK)が指定されていた場合、 isapnp コマンドはリソースの衝突を検査(check)します。衝突が発見された場合、 isapnp コマンドは処理を中断します。

また、isapnp コマンドに、使用禁止のリソースを知らせるファイル /etc/isapnp.gone があります。/etc/isapnp.gone の書式を 下記に示します。

IO ベースアドレス , 使用する I/O ポートアドレスの大きさ

使用禁止にする I/O ポートアドレスのベースアドレスとその大きさを指定します。 大きさを省略すると、大きさは 8 バイトになります。

IRQ 番号

使用禁止にする IRQ 番号を指定します。

DMA 番号

使用禁止にする DMA 番号を指定します。

MEM ベースアドレス , 使用するメモリの大きさ

使用禁止にするメモリのベースアドレスと大きさを指定します。

/etc/isapnp.goneの例を下記に示します。

IO 0x3f8,8
IRQ 4
DMA 1
DMA 5
IO 0x378,2
IRQ 7

上記のように、isapnp コマンドはリソースの衝突に敏感です。これは動作としては、 正しいのですが、使い勝手が悪くなります。その理由は下記の通りです。

ISAPnP を一度設定すると、設定したリソースは当然、使用中になります。 二つある I/O ポートアドレスの内、一つ目は変更せず、二つ目の I/O ポートアドレス を変更しようとした場合、一つ目のI/O ポートアドレスが使用中のリソースと衝突 してしまいます。 ISAPnP カードの設定は、電源投入時にのみ、初期化されます。Linux や Windows 系 の OS の再起動では、設定は初期化されません。

これを回避するには、isapnp コマンドの設定(pnpdump の出力)を下記のようにします。

(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL))を
(CONFLICT (IO WARNING)(IRQ FATAL)(DMA FATAL)(MEM FATAL))と
FATAL を WARNING に変更する。

(IO x (SIZE y) (BASE z) (CHECK))を
(IO x (SIZE y) (BASE z) )と、(CHECK)を削除する。
しかし isapnptools のコンパイル時に --enable-onreserr を指定した場合、 isapnp コマンドの設定(pnpdump の出力)で変更することはできません。 --enable-onreserrを付けずに、isapnptoolsを再コンパイルする必要が あります。

7.6 isapnptools による設定例

下記に設定例を示します。この設定を/etc/isapnp.confというファイル名 で作成します。

(READPORT 0x0273)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO WARNING)(IRQ WARNING)(DMA WARNING)(MEM WARNING))

(CONFIGURE CTL0080/-1 (LD 0
 (INT 0 (IRQ 5 (MODE +E)))
 (DMA 0 (CHANNEL 1))
 (DMA 1 (CHANNEL 5))
 (IO 0 (SIZE 16) (BASE 0x0220))
 (IO 1 (SIZE 2) (BASE 0x0330))
 (IO 2 (SIZE 4) (BASE 0x0388))
 (NAME "CTL0080/-1[0]{Audio               }")
 (ACT Y)
))

(CONFIGURE CTL0080/-1 (LD 1
# (IO 0 (SIZE 8) (BASE 0x0200))
 (NAME "CTL0080/-1[1]{Game                }")
# (ACT Y)
))

(CONFIGURE FUJ0202/813695973 (LD 0
 (IO 0 (SIZE 8) (BASE 0x02f8) )
 (INT 0 (IRQ 3 (MODE +E)))
 (NAME "FUJ0202/813695973[0]{FUJITSU Modem 33600 PNP/I2}")
 (ACT Y)
))

(CONFIGURE TCM5098/2535012582 (LD 0
 (INT 0 (IRQ 10 (MODE +E)))
 (IO 0 (SIZE 16) (BASE 0x0300) )
 (NAME "TCM5098/2535012582[0]{3Com 3C509B EtherLink III}")
 (ACT Y)
))

(WAITFORKEY)
何故、33k アナログモデムの設定が kernel 2.4 の設定例には無くて、 isapnptoolsの設定にはあるのかといいますと、kernel 2.4 の標準シリアルポート デバイスドライバは、ISAPnP に対応しており自動設定で済みますが、 kernel 2.2 の標準シリアルポートデバイスドライバは、ISAPnP に対応していない ので、設定する必要があるためです。

7.7 isapnptools 起動時の設定

現在、ご使用の Linux に isapnptools がインストール済みであれば、 起動時の設定もされているはずです。 ディストリビューションによっても違いますが、ここでは、RedHat 系の /etc/rc.d/rc.sysinitスクリプトを使う場合を説明します。 /etc/rc.d/rc.sysinit の /proc のマウント直後に下記のように追加します。

mount -t proc /proc /proc
if [ -x /usr/local/sbin/isapnp -a -f /etc/isapnp.conf ]; then
      /usr/local/sbin/isapnp /etc/isapnp.conf
fi


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