[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:20513] ChipCard VW-200


先週、IBMのChipCard VW-200をもらいました。(^_^)v こいつ、8ビット
CPU、RAM(SRAM)が128キロバイト、白黒200×320の液晶ディスプレイを
持ってて、JISの第一、第二水準の漢字もROM(EEPROM)に入っているそうです。
で、サイズがPCMCIA TYPE III(たたんだとき)です。Linuxも動くPilotに
比べればスペック的には負けますが、それでもいろいろできそうです。

例によって、ドライバやアプリケーションはDOS、Windows95、OS/2(IBM製
だから当然か)用しか用意されていないので、自分でやってみることに
しました。これは現状報告です。(長い前置きですね)

できたこと: VW-200のSRAMのメモリ内容をddでファイルに書き出す/
	    ファイルから戻す

環境は、以下のとおり。
ハードウェア:
Libretto 50
ChipCard VW-200

ソフトウェア:
Debian GNU/Linux 2.0 (unstable)、カーネルは2.0.33
pcmcia-cs関連は3.0.0

WWWでいろいろ検索してみると、どうもSRAMとして扱えるらしいということが
わかりましたので、既存のドライバでやってみることにしました。

VW-200をさしたときの/var/log/daemon.logのメッセージから、
/etc/pcmcia/configに次のように追加しました。
================
## ChipCard vw-200
card "IBM ChipCard VW-200 39H2050 E16965"
	version "IBM", "ChipCard VW-200", "*", "*"
	bind "memory_cs"
================

さらに、転送モードを8ビットに指定しないといけません。
pcmcia-csのmemory_csのソースコードを調べると、“word_width”を
0にすればいいということがわかったので、/etc/pcmcia/config.optsに
これを追加しました。
================
# Option for ChipCard VW-200
module "memory_cs" opts "word_width=0"
================

関連デーモンに設定ファイルを読ませたあと、VW-200にさしたときの
/var/log/daemon.logの内容です。
================
Mar  3 14:59:35 agate cardmgr[16683]: initializing socket 0
Mar  3 14:59:35 agate cardmgr[16683]: socket 0: IBM ChipCard VW-200 39H2050 E16965
Mar  3 14:59:36 agate cardmgr[16683]: executing: 'insmod /lib/modules/2.0.33/pcmcia/sram_mtd.o'
Mar  3 14:59:36 agate cardmgr[16683]:   Common memory region at 0x0: Generic or SRAM
Mar  3 14:59:36 agate cardmgr[16683]: executing: 'insmod /lib/modules/2.0.33/pcmcia/memory_cs.o word_width=0'
Mar  3 14:59:36 agate cardmgr[16683]: executing: './memory start mem0'
================

なぜか“sram_mtd”なるものもロードされています(いま気がついた)が、
これは何者なのでしょうか? “MTD”がメモリテクノロジドライバのことだと
いうことはわかりますが。

で、VW-200をさすと、こんなデバイスファイルが増えます。/etc/pcmcia/memory
によって作られるファイルです。コメント部に説明があります。
================
crw-r--r--   1 root     root     126,  12 Mar  3 14:49 /dev/mem0a
crw-r--r--   1 root     root     126,   4 Mar  3 14:49 /dev/mem0a0c
crw-r--r--   1 root     root     126,   8 Mar  3 14:49 /dev/mem0c
brw-r--r--   1 root     root     126,   0 Mar  3 14:49 /dev/mem0c0b
crw-r--r--   1 root     root     126,   0 Mar  3 14:49 /dev/mem0c0c
================

VW-200のSRAMのメモリ内容をddでファイルに書き出すのは簡単で、

dd if=/dev/mc0a of=chipcard.dump bs=1024 count=128

とするだけです。beavで中をみると、最初のほうにオーナー情報のデータが
みえるので、とりあえず成功したと判断しました。同じようにddを使えば、
書き戻すこともできます(root権限で)。これでプログラムを転送することが
できる…はず。

以上報告おわり。Linux+ChipCardの環境構築に関する情報をいただけると、
すごくうれしいです。

あきる前に、いいところまでいけたらいいのですけど。これだけで4日
かかってます。(^_^;;


ChipCard VW-200について:
http://www.yamato.ibm.co.jp/jpccinfo/ibmchip/vw200/
http://www.yamato.ibm.co.jp/pc/prod/hb/0745.html

今回参考にしたもの:
http://ohnolab-www.is.titech.ac.jp/~kimoto/researches/chipcard-bsdos.html
http://www.suri.co.jp/~ohta/ChipCard/index.html
(前者はBSD/OSで、後者はLinuxで使う話です)
-- 
喜瀬“冬猫”浩@南国沖縄

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: