OpenWiFi 起動からスマホ接続までの手順
はじめに
OpenWiFiを使って、SDRベースのWiFiアクセスポイントを立ち上げる手順をまとめてみました。
環境
- ボード:Zynq系(例:ZedBoard + FMCOMMS)
- イメージ:openwifi-1.5.0
- 接続:シリアル(TeraTerm)+スマホ
全体の流れ
電源ON
↓
Linux起動
↓
ドライバ起動(wgd.sh)
↓
WiFi起動(hostapd)
↓
IP配布(DHCP)
↓
スマホ接続
① 起動後ログイン
root
② openwifiディレクトリへ
cd ~/openwifi
③ ドライバ&FPGA起動
./wgd.sh
④ WiFi起動(重要)
killall hostapd
hostapd hostapd-openwifi.conf &
⑤ DHCP起動(IP配布)
dhcpd -4 -cf /etc/dhcp/dhcpd.conf sdr0 &
⑥ 動作確認
iw dev
例:
Interface sdr0
type AP
ssid openwifi
channel 1 (2412 MHz)
⑦ スマホ接続
- WiFi一覧から「openwifi」を選択
- 接続できればOK
⑧ 接続確認(RSSI取得)
iw dev sdr0 station dump
よくあるハマりポイント
❶ スマホにWiFiが出ない
原因:
channel 36(5GHz)
対策:
nano ~/openwifi/hostapd-openwifi.conf
変更:
channel=32を以下に変更
hw_mode=g
channel=1
❷ 接続できない(IPがもらえない)
原因:
- DHCPが動いていない
- 設定ファイルエラー
対策:
dhcpd -4 -cf /etc/dhcp/dhcpd.conf sdr0
❸ dhcpd.conf エラー
例:
semicolon expected
修正例:
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.13.0 netmask 255.255.255.0 {
range 192.168.13.10 192.168.13.50;
option routers 192.168.13.1;
option domain-name-servers 8.8.8.8;
}
❹ ドライバエラー
Invalid module format
原因:
- カーネルとドライバ不一致
対策:
- SDカードをクリーン書き込み
- 余計なファイルをコピーしない
重要ポイントまとめ
- BOOTファイルは触らない
- まずは2.4GHzで動かす
- DHCPは手動起動が確実
- sdr0が見えれば成功
まとめ
-
OpenWiFiは「ドライバ・WiFi・DHCP」の3点で構成される
-
接続できない原因のほとんどは
- 周波数(5GHz問題)
- DHCP設定
-
sdr0が出ていれば半分成功
以上です。