仕事でラズパイを使用する人も多いが、WiFi機能を不要だと思う人も一定数いるようなので、WiFiを無効化する方法のメモ
通常起動時は wpa_supplicant が2つ起動している
pi@raspberrypi:~ $ ps ax | grep wpa 366 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant 453 ? Ss 0:00 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext 922 pts/0 S+ 0:00 grep --color=auto wpa
最初に起動している wpa_supplicant は /lib/systemd/system/wpa_supplicant.service が動作している
pi@raspberrypi:~ $ sudo systemctl list-unit-files --type=service : wpa_supplicant-nl80211@.service disabled wpa_supplicant-wired@.service disabled wpa_supplicant.service enabled wpa_supplicant@.service disabled :
サービスを止める
pi@raspberrypi:~ $ sudo systemctl stop wpa_supplicant pi@raspberrypi:~ $ sudo systemctl disable wpa_supplicant Removed /etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service. Removed /etc/systemd/system/multi-user.target.wants/wpa_supplicant.service.
dhcpcd が wpa_supplicant と紐づいている
/etc/dhcpcd.conf に下記を記載することでサービス起動を抑止する
参考:How to start/stop wpa_supplicant on default raspbian?
wpa_supplicant の停止
pi@raspberrypi:~ $ wpa_cli terminate Selected interface 'p2p-dev-wlan0' OK
dhcpcd の一時停止
pi@raspberrypi:~ $ sudo systemctl stop dhcpcd
/etc/dhcpcd.conf の修正
pi@raspberrypi:~ $ nano /etc/dhcpcd.conf denyinterfaces wlan0 nohook wpa_supplicant
dhcpcd の再起動
pi@raspberrypi:~ $ sudo systemctl start dhcpcd
起動時のデバイス検出を抑止する。
これは、ちょっと本質的ではない気がする。
参考:How to disable the Pi3's WLAN & Bluetooth ?
$ sudo nano /etc/modprobe.d/raspi-blacklist.conf #wifi blacklist brcmfmac blacklist brcmutil #bt blacklist btbcm blacklist hci_uart
Device Tree Block の設定を変更して電気的に無効にする。
上記に記載されているもう一つの方法。
詳細はREADMEを参照
$ nano /boot/overlays/README
Name: disable-bt Info: Disable onboard Bluetooth on Pi 3B, 3B+, 3A+, 4B and Zero W, restoring UART0/ttyAMA0 over GPIOs 14 & 15. N.B. To disable the systemd service that initialises the modem so it doesn't use the UART, use 'sudo systemctl disable hciuart'. Load: dtoverlay=disable-bt Params: <None> Name: disable-wifi Info: Disable onboard WiFi on Pi 3B, 3B+, 3A+, 4B and Zero W. Load: dtoverlay=disable-wifi Params: <None>
config.txt に下記の2行を追加する
$ sudo nano /boot/config.txt dtoverlay=disable-bt dtoverlay=disable-wifi
※Raspberry PiはRaspberry Pi財団の登録商標です。