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

9. PCMCIAについて

本章ではLinuxのPCMCIA自体の解説はいたしません。PCMCIA自体に関しては、以下のような日本語文書があります。

Linux PCMCIA HOWTO(PCMCIA-csの導入と設定に関する解説)

David Hinds著. 翻訳: 小島 三弘さん , 播口 陽一さん , 藤原 輝嘉さん. http://www.linux.or.jp/JF/JFdocs/PCMCIA-HOWTO.html

Linux PCMCIA プログラマの手引き

David Hinds著. Kazuyuki Okamoto, Hiroshi Kawashima, Hiro Sugawara 訳. http://www.linux.or.jp/JF/JFdocs/PCMCIA-PROG.html

これらは、linuxdoc-SGML形式でも作成されていますので、HTMLの他プレーンテキスト、PostScriptなどの形式でも利用可能です。おなじサイト内の http://www.linux.or.jp/JF/JFdocs/JFsgml.tar.gzです。

また、Linux pcmcia-csで使えるPCMCIAカードについては、pcmcia-csの中に SUPPORTED.CARDSというファイルがあるので、そちらを参照してください。ア スキー出版局から「Walking Linux」というノートパソコン用の本がでていま すが(井伊もDHU2にLinuxをインストールした時はお世話になりました)、この 著者メンバーの一人である安達昭仁さんのウェブページ「My Walking Linux HomePage」 http://www.st.rim.or.jp/~adats/WL/SUPPORTED.CARDS.JP.html には、どうしても海外中心の情報になるSUPPORTED.CARDSに 加えて、多くの日本国内で流通しているカードについての動作情報があり、ま たその他にもノートパソコンでLinuxを活用するためのたくさんの情報やリン クが丁寧に整理されています。

さて、比較的最近の98ノート(含エプソン互換機)では普通のAT用パッケージで あるpcmcia-csがそのまま使えます。ただし、設定ファイルであるconfig.opts は変更した方がよいと思われます。AT同様、カーネルをPCMCIA用に再構築する必 要があります。CardBus搭載機ではCardBusが使える可能性があります(未確認) (最近のバージョンのpcmcia-csが必要です)。なお、98固有であるI/O変換機能 は実装されていないので使えないと思います(そのためATでは動くのに98では 動かないカードもあると思われます)。

なお、おくむらさんによると、 「必ずしも再現しなのですが、ちょっと気になっている事として SHIFTを押しながら30行モードでブートするとPCMCIAのprobeのところで ハングしてしまうという症状が出ています。」ということだそうです。

(最新の情報)

/etc/pcmcia/config.opts に
exclude memory 0xe0000-0xe7fff
という一行を付け足すと、動作しました。(グラフィックVRAM部の除外)

9.1 推奨設定

config.opts等の推奨設定をここに出したいので、ユーザの方は是非、 ご自分の設定を教えてください。

とりあえず

IRQ: exclude する対象が AT とは違ってくるはず。
メモリ: DA00-DBFF, +DC00-DFFF, +D000-D7FF しか使えないのかな?
I/Oポート: xxD0-xxEF だけ?
という風になるのだろうか? しかしこれ以外のメモリ/ポートアドレスで動いてるような気もするなあ。 僕がテストしているのがEPSON互換機だからだろうか? 今でもpcmcia-csがきちんとVRAM領域とかはチェックして(?)外してくれているようだし。

9.2 (非)動作確認本体機種

以下の機種で動作が確認されています。

PC-486NAT

井伊さん

Linux PCMCIA Card Services 3.0.0
  kernel build: 2.1.57 #4 Mon Dec 13 02:10:16 GMT+8 2004
  options:  none
Intel PCIC probe: 
  Ricoh RF5C296/396 at 0x3e0 ofs 0x00, 2 sockets
    host opts [0]: none
    host opts [1]: none
    ISA irqs (scanned) = 3,5,10,12 status change on irq 10
cs: IO port probe 0x0100-0x03ff: excluding 0x160-0x167 0x260-0x267 0x360-0x367
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0x0d0000-0x0dffff: excluding 0xd8000-0xd9fff
cs: memory probe 0x0e0000-0x0effff: excluding 0xe8000-0xeffff

