|
次のページ
前のページ
目次へ
6. kernel 2.4 の ISAPnPkernel 2.4 の ISAPnP の文書は linux/Documentations/isapnp.txtです。 ISAPnP のソースファイル群は linux/drviers/pnp/以下にあります。 kernel 2.4 で ISAPnP を有効にするには、 kernel 再構築の時に CONFIG_ISAPNP=y または mを指定します。 6.1 kernel 2.4 ISAPnP のパラメータkernel 2.4 ISAPnP のパラメータを下記に示します。通常は使う必要は無いと 思います。このパラメータは ISAPnP がモジュールの場合に使います。 /etc/modules.confに下記のように、行を追加して使用します。 option isapnp isapnp_rdp=0x203,isapnp_reset=0 凡例
6.2 /proc/isapnpkernel 2.4 での ISAPnP サポートは /proc/isapnp を使用します。 /proc/isapnp を読み出して設定を調べ、適切な設定を /proc/isapnp へ書き込みます。 /proc 以下に isapnp が無い場合、kernel で isapnp が有効になっていません。 /proc/isapnp の読み出し例/proc/isapnp を読み出すと下記のような項目が出力されます。 下記の例では SoundBlaster16 と 33k アナログモデムと 3Com 3C509B の 3 枚 の ISAPnP カードがあります。これは ISAPnP のコンフィグレーションレジスタを 読み出したものです。 /proc/isapnp の読み出し例を簡単に説明します。 Card 1 'CTL0080:Creative ViBRA16CL PnP' PnP version 1.0 Product version1.1 この ISAPnP カードのベンダ名は CTL0080 です。 Logical device 0 'CTL0041:Audio' 論理デバイス 0 の名前は CTL0041 です。 Device is active この論理デバイスはすでに active 有効になっています。 Active port 0x220,0x330,0x388 Active IRQ 5 [0x2] Active DMA 1,5 現在の設定です。 Resources 0 Priority preferred Port 0x220-0x220, align 0x0, size 0x10, 16-bit address decoding Port 0x330-0x330, align 0x0, size 0x2, 16-bit address decoding Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding IRQ 5 High-Edge DMA 1 8-bit byte-count compatible DMA 5 16-bit word-count compatible 使用可能なリソースです。I/O ポートアドレスは 0x220,0x330,0x388 の三つを 使います。IRQ は 5, DMA は 1 と 5 を使います。 Alternate resources 0:1 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 1,3 8-bit byte-count compatible DMA 5,7 16-bit word-count compatible 代替えとなるリソースです。 1 番目の I/O ポートアドレスは 0x220,0x240,0x260,0x280 のうち一つが使えます。 2 番目の I/O ポートアドレスは 0x300,0x330 のどちらかが使えます。 3 番目の I/O ポートアドレスは 0x338 から 4 バイト置きに 0x3f8 まで内、一つ が使えます。 IRQ は 5,7,2/9,10 の 四つの内、一つが使えます。 2/9 はカスケード接続された割り 込みであることを、示しています。 1 番目の DMA は 1 か 3 が使えます。 2 番目の DMA は 5 か 7 が使えます。 (中略) Logical device 1 'CTL7002:Game' 論理デバイス 1 の名前は CTL7002 です。 Device is not active この論理デバイスは not active 無効になっています。 Resources 0 Priority preferred Port 0x200-0x200, align 0x0, size 0x8, 16-bit address decoding 使用可能なリソースです。 I/O ポートアドレスは 0x200 を使います。 Alternate resources 0:1 Priority acceptable Port 0x200-0x208, align 0x7, size 0x8, 16-bit address decoding 代替えとなるリソースです。 I/O ポートアドレスは 0x200 と 0x208 のどちらかが使 えます。 Card 2 'FUJ0202:FUJITSU Modem 33600 PNP/I2' PnP version 1.0 Product version 0.5 この ISAPnP カードのベンダ名は FUJ0202 です。 Logical device 0 'FUJ0000:Unknown' 論理デバイス名は FUJ0000 です。 Supported registers 0x2 Device is active Active port 0x2f8 Active IRQ 3 [0x3] Active DMA 0,0 現在の設定です。 Resources 0 Priority acceptable Port 0x2f8-0x2f8, align 0x7, size 0x8, 16-bit address decoding IRQ 3 High-Edge 使用可能なリソースです。I/O ポートアドレスは 0x2f8, IRQ は 3 を使います。 Alternate resources 0:1 Priority acceptable Port 0x3f8-0x3f8, align 0x7, size 0x8, 16-bit address decoding IRQ 4 High-Edge 代替えとなるリソースです。I/O ポートアドレスは 0x3f8, IRQ は 4 を使います。 Alternate resources 0:2 Priority acceptable Port 0x3e8-0x3e8, align 0x7, size 0x8, 16-bit address decoding IRQ 4 High-Edge (中略) Alternate resources 0:8 Priority acceptable Port 0x100-0xfff8, align 0x7, size 0x8, 16-bit address decoding IRQ 3,4,5,7,2/9,10,11,12,15 High-Edge 代替えとなるリソースです。I/O ポートアドレスは 0x100 から 8 バイト置きに 0xfff8 までの内、一つが使えます。 IRQ は 3,4,5,7,2/9,10,11,12,15 の内、どれか一つが使えます。 Card 3 'TCM5098:3Com 3C509B EtherLink III' PnP version 1.0 Product version 1.0 この ISAPnP カードのベンダ名は TCM5098 です。 Logical device 0 'TCM5098:Unknown' 論理デバイス名は TCM5098です。 Supported registers 0x2 Compatible device PNP80f7 論理デバイス名の別名です。 Device is active Active port 0x300 Active IRQ 10 [0x2] 現在の設定です。 Resources 0 Priority preferred Port 0x210-0x3e0, align 0xf, size 0x10, 16-bit address decoding IRQ 3,5,7,2/9,10,11,12,15 High-Edge 使用可能なリソースです。 I/O ポートアドレスは 0x210 から 16 バイト置きに0x3e0 までの内、一つが 使えます。 IRQ は 3,4,5,7,2/9,10,11,12,15 の内、どれか一つが使えます。リソースの内 Port と IRQ の表記について簡単に説明します。 Port 0x210-0x3e0, align 0xf, size 0x10, 16-bit address decoding Port ベースアドレス = 最小アドレスから最大アドレスの範囲の値 & 境界 になります。この場合、0x210,0x220,0x230...0x3d0,0x3e0 となります。 IRQ 3,5,7,2/9,10,11,12,15 High-Edge /proc/isapnp への書き込み/proc/isapnp への書き込みにより、ISAPnP を設定します。 6.3 kernel 2.4 ISAPnP の設定項目kernel 2.4 の文書 linux/Documents/isapnp.txtを参考にしてください。 /proc/isapnp を読み出した結果を基に、設定します。 /proc/isapnp へ書き込むコマンドは下記の通りです。
6.4 kernel 2.4 での設定例下記に設定例を示します。 SoundBlaster16 用の設定です。論理デバイス 1 CTL7002 は'dev 1 CTL7002'となるはず ですが、'dev 0 CTL7002'にしないと、エラーになります。 $cat SB16 card 0 CTL0080 dev 0 CTL0041 port 0 0x220 port 1 0x330 port 2 0x388 irq 0 5 dma 0 1 dma 1 5 active dev 0 CTL7002 port 0 0x200 active 3C509用の設定です。 $cat 3c509 card 0 TCM5098 dev 0 TCM5098 port 0 0x300 irq 0 10 active 33k アナログモデムは自動設定で、動作していますので、設定はしていません。 6.5 kernel 2.4 での設定の注意
6.6 設定の試験設定が正しいか試験してみましょう。 #cat SB16 >/proc/isapnp設定に問題があれば、メッセージが表示されるか、/var/log/messagesに 記録されます。以下にエラーメッセージの例を示します。 Sep 29 21:55:09 localhost kernel: isapnp: device 'CTL7002' order 0 not found Sep 29 21:55:35 localhost kernel: isapnp: wrong command 'logdev'設定に問題がなければ、とくにメッセージは表示されず、 /var/log/messagesにも、なにも記録されません。 /proc/isapnp を読み出すと、設定したデバイスが Device is activeに なるはずです。 以下に設定が成功した場合の /proc/isapnp を示します。 Card 1 'CTL0080:Creative ViBRA16CL PnP' PnP version 1.0 Product version 1.1 Logical device 0 'CTL0041:Audio' Device is active 中略 Logical device 1 'CTL7002:Game' Device is active 中略 Card 3 'TCM5098:3Com 3C509B EtherLink III' PnP version 1.0 Product version 1.0 Logical device 0 'TCM5098:Unknown' Supported registers 0x2 Compatible device PNP80f7 Device is active 6.7 kernel 2.4 起動時の設定ISAPnP の設定は、kernel 起動後、できるだけ早く行う必要があります。 ISAPnP の設定には /proc を使用するので、/proc がマウントされた直後に行う のが良いでしょう。 ディストリビューションによっても違いますが、ここでは、RedHat 系の /etc/rc.d/rc.sysinitスクリプトを使う場合を説明します。 /etc/rc.d/rc.sysinit の /proc のマウント直後に下記のように追加します。
mount -t proc /proc /proc #isapnp in kernel if [ -d /etc/isapnp.d ]; then for i in /etc/isapnp.d/*; do echo "ISA PnP setup :$i" cat $i >/proc/isapnp done fi そして、/etc/isapnp.d ディレクトリを作成し、その中に ISAPnP の設 定ファイルを置きます。設定ファイルの内容は kernel 2.4 での設定例を参照してください。 $ls /etc/isapnp.d 3c509 SB16 次のページ 前のページ 目次へ |
[ |