Home Assistant OS: How to Cleanly Disable Wi-Fi on Raspberry Pi

If your server has a stable wired connection via Ethernet, running a parallel wireless network offers no benefits. In this guide, I’ll show you how to disable the internal Wi-Fi module on your Raspberry Pi running Home Assistant OS to prevent unnecessary wireless traffic. To do this, you’ll need OS-level SSH access or a keyboard and monitor connected directly to the single-board computer.

What You’ll Need

  • System: Home Assistant OS on a Raspberry Pi (e.g., Raspberry Pi 4 or 5).
  • Connection: A working LAN connection (Ethernet).
  • Access: A keyboard and monitor directly connected to the Raspberry Pi or advanced OS-level SSH access.

Step 1: Hardware Disablement via config.txt

If you want the operating system to completely stop initializing or recognizing the Wi-Fi chip (wlan0), you can disable the module at the OS level via the boot configuration.

Caution: Edit boot files carefully to ensure the system continues to boot properly.
  1. Connect a monitor and keyboard directly to your Raspberry Pi.
  2. At the ha > prompt, enter the command login to switch to the root console (#).
  3. Open the boot configuration in the vi editor:
    vi /mnt/boot/config.txt
  4. Press the i key to enter insert mode, and add the following line under the [all] section:
    dtoverlay=disable-wifi
  5. Exit insert mode by pressing Esc, then save and close the file with :w followed by :q.
  6. Exit the shell with exit and reboot the system:
    reboot

Step 2: Create a NetworkManager Override (Alternative)

Alternatively, if you have OS access, you can configure the system’s NetworkManager to permanently ignore the interface.

To do this, create the file /etc/NetworkManager/conf.d/disable-wifi.conf with the following content:

[device]
wifi.scan-rand-mac-address=no

[keyfile]
unmanaged-devices=interface-name:wlan0

After rebooting the system with reboot, the service will completely ignore the interface.

Did It Work?

Check under Settings > System > Network to see if the Wi-Fi adapter has disappeared or is no longer listed. At the OS level, running the command nmcli device will now show the status of wlan0 as unmanaged or not list the interface at all.

Troubleshooting

  • Wi-Fi remains active despite config.txt: If you placed the dtoverlay=disable-wifi parameter into a model-specific block (such as [cm5]) instead of [all], it might be ignored. Move the entry to the very bottom of the document or under [all].
  • No access to /boot or /etc/NetworkManager via SSH: By default, the standard Terminal add-on runs isolated inside a container. To access OS files, you must either connect a keyboard and monitor directly or use advanced SSH access outside the container.

Your Raspberry Pi will now rely solely on the reliable wired connection, keeping the airwaves clear of unnecessary internal wireless chatter.

Sources: Forum: Home Assistant Community, community.home-assistant.io, home-assistant.io, community.simon42.com

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top