RaLink RT2860 on CentOS 5.6 その2

とりあえず無線で接続できたので、念のため再起動してみたら無線APに接続出来ていない。
ログインして wpa_supplicant を起動し、 ifup ra0 すれば問題なく接続できるので rcスクリプトの起動順を見たら

S10network
S12wpa_supplicant

と wpa_supplicant が network よりも後になっている。
どうもこの辺りの起動の順番の影響かなと調べてみたら CetOS の wiki に参考になる情報が書かれていた。

Enabling wpa_supplicant without NetworkManager

記事そのものは NetworkManager というツールを使わずに boot 時に無線LANを接続する方法が書かれていて、そのなかで rcスクリプトの起動順の問題も書かれている。

で具体的な修正は

  1. wpa_supplicant を off

>/sbin/chkconfig wpa_supplicant off

  1. ifcfg-ra0 の修正

# RaLink RT2860
DEVICE=ra0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
WPA=yes

起動時にON にするのをやめ、TYPE= と WPA= を追加

  1. /etc/sysconfig/network-scripts/ifup-wireless の末尾に以下のスクリプトを追加

if [ "$WPA" = "yes" -a -x /etc/init.d/wpa_supplicant ]; then
/sbin/service wpa_supplicant start
fi

  1. rc.local に以下を追加

/sbin/ifup ra0


以上で起動時に自動的に無線APに接続できるようになる。