2009年9月3日木曜日
PLANEX GW-US54GXS (USB Wi-Fi) の消費電流
2009年9月2日水曜日
UC-SGT が繋がった話
今日、問題切り分けのために UC-SGT を職場に持っていって PC に繋いだところ、なんとドライバのインストール画面(そのもの)が出てきません。首をかしげながら Tera Term を起動したところ、ちゃんと認識して COM ポートを使えるようになりました。おかしいなあ、ドライバをインストールした記憶はないんだが、と思ったら、実は、以前 GPS ロガーをインストールしたときのシリアルドライバが入っていて、それがそのまま使えてしまったのでした。これはラッキーです。たまたま、Prolific 社のドライバが共通だったので使えたみたいです。
そこで家に帰ってから、自宅の PC にも Prolific 社用のドライバを入れてみました。具体的には、GPSDGPS 社からダウンロードできる、RoyalTek 社 RGM-3800 のドライバをインストールします。ユーティリティは不要で、あくまでも USB ドライバだけです。これで、無事に UC-SGT を使えるようになりました。
Windows の USB のほうが疲れる
ThinkPad T42 に Windows XP SP3 を入れてからというもの、なんだかいろいろ調子が悪いです。昨日書いたように、第一には認識しない USB デバイスが増えたような気がすることです。でも、昨日の USB シリアルコンバータについては無事に解決策が見つかったので、あとで書きます。
その他の問題は、Windows 2000 で動かしている Faros (ビーコンモニタ)で、USB の帯域不足だといって Creative Sound Blaster Digital Music SX の接続がたびたび落ちてしまうことです。専用の USB インターフェイスをかましているのに、たかだか 48kHz サンプリング 16ビット量子化(ステレオ)の入力で落ちてしまうというのは許せません。同社のウェブサイトにはろくな技術情報がなく、インストーラも過剰で使いにくいものです。もう、絶対 Creative 製品は買いません、決めました。
もう一つは最近、Windows XP SP3 で、USB ハブ周りの問題が多いことです。ハブの活線挿抜ができなくなったり、ハブの接続でだんまりになったり、もうひどいです。今日、Linux の USB 周りが実に安定して見えたので、余計対照的に思えました。以前は、Windows XP でもそんなことなかったような気がするんだけどなー。SP3 のせいかな? (← 決め付け)
さて。寂しい話ばかりになってしまったので、BeagleBoard で無事に USB Ethernet と USB Wi-Fi を認識した話です。まだネットの接続はできていないのですが、とりあえず認識はしました。
まず Linux のインストールです。私の BeagleBoard はリビジョン B6 なのですが、最新のリビジョン C2 の説明に従ってインストールして、問題なく動作しました。というか、リビジョン B6 時代の必要ファイルは、ネットでうまく見つからないのです。リビジョン C のファイルで動くか不安だったのですが、特に大きな問題はありませんでした。ブート中に Linux カーネルからいろいろ warning が出ますが、これは追々調べていきます。
続いて、USB にいろいろペリフェラルを繋ぎながら実験です。使ったのは以下のペリフェラルです。
- バッファロー LUA-U2-KTX (USB Ethernet, 手持ち)
- PLANEX GW-US54GXS (USB Wi-Fi, 新規購入)
まず最初に、USB Ethernet を繋いだときの dmesg と ifconfig です。
usb 2-1: reset high speed USB device using musb_hdrc and address 2
usb 2-1.3: new high speed USB device using musb_hdrc and address 3
usb 2-1.3: device v0411 p003d is not supported
usb 2-1.3: configuration #1 chosen from 1 choice
eth0: register 'asix' at usb-musb_hdrc-1.3, ASIX AX8817x USB 2.0 Ethernet, 00:07:40:xx:xx:xx
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:07:40:xx:xx:xx
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
次に、USB Wi-Fi です。
usb 2-1.1: new high speed USB device using musb_hdrc and address 4
usb 2-1.1: device v2019 p5303 is not supported
usb 2-1.1: configuration #1 chosen from 1 choice
usb 2-1.1: reset high speed USB device using musb_hdrc and address 4
zd1211rw 2-1.1:1.0: phy0
# ifconfig -a (抜粋)
wlan0 Link encap:Ethernet HWaddr 00:22:CF:xx:xx:xx
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wmaster0 Link encap:UNSPEC HWaddr xx-xx-xx-xx-xx-xx-00-00-00-00-00-00-00-00-00-00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Linux の Wi-Fi の扱いはよく分かっていないのですが、ifconfig up しようとしたら、firmware がないというエラーが出ました。
# ifconfig wlan0 up usb 2-1.1: firmware: requesting zd1211/zd1211b_ub usb 2-1.1: Could not load firmware file zd1211/zd1211b_ub. Error number -2 zd1211rw 2-1.1:1.0: couldn't load firmware. Error number -2 ifconfig: SIOCSIFFLAGS: No such file or directoryこの辺は、いずれ調査しようと思います。とりあえず、デバイス自身は認識されて良かったです。
あ、最後にカーネルの情報(抜粋)など。
# dmesg Linux version 2.6.28-omap1 (root@tiioss) (gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)) #2 Thu Feb 19 12:45:34 IST 2009 CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: OMAP3 Beagle Board
とりあえず、シリアルコンソールが繋がった
続いて、RS-232C を引き出すヘッダケーブルを購入しました。自作しても良かったのですが、1,000円程度で既製品があったので、買ってしまいました。ainex とかいう会社の RS-300 という製品です。PC 互換機用のパーツのようですが、求めている結線と適合しそうなので、これにしました。あと、画像出力確認用に、S ビデオケーブルも買いました。
さて、家に帰って PC をシリアルケーブル(RS-232C)で繋ごうとしたのですが、ハマりました。一つは、以前インストールした記憶のある RS-232C コンバータ Elecom UC-SGT (rev. B) を Windows XP が認識しなくなってしまったことです。XP SP3 が原因のような気もしますが、確証はありません。しようがないので、Windows 2000 の PC を引っ張りだしてきて、本体内蔵の RS-232C を使うことにしました。
しかしまだ、コンソールが繋がりません。当初、ビックカメラで買ってきたヘッダケーブルの結線がマズいのかと思ったのですが、試しにヘッダコネクタ上でループバックしても、PC からループバックデータが見えません。結論から言うと、私が使っていた RS-232C ケーブルは、クロスケーブル(null modem)ではなかったのでした。失敗! 物置をゴソゴソしたところ別のケーブルがでてきて、こちらを使ったところ、無事に BeagleBoard のコンソールに接続できるようになりました。めでたし、めでたし。
今日はこの辺で、おしまいにします。(新しく別の USB-シリアルコンバータを買おうと思ったが、安いものでもないですし、ちゃんと動かなかったりすると嫌なので、とりあえず Windows 2000 PC を使おうと思っています。Linux が立ち上がって Ethernet が繋がれば、ほとんど不要になりますしね。)
Leopard Board って、なにさ
しかし以下の事情で、いまのところ BeagleBoard で行こうと思っています。
- DM355 には、DSP が載っていない!
- BeagleBoard の OMAP3530 のほうが、性能が高いはず。(でも消費電力は同じくらい)
- 最終的には、Ethernet でなく、Wi-Fi AP として動くようにしたい。
- BeagleBoard のほうが、コミュニティが広そう。
2009年9月1日火曜日
省電力なターミナルを繋ぎたい
入力は、必要があればフルキーボードを接続することも可能なので、まずは出力から考えます。一つの方法は、S 端子にポータブルテレビモニタを繋ぐことが考えられますが、あまり低消費電力とは思えません。もう一つは USB 経由で Bluetooth を繋ぎ、SPP (Serial Port Profile) で会話する方法ですが、パソコンを使わないとなると iPhone くらいしか(私には)思いつかず、しかし iPhone OS は SPP をサポートしていないので、これもダメです。
いまのところ唯一の選択肢は、USB 経由で Wi-Fi を繋ぐことでしょうか。Linux 上なら、Wi-Fi をアクセスポイントにするドライバがあるかも知れません。USB に繋がるので、おそらく 500mA の消費電流で対応可能と思われ、これならば電池でも 1~2時間くらいはいけるかも知れません。でも、ちょっとあまり面白くないです。もっとうまい方法はないかな。
補足
Linux で使えて、かつアクセスポイントになりそうな USB Wi-Fi アダプタ見つけました。もちろん、現在も販売されている製品です。(もう少し情報収集が必要ですが。)