Linux ZaurusエレコムのUC-SGTが動くようにするテスト。
とりあえず、そのままUSBホストケーブル経由でSL-C3000に繋げても何のモジュールもロードされず。
dmesgでデバイスIDをチェック。


 VMWAREVine Linuxの環境を作って、そこにシャープのサイトから拾ってきた
ロスコンパイル環境を展開。linux/.configを例の場所からコピーしてきて
そのままmake menuconfigなどと打ってもうまく動かなかった。
わけがわからずにPATHに/opt/〜を追加してみたり、Makefileをいじってみたりしたが、
結局、ncurses-develをapt-get installしてやればよいだけだった。
おかげで~/linux/scripts/以下になぜかarmなバイナリが出来たりして
ごちゃごちゃになってしまったので、とりあえずバッサリ削除してカーネルソースを
展開しなおし。
 ただし/opt/Embedix/tools/bin/だけはPATHに追加しておく。


 後はmake menuconfigでusbserialやpl2303のところでMを押して有効にしてから
セーブして終了、pl2303.hにさっきメモしたデバイスIDを追加してから
「make dep && make modules」でdrivers/以下にモジュールが出来上がる。
それをザウルスにコピーして、念のためリブートしからUC-SGTを繋ぎなおすと
モジュールがロードされて/dev/ttyUSB0に張られた。
 うちの環境ではそのままではダメで、mknodでttyUSB0を作る必要があった。
(chmod 666 /dev/ttyUSB0でroot以外にも書き込み権限を与える)


 シリアルのリバースケーブルを用意して適当なパソコンに接続し、ハイパーターミナルと
cuを使って動作テスト。
 ところがパソコンからの送信はとりあえず拾えるものの、リナザウからの送信は
まったく送られていない模様。
 しかもパソコンから連続して文字を送ると文字化けする。
フローコントロールか何か、根本的に問題があるのかもしれない。
 ググると、UC-SGTのrev.D以降はPL-2303Xというチップが使われていて、
それ以前のPL-2303とは初期化方法などが若干違うらしい。手持ちのはrev.Dだった。
これに対応するパッチが流れているので、それを見ながらpl2303.cを修正すれば
うまくいくかもしれない。