wpa_supplicant
wifiクライアントですが、アクセスポイントとしても利用できます。
hostapdは入れなくていい気がします。
Buildroot
Target packages --->
Networking applications --->
[*] wpa_supplicant
[*] Enable nl80211 support
[*] Enable AP mode
Enable AP mode をチェックしてビルドすればアクセスポイントとしても利用できます。
/etc/wpa_supplicant.conf (クライアントモード)
country=JP
network={
ssid="接続先SSID"
psk="passphrase"
}
パスフレーズはテキストで書く場合はダブルクォートで囲む。
/etc/wpa_supplicant.conf (APモード)
country=JP
network={
mode=2
ssid="OPI-R1"
key_mgmt=WPA-PSK
psk="passphrase"
}
mode=2 でAPモードになります。
起動
# wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf
-Bでバックグラウンド動作します。
iとcはスペース空けても多分平気。
起動スクリプトはBuildrootでインストールされません。
/etc/network/interfacesのpost-upとかで起動すればいいと思います。
auto wlan0
iface wlan0 inet static
address 192.168.3.1
netmask 255.255.255.0
post-up start-stop-daemon -S -x wpa_supplicant -- -B -iwlan0 -c/etc/wpa_supplicant.conf
pre-down start-stop-daemon -K -q -x wpa_supplicant
/dev/random の問題が生じる場合は
haveged をインストールすれば改善します。
APモードで利用していると接続しているスマホで稀に通信に失敗する場合があるようでした。
network={
mode=2
ssid="OPI-R1"
key_mgmt=NONE
wep_key0="passphrase"
}
認証方式をWEPにしたら改善しました。
ただし、WEPは暗号の強度が弱いようなので考慮が必要です。
network={
mode=2
ssid="OPI-R1"
key_mgmt=WPA-PSK
pairwise=TKIP
psk="passphrase"
}
WPA-PSKでpairwiseをTKIP指定(CCMPを無効)にしても改善したようです。