一年半前に http://d.hatena.ne.jp/komamitsu/20080828/1219911697 で動かしてみた無線LANアダプタのGW-US54GXSを、現実逃避的にまた動かしてみようと思ったら結構大変だったのでメモ.

komamitsu@potato:/etc/init.d$ uname -a
Linux potato 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 01:26:53 UTC 2010 i686 GNU/Linux

まず、前回書き換えたカーネルモジュールのコードが大幅にリファクタリングされていたので一はまり. https://forums.ubuntulinux.jp/viewtopic.php?id=6714 で新しいコードに対するパッチが載っていたので手パッチ. 多謝.

あと、前回は

$ pwd
/usr/src/linux
$ make drivers/net/wireless/zd1211rw/zd1211rw.ko

としていたのだけど、今回は "zd1211rw: no symbol version for module_layout" と怒られてしまうので前述のリンク先の手順に則って進めるほうが吉.


で、とりあえずここまででデバイスwlan0が認識されるようになったのだけど、今回はいい大人だしWEPではなくWPA-PSK(AES)にしようと試みた.


WPAだとiwconfigでは如何ともしがたいことに気がついたのは、結構な時間を喰ってしまってからであった… まぁ、NetworkManager & nm-applet & GNOMEGUIネットワーク設定 の組み合わせで動くことは動くのだけど、どうも仕組みが分かりにくいので、wpa_supplicantを使うことに.

# wpa_passphrase ESSID_NAME CRYPTED_PASSWORD > /etc/wpa_supplicant.conf
# wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0 -Dwext

としてフォアグラウンドで動かしつつ、別端末で動作確認

$ iwconfig wlan0
wlan0     IEEE 802.11bg  ESSID:"ESSID_NAME"
          Mode:Managed  Frequency:2.442 GHz  Access Point: 00:11:88:33:AA:99
          Bit Rate=1 Mb/s   Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=41/100  Signal level=41/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

pingやdhclientなどで気になる動作をチェック.


大体、程よく動作するのを確認したら、次回から自動的に有効になるよう/etc/network/interfacesに

auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

と書いておく.