近くの家電量販店でatherosのSuperGに対応しているUSBスティックの Aterm WL54GUを買ってみましたが、Ubuntu 9.10でもそのままでは見事に動きませんでした。
ただ、まったく使えない感じではなかったのでドライバの中にUSBIDを埋め込み、再ビルドして使えないか確認する事にしました。
引き続き無線LANの親機(AP)はCoregaの CG-WLRGNX(W)ですが、ステルスAP機能は無効にしています。
WL54GUを認識させる
WL54GUのなかを開けてみるとチップはAtheros 2524-AQ1Cで、linuxwireless.orgを調べると zd1211rw ドライバを使うようなのですが、modprobeしても動きません。
カーネルの再構築
手元でgitから取り出したUbuntu 9.10 2.6.31-17-genericをベースにzd1211rw/zd_usb.cを編集しました。WL54GUのUSBID(0409:0248)を追加してビルドした版をalixで試したところ、無事に認識してネットワークに接続しました。systemtap用に gitからカーネルをビルドする環境をvmwareに作っておいて役に立ちました。
{ USB_DEVICE(0x0409, 0x0248), .driver_info = DEVICE_ZD1211B },
interfacesファイルだけを編集して必要な情報を追加しています。 auto wlan0 行はつけていないので手動でwlan0を起動しています。
iface wlan0 inet static
address 192.168.1.4
netmask 255.255.255.0
gateway 192.168.1.1
wpa-driver wext
wpa-ssid xxxxxxxxxxxx
wpa-ap-scan 1
wpa-proto WPA
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-key-mgmt WPA-PSK
wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ sudo ifup wlan0
いずれにしてもWL54GUはAPモードが動かないのは残念なところです。
zd1211rwドライバへのUSB IDの追加方法
linuxwireless.orgの中に、新しいzd1211rwデバイスの追加手順が書かれていました。 → Adding new device IDs to zd1211rw
new_idファイルを経由する方法は興味深いのですが、今回は飛ばして全体として問題がないか流れを確認しました。 どうも安定していそうなので、USBIDをMLにポストして終りにしようと思います。
2010/01/18追記: zd1211-devに投稿したら、速攻でパッチがメンテナに流れていました。 こういうスピード感がつくづくすごいなと思います。
実験中に無線LANのAPと通信ができなかった理由
ひどい事にCoregaな親機にMACアドレスフィルタを10個追加したら、WL54GUが接続できなくなりました…。
原因にはまるで気がつきませんでしたが、WL54GUのマニュアルには「上限までMACアドレスを登録しない」という注意書きがあって解決しました。 まさかこんな事がおこるとは思いませんでしたが、余計なMACアドレスを削除してからWL54GUの動きに問題がないか確認するはめになりました。
この記事で取り上げた品々
0 件のコメント:
コメントを投稿