2012年9月27日木曜日

Raspberry pi (Raspbian “wheezy”) で無線LANはつかえるか

Raspberry pi (Raspbian “wheezy”) にUSB接続タイプの無線LANアダプタを挿してみました。
カーネルヘッダの準備はできているので、
理論上ドライバはなんとかなるはずです。

手元にあるbuffaloのWLI-U2-KG54とpciのGW-US54Mini2のチップは
偶然にも同じrt2x00系なので、
Rt2x00Wiki からドライバが取ってこれます。
ただし、ここに書いてあるとおり
# apt-get install git-core
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git rt2x00
でソースを取ってこようとしても
Cloning into rt2x00...
fatal: The remote end hung up unexpectedly
なるエラーが出てうまくいきません。

そこでLegacy版を使うことにしました。
$ su -
# cd /usr/local
# chmod 777 src
# exit
$ cd /usr/local/src
$ wget http://sourceforge.nUS54Mini2et/projects/rt2400/files/latest/download/release/rt73-legacy-final-cvs/rt73-cvs-daily.tar.gz
$ tar zxf rt73-cvs-daily.tar.gz
$ cd ./rt73-cvs-2009041204/Module
$ make arm
$ su -
# make install
を実行すればうまくいくと思ったのですが、"make arm"実行時に
make[1]: Entering directory `/usr/src/linux'
  Building modules, stage 2.
  MODPOST 0 modules
make[1]: Leaving directory `/usr/src/linux'
rt73.ko failed to build!
make: *** [arm] Error 1
なるエラーが出てこちらもだめです。

で、何の気なしに
# zcat /proc/config.gz > .config
で展開したコンフィグレーションファイルを見ると
それっぽいドライバがモジュールとして生成されているっぽいではないですか。
実際、"/lib/modules/3.2.27+/kernel/drivers/net/wireless/rt2x00/"ディレクトリには
"rt*.ko"ないかにもなカーネルモジュールがいくつもあります。
あー、最初から見ておけばよかった。

そこで無線LANアダプタを挿して
# modprobe rt2x00usb
を実行すると見事"wlan0"インターフェイス(状況により"wlan1"とかかも)が現れます。
# iwlist wlan0 scan
で周辺のアクセスポイントを探してきてくれますし、
# iwconfig wlan0 essid <SSID>
で特定のアクセスポイント(WEPなし)に接続し、
# dhclient wlan0
でIPアドレスを取得して通信可能になります。
私の場合"/etc/network/interfaces"に
auto wlan0
iface wlan0 inet static
wireless-essid <SSID>
address <IPアドレス>
netmask <サブネットマスク>
gateway <ルータのアドレス>
を追加して起動時から固定IPアドレスで運用するようにしています。

0 件のコメント:

コメントを投稿