先週、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で使う話です) -- 喜瀬“冬猫”浩@南国沖縄
Follow-Ups:
- Prev by Subject: [linux-users:20512] Re: DEC NIC & AHA-2940
- Next by Subject: [linux-users:20514] Re: IBM PCに
- Previous by thread: [linux-users:20527] Re:DEC NIC & AHA-2940
- Next by thread: [linux-users:20653] Re: ChipCard VW-200
- Indexes:[Main][Thread]