PC-9821 Lavie Nr13

山口さん

Linux PCMCIA Card Services 3.0.0
  kernel build 2.1.57 #1109 Tue Mar 24 14:48:19 GMT 1998
  options:  none
Intel PCIC probe:
  Cirrus PD672x at 0x3e0 ofs 0x00, 2 sockets
    host opts  [0]: [ring] [freq bypass] [65/6/3] [1/15/3]
    host opts  [1]: [ring] [freq bypass] [65/6/3] [1/15/3]
        ISA irqs (default) = 3,4,5,10,11,12,14 status change on irq 14
cs: IO port probe 0x0100-0x03ff: excluding 0x100-0x13f 0x148-0x14f 0x238-0x23f 0
x3b0-0x3cf
cs:  IO port probe 0x0a00-0x0aff: excluding 0xa00-0xa07
cs: memory probe 0x0d0000-0x0dffff: excluding 0xd8000-0xdbfff
cs: memory probe 0x0e0000-0x0effff: excluding 0xe8000-0xeffff

PC-9821 Nw133

おくむらさん

PC-9821 Nr15

高山さん

PC-9821 La13 (Aile B5ノート)

佐藤さん

また、以下の機種ではpcmcia-csに手を入れない限り動作しない可能性があります。
PC-9821Ne

確認済み

PC-9801NX/C

未確認,想像

PC-9801NS/A

確認済み

PC-9801NL/R

未確認,想像

9.3 動作確認カード

ATで動くものは大抵動くと思います。参考までにbugs@seraphim MLに流れたものを書いておきます。

アライドテレシス CentreCOM(TM) CE6001

井伊さん(PC486-NAT)

loading device 'eth0'...
eth0: NE2000 Compatible: port 0x300, irq 5, 10baseT port, hw_addr 00:C0:1B:00:41:02

アライドテレシス CentreCOM LA-PCM

山口さん(PC-9821 Lavie Nr13),高山さん(PC-9821 Nr15)

MELCO BUFFALO LPC-T(LPC-TS)

井伊さん(PC-486NAT)

loading device 'eth0'...
eth0: NE2000 Compatible: port 0x300, irq 3, hw_addr 00:00:E8:15:28:C6

planet ENW-3501T

おくむらさん(PC-9821 Nw133)

TAXANの携帯型CDROMドライブICD-400PNに付属のSCSIカード

井伊さん(PC486-NAT)

Ql: Using preset base address of 230
Ql: Using preset IRQ 3
scsi0 : Qlogicfas Driver version 0.46, chip 50 at 230, IRQ 3, TPdma:1
scsi : 1 host.
qlogic_cs: no SCSI devices found
scsi : 0 hosts.

Panasonic TO-CAF336(33600bps FAX&MODEM Card)

井伊さん(PC-486NAT): シリアルまわりは最近でもコードが変更されているので、カーネルバージョン によっては動作しないかもしれません。β11で動作を確認。

Serial driver version 4.24 with no serial options enabled
tty02 at 0x03f8 (irq = 3) is a 16550A

APA-1460J SlimSCSI(TM) 16-bit PCMCIA-to-SCSI Adapter

高山さん(PC-9821 Nr15):MOが使えているそうです。HDやCD-ROMは未確認だそうです。

CenterCOM LA-PCM-T

高山さん(PC-9821 Nr15): 頻繁にワーニングを吐くので、その部分を消してお使いだそうです。

(eth) Accton EN2212

高山さん(PC-9821 Na12): 全く問題なく使えているそうです。(編追記)MELCO BUFFALO LPC-98E-Tはこれと同じカードです。

(eth) Planet SmartCOM Creditcard/2000 (Accton UE2212 Ethernet)

佐藤さん(PC-9821 La13): pcmcia-cs 3.0.4 で自アドレスへの ping を確認

(eth) 3Com EtherLinkIII 3c589C(REV.A)

佐藤さん(PC-9821 La13): pcmcia-cs 3.0.4 で自アドレスへの ping を確認

(eth) Megahertz XJ10BT(Megahertz CC10BT\2 Ethernet)

佐藤さん(PC-9821 La13): pcmcia-cs 3.0.4 で自アドレスへの ping を確認

(eth) corega Ether PCC-T(Rev.1A)

佐藤さん(PC-9821 La13): pcmcia-cs 3.0.4 で自アドレスへの ping を確認。/etc/pcmcia/configへの追加が必要

card "corega Ethernet Card"
  version "corega K.K.", "corega Ether PCC-T"
  bind "pcnet_cs"

(scsi) Future Domain SCSI2GO

佐藤さん(PC-9821 La13): CD-ROMをマウントして、ls で確認。/etc/pcmcia/configへの追加が必要

card "Future Domain SCSI2GO"
  version "Future Domain Corporation", "SCSI PCMCIA Credit Card Controller"
  bind "fdomain_cs"

(scsi) Qlogic Fast!SCSI PCMCIA-10

佐藤さん(PC-9821 La13): CD-ROMをマウントして、ls で確認

(scsi) SONY Discman PRD-650(Adaptec APA-1460 SlimSCSI)

佐藤さん(PC-9821 La13): CD-ROMをマウントして、ls で確認

ATで動かなくて98で動くものなんてあるのかなぁ?

ATで動いてるのに98では動いてないものもあります。なお、誤解しないでいただきたいの ですが、以下にあげるカードは単に真面目に設定していないから動作しないだけのものも あると思いますので、下記のカードでも既にお持ちなのでしたら、是非一度トライしてみて ください。

Adaptec 多分 APA-1460J SlimSCSI(TM) 16-bit PCMCIA-to-SCSI Adapter

井伊さん(PC-486NAT):タイムアウトでコマンドがアボートしてしまう。何が悪いのかなあ? (注:高山さんのお手許ではこのカードが動いているそうです)。

aha152x: processing commandline: ok
aha152x: BIOS test: passed, detected 1 controller(s)
aha152x0: vital data: PORTBASE=0x340, IRQ=3, SCSI ID=7, reconnect=enabled, parity=enabled, synchronous=disabled, delay=100, extended translation=disabled
aha152x: trying software interrupt, ok.
scsi1 : Adaptec 152x SCSI driver; $Revision: 1.11 $
scsi : 1 host.
scsi : aborting command due to timeout : pid 8, scsi1, channel 0, id 0, lun 0 0x00 00 00 00 00 00 
scsi : aborting command due to timeout : pid 8, scsi1, channel 0, id 0, lun 0 0x00 00 00 00 00 00 
(以下省略)

IO-DATA PCINS-128

井伊さん(PC-486NAT)挿すといきなりLinuxが死んじゃった。実は98パッチの当たったシリアルドライバが悪さをしてるとか。。。? β11で試してみたらどうやろ?動くんちゃうかな。

serial reset
1 offset
Kernel panic: Unknown port requested to 8251
Ugh at c0129e76

PC-9821NR-B06 (Tulip 21143 チップ塔載)

寺本さんが認識されないという報告をされています。普通の AT 互換機の Linux では使えるのでしょうか?

9.4 カーネルの再構築について

まず、モジュールを有効にする必要があります。 また、CardBusではPCIも有効にする必要があります。 ただし,CardBus必須のPCカードはほとんど存在しませんし,98ノートではまだ動作報告がありません。

AT 互換機でも,PCカードの具合が悪いときは BIOS SETUPで PCIC 互換にするのが 常套手段のようです。(PCカードでは 32ビット転送をしないようにする)

個々のハードウェアに対応したドライバをコンパイルする必要はありませんが、 その上位層のEthernet supportとかSCSI support, SCSI disk supportなどを 有効にしてください。

PCMCIAとは関係ないですが、APMを有効にするには、Makefile中のSMP=1をコメ ントアウトしましょう。

9.5 pcmcia-csのインストール

ATと同様にしてインストールできます。簡単なのは前節で構築したカーネルで起動し、 pcmcia-cs を展開して、make config, make all, make install すればよいでしょう。 /etc/pcmcia/ に設定ファイルなどが用意されるようです。 必要なら変更してください。


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