Linux で 無線 LAN を使う. ここでは ipw2200 の最新版を使う *1. hardware, kernel, 使う driver によって動作したりしなかったり(ホント?)なので, ここでは成功例の一つ, とでも考えて頂ければ幸いである.
必要となるのは以下の三つ*2.
Debian(sarge) の場合, ieee80211-source と ipw2200-source があるので module-assistant あたりで組み込んでやると良いのかもしれない. また, 佐々木が平成18年2月6日(月)現在使っている kernel(2.6.14.2) にも ipw2200 の source が組み込まれているので, それを使う, という手もある. ただし, kernel に software suspend2 の patch を適用していると module の source に少々修正が必要(build が通らない).
手順は簡単で,
以上で ieee80211 及び ipw2200 が使える, ハズ.
Debian では iwconfig, iwlist 等の設定 tool が wireless-tools としてパッケージングされている. よってそれを導入しておくと良い.
# apt-get install wireless-tools
あとは /etc/network/interfaces に適宜設定をする. WPA-PSK を使う場合は続きを参照の事.
wpasupplicant が必要.
が参考になる.
# apt-get install wpasupplicant # update-rc.d -f wpasupplicant remove # wpa_passphrase your_SSID your_passphrase > /etc/wpa_supplicant.conf
続いて /etc/default/wpasupplicant を修正する.
ENABLED=1 OPTIONS="-w -D wext -i wlan0 -c /etc/wpa_supplicant.conf"
嵌ったのはドライバの指定である. 最初は ipw2200 だから -D ipw としていたが, kernel 2.6.14 では Wireless Extension を使うらしい. という訳で -D wext が正解*3.
あとは /etc/network/interfaces あたりに
iface work-wlan inet dhcp
なんて書いておいて
# /etc/init.d/wpasupplicant start # ifup wlan0=work-wlan
で. 繋がる, ハズ(佐々木は繋がってる).
通信速度に不満は無いし, 遮蔽の影響もそれ程無いのだが, 偶に繋がらなくなる. なんだろう. そんなモンなのかな. あと, ipw2200 は使ってない時も kernel に激しく割り込みをかけている模様(ps aux & top で確認). 使わない時は
# modprobe -r ipw2200
としておくのが吉.
*1別に最新版である必要は無いのだが
*2佐々木が現在使えてる組み合わせは,ieee80211-1.1.6 +ipw2200-1.0.8 + ipw2200-fw-2.4 の組み合わせ
*3確認していないが, driver ではなく kernel 依存?