2002年 10月 23日 (水)

ケータイのメモリを読み書きしよう

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日: シリアルケーブルを入手。電話帳のデータの読み書きは可能になる。
QRcode Tweet

このページの半分はフィクションです。もし同一の名称があった場合も,実在の人物・団体・事件などとはあんまり関係ありません。
CAPTCHA

[月インデックス] [単語インデックス] [コメントインデックス] [画像インデックス]
[TAKEchonNET] → [大いなる疲労の告知]
Donate us![TAKEchonNET]