ケータイのメモリを読み書きしよう
celrw
http://www.nurs.or.jp/~kurati/celrw/ なる『UNIX で携帯のメモリを読み書きしよう』てなツールが macosx-jp で話題になっていたのでインストールに挑戦する。
結果: 今日のところは *負け*
コンパイルは ./configure 時に install.sh が無いと言われたものの,そこらに転がっていたのを使って make 成功。
SUNTAC U-Cable type A3 を接続。デバイスは /dev/tty.usbmodemU-Cable のようだ。
で,読み出しを実行してみると…,
返ってこない。
う〜む,au (cdmaOne) ってのがマイナーなのかな?
Google で,cdmaOne celrw をキーワードにググってみると,
celcomm
http://homepage3.nifty.com/ymakise/comp/work/ なる『cdmaOne 携帯用データフォルダ操作ツール』を発見。
こっちの方が近いかも…と,これまたインストール。
ruby で書かれていて,ruby-termios ライブラリを使っているとの事なのでソレも入れる。
結果: timeout エラー
どうやら同じ現象。
所詮 RS-232c で,やりとりしていたターミナル通信レベルだろう。それならできるジャロ? 手元にソースがあるワケだから,見てみる。
celdf_ls う〜。ruby は読めません (やっぱ ruby も憶えた方が今後シアワセになるのかな…)。
しょうがナイので celrw.c のハックを開始 (C なら読めるぞ)。
まずは debug オプションを有効にして (ついでに default device を /dev/tty.usbmodemU-Cable にして),コンパイルしなおす。
で,見てみると…,
% ./celrw
input passwd : ****
establishing connection ...sendhex:a8
sendhex:a8
recv: a8 a8
ここで止まっている。
recv: a8 a8 って事で,何らかの返事が返ってきてると思っていいのかな?
ソースを眺めると,どうやら a8 a8 ってのが期待する返事じゃなくて,無限ループになっている。
最初に送っている a8 はというと…,
MSG1("establishing connection ...");
/* make connection */
SendHex(0xa8);
sleep(2);
SendHex(0xa8);
なんだけど,そもそも a8 ってのが何なのか? 本当にコネクションの開始はコレでいいのか? こういう資料がどっか公開されているのかな?
まずは,この celrw.c を元にいろいろコマンドを打てるようにターミナルを作ってみようかと決心。
良い具合に酔ってきたのでもう寝る (昨晩あたりから,ぐっと冷えて *
土佐鶴* が美味しくなっております)。
//
2003年01月17日: シリアルケーブルを入手。電話帳のデータの読み書きは可能になる。