created: 2022-10-08T01:08:36.995Z
RaspberryPiで無線LANのSSID/Passを複数設定する
実家にラズパイを持って行ったときにも自動的にwifiをつかんで欲しくて。
設定ファイル
Raspberry Pi Imager を使ってイメージを作った場合だと、/etc/wpa_supplicant/wpa_supplicant.conf
に設定ファイルが置いてある。
cat /etc/wpa_supplicant/wpa_supplicant.conf
中身はこんな感じ。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Buffalo-G-xxxx"
psk=xxxxxxxxxx39a58ea0802a58c9217f52bfd421f3afd8813b4e4860b3ec
}
設定
こういうコマンドで設定する書式が出力される。
$ wpa_passphrase {{ wifiのssid }} {{ wifiの平文パスワード }}
出力
network={
ssid="{{ wifiのssid }}"
# psk="{{ wifiのパスワード }}"
psk="{{ 暗号化されたwifiのパスワード }}"
}
そのまま書き込んでしまう。
$ wpa_passphrase Buffalo-G-xxxx xxxxxxxx \
| sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
priority
を定義はオプショナルなはずだが、設定しないとなぜかうまいこと接続できなかったので設定した。
network={
ssid="Buffalo-G-xxxx"
priority=0
psk=xxxx
}
network={
ssid="Buffalo-G-oooo"
priority=1 # 数値が大きい方が優先される
#psk="..."
psk=oooooooo
}
通常は network ブロックで定義された一番強いシグナルがデフォルトで接続されます、priority= で挙動を変えることができます。
確認
接続しているSSIDを確認。
$ wpa_cli status
$ wpa_cli -i wlan0 status | grep ^ssid
ssid=Buffalo-G-oooo