従来、Raspberry PiでのWifi設定を行う際に、Raspberry Pi OSが入ったSDカードをマウントし、
wpa_supplicant.confという名前のファイルを作成することで
次回の起動時に/etc/wpa_supplicant/wpa_supplicant.confを上書きしてくれることで
Wifi設定を変更できるという仕様がありました。
こんな方法です
しかしながら、RaspberryPi OS Bookwormから、この方法でWifi情報を変更することができなくなりました
wpa_supplicant.confを上書きしてくれない
SDカードのルートに、wpa_supplicant.confを作成して、ラズパイを再起動しても、/etc/wpa_supplicant/wpa_supplicant.confは上書きされず、ファイルを確認しても
下記のような記載しかありません
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
また、従来はSDカードに作成されたwpa_supplicant.confは、再起動後に上書きが実行されると削除されていましたが、bookwormでは削除されません。
Wifi情報がwpa_supplicant.confで管理されなくなっている
上記に書いた通り、Wifiの設定がなされていても、/etc/wpa_supplicant/wpa_supplicant.conf2はその情報が書かれていません
bookwormでは、NetworkManagerでネットワーク情報を管理しているようで
/etc/NetworkManager/system-connections
の中にある
preconfigured.nmconnection
というファイルに記載されています
[connection]
id=preconfigured
uuid=hogehoge
type=wifi
[wifi]
mode=infrastructure
ssid=your-ssid
hidden=false
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
[wifi-security]
key-mgmt=wpa-psk
psk=your_password
ということで、便利だったwpa_supplicant.confを作成する方法が使えなくなりました
代替方法は?
初回のWifi設定は、Pi Imagerを使ってSDカードにOSを書き込む際に
Wifi設定を書き込むことができるようになっているので、初回の設定は困らないかと思います
途中でWifiを変えたい、展示会等に持って行く時だけWifiを変えたい、というときは
既に存在する
/etc/NetworkManager/system-connections/preconfigured.nmconnection
を修正して、他のネットワーク情報を書き換えてあげることで、別のネットワークに繋がることが確認できました
また、/etc/NetworkManager/system-connections/
にファイルを追加してあげれば、他のWifiに繋げることも確認しています
例えば
[connection]
id=preconfigured
uuid=hogehoge2
type=wifi
[wifi]
mode=infrastructure
ssid=another-ssid
hidden=false
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
[wifi-security]
key-mgmt=wpa-psk
psk=another_password
というファイルを追加してあげると、
そのWifiしかない場合に、そのWifiに繋がることを確認できました
しかしながら・・
SDカードにファイルを作るという便利な方法は使えなくなってしまいました。
展示会などで別のネットワークを使いたい時に便利だったのですが、仕方ありません。
画面レスでラズパイを最初からssh接続したいという用途においては、Pi Imagerで十分できると思いますので
あまり需要はないのかもしれませんが
備考
wpa_cliを用いたWifi設定方法があるみたいなのですが
私はsave_configでFAILが出てしまって使うことができませんでした。