2010/01/17

Aterm WL54GUをUbuntu 9.10で試してみる

近くの家電量販店で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に作っておいて役に立ちました。

drivers/net/wireless/zd1211rw/zd_usb.cファイルの追加部分

{ USB_DEVICE(0x0409, 0x0248), .driver_info = DEVICE_ZD1211B  },

interfacesファイルだけを編集して必要な情報を追加しています。 auto wlan0 行はつけていないので手動でwlan0を起動しています。

/etc/network/interfaces抜粋

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 件のコメント: