ラズパイwifi設定
ラズパイをヘッドレス運用でwifiを使いたい。wpa_supplicantを使って設定する方法のメモ。
設定ファイルはネットの情報を参考にしたらハマったので本家のREADMEを参考にした。
http://w1.fi/cgit/hostap/plain/wpa_supplicant/README
# vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=US network={ ssid="xxxxxxxx" scan_ssid=1 key_mgmt=WPA-PSK psk="xxxxxxxx" }
取り敢えず接続してみる。エラーがたくさん出たがなんだかんだつながった!?
# wpa_supplicant -Dwext -iwlan0 -c wpa_supplicant.conf Successfully initialized wpa_supplicant ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWSCAN]: Device or resource busy wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1 ioctl[SIOCSIWSCAN]: Device or resource busy wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1 ioctl[SIOCSIWSCAN]: Device or resource busy wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1 wlan0: Trying to associate with 10:6f:3f:87:fd:a1 (SSID='xxxxxxx' freq=5200 MHz) Failed to add supported operating classes IE wlan0: Associated with 10:6f:3f:87:fd:a1 wlan0: WPA: Key negotiation completed with 10:6f:3f:87:fd:a1 [PTK=CCMP GTK=TKIP] wlan0: CTRL-EVENT-CONNECTED - Connection to 10:6f:3f:87:fd:a1 completed [id=0 id_str=] # # iwconfig wlan0 IEEE 802.11 ESSID:"KADYNET" Mode:Managed Frequency:5.2 GHz Access Point: 10:6F:3F:87:FD:A1 Bit Rate=135 Mb/s Tx-Power=31 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=70/70 Signal level=-30 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 eth0 no wireless extensions. lo no wireless extensions.
ラズパイではdhcpクライアントが動いていて、Wifiも接続できたら勝手にipアドレスが取得できていた。
あとはサービスでリブート後も毎回自動でwifiでipアドレスを取得するようにする。
# cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system # # vi /etc [Unit] Description=WPA supplicant Before=network.target After=dbus.service Wants=network.target [Service] Type=dbus BusName=fi.w1.wpa_supplicant1 #ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant # 元々の行をコメントアウトして、いま編集した設定ファイルとwlan0で動作するように書き直す。 ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 [Install] WantedBy=multi-user.target #Alias=dbus-fi.w1.wpa_supplicant1.service # このエイリアスはコメントアウト
不思議なのはsystemctlコマンドを発行せずともactiveかつenable状態になっていたので特に何もせずリブート後、無事にwlan0でipアドレス取得出来ているのを確認して終了。