Vine Linuxをインストールしたノートパソコンに、PCカード XN-21 (ASTEL Data/Fax card)を装着する


Vine Linuxをインストールしたノートパソコンに、PCカード XN-21 (ASTEL Data/Fax card)を装着したところ、認識 がうまくいかないので、あれこれやってみた結果を以下に示す。

現象

うまくいくときの現象

通常のモデムカードを装着したときの結果(/var/log/messages)を次に示す。

May  1 18:36:59 localhost cardmgr[334]: initializing socket 1
May  1 18:36:59 localhost cardmgr[334]: socket 1: Serial or Modem
May  1 18:36:59 localhost cardmgr[334]: executing: 'insmod /lib/modules/2.2.14-1vl6/pcmcia/serial_cs.o'
May  1 18:36:59 localhost kernel: tty02 at 0x0af8 (irq = 11) is a 16550A 
May  1 18:36:59 localhost cardmgr[334]: executing: './serial start ttyS2'

うまくいくいかないときの現象

ASTEL XN-21を装着したときの結果(/var/log/messages)を次に示す。

May  1 18:39:52 localhost cardmgr[334]: initializing socket 1
May  1 18:39:52 localhost cardmgr[334]: socket 1: Serial or Modem
May  1 18:39:52 localhost cardmgr[334]: executing: 'insmod /lib/modules/2.2.14-1vl6/pcmcia/serial_cs.o'
May  1 18:39:52 localhost kernel: register_serial(): autoconfig failed 
May  1 18:39:52 localhost kernel: serial_cs: register_serial() at 0x0af8, irq 11 failed 
May  1 18:39:53 localhost cardmgr[334]: get dev info on socket 1 failed: Resource temporarily unavailable

調査

IOポートが衝突しているらしいのだが、なにがどことぶつかっているのかさっぱり分からないので、 「redhatLinux6.2J」で試してみたところ、簡単にXN-21を認識してしまった。

双方のconfig.optの内容(抜粋)を次に示す。

VineLinux2.0CRのconfig.opt 抜粋

#
# Local PCMCIA Configuration File
#
#----------------------------------------------------------------------

# System resources available for PCMCIA devices

include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff

include memory 0xc0000-0xfffff
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff

# High port numbers do not always work...
# include port 0x1000-0x17ff

# Extra port range for IBM Token Ring
include port 0xa00-0xaff

# Resources we should not use, even if they appear to be available

redhatLinux6.2Jのconfig.opt 抜粋

#
# Local PCMCIA Configuration File
#
#----------------------------------------------------------------------

# System resources available for PCMCIA devices

include port 0x100-0x4ff, port 0x1000-0x17ff

include memory 0xc0000-0xfffff
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff

# High port numbers do not always work...
# include port 0x1000-0x17ff

# Extra port range for IBM Token Ring
include port 0xa00-0xaff

# Resources we should not use, even if they appear to be available

対策

config.optの修正

redhatLinuxの定義をそのままとり入れ、8行目の「icnlude port ...」の行を次の様に修正した。

xxinclude port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
include port 0x100-0x4ff, port 0x1000-0x17ff

修正後の現象

config.opt修正の結果、XN-21装着が正常に受け付けられるようになった。この後、ppxpを使用して、ISPとの接続までを確認した。

May  1 19:39:45 host1 cardmgr[373]: initializing socket 1
May  1 19:39:45 host1 cardmgr[373]: socket 1: Serial or Modem
May  1 19:39:46 host1 cardmgr[373]: executing: 'insmod /lib/modules/2.2.14-1vl6/pcmcia/serial_cs.o'
May  1 19:39:46 host1 kernel: tty02 at 0x13f8 (irq = 10) is a 16550A 
May  1 19:39:46 host1 cardmgr[373]: executing: './serial start ttyS2'