WPA-PSK with wlan0
EeePCを8.0-RELEASEに入れ替えた。STABLEにアップデートすべきだが、とりあえず使うのには問題ない状態に出来た。KDE 4.3.1はフォントの問題で特にThunderbirdが悲惨な状態だが、使用できないというほどではない。
EeePC S101は、8.0-RELEASEの問題か分からないが、ブートの最中にハングする時がある。
ata0: <ATA channel 0> on atapci0
の表示のあと、画面がブラックアウトしてハングする場合がある。次にブートに成功した時にfsckが文句を言わないので、ブートの途中でハングしているようだ。一度ブートしてしまうと、使用途中に問題は発生しない。
EeePCのath0は、8.0-CURRENTの途中から利用可能になっている。基本的にはWEPが使えればよいのだが、WPA-PSKを使えるようにした。
/boot/loader.conf
wlan_wep_load="YES" wlan_tkip_load="YES" wlan_ccmp_load="YES" wlan_xauth_load="YES" wlan_acl_load="YES"
を加える。全部必要なのかは分からない。wlan_xauthのみでも良いかもしれない。
まず、/etc/wpa_supplicant.confに次のような内容を書く。
network={ ssid="ssid名" psk="事前に決めたキー" }
毎回ファイル名を指定して起動する場合には、このファイル名でなくても良いようだが、これがデフォルトのようなので使用する。
8.0くらいから、FreeBSDの無線LANはwlanを使うようだ。したがって、ifconfig ath0 up scanのようなことは出来ないと思う。まず、wlan0を作成する。
artemis# ifconfig wlan create wlandev ath0
次にwpa_supplicantを起動する。起動しっ放しにしないとダメなようなので、バックグラウンドで起動させてしまう。
artemis# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
これで、アクセスポイントに接続できるようだ。
その後、DHCPならばdhclient wlan0とすれば良いし、アドレスを指定する場合は、
artemis# ifconfig wlan0 192.168.11.21 netmask 255.255.255.0
とすればよい。後はrouteを設定し、/etc/resolv.confを書き換えてそのネットワークに合わせる。
artemis# route delete default artemis# route add default 192.168.11.1 artemis# cp /etc/resolv.conf.eoffice /etc/resolv.conf
これらをシェルスクリプトにして接続するようにしたら、接続は成功した。
使用を終了する場合には、バックグラウンドのwpa_supplicantをフォアグラウンドに戻し、^Cで終了してから終わらせている。
これが正しい方法なのかは、少し疑問がある。少なくともバックグラウンドでwpa_supplicantを動かしつづけなければならない。wpa_supplicantはログを流し続けるので、ターミナルを1つ占有してしまう。screenで対応すれば問題ないけれど。
長時間接続がないと、アクセスポイントとの接続が切れてしまうようだ。
あと、WPA-PSKとは関係ないが、ath0は時々止まる。
ath0: bb hang detected (0x80), reseting
というログがでる。