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.
- Connect a monitor and keyboard directly to your Raspberry Pi.
- At the
ha >prompt, enter the commandloginto switch to the root console (#). - Open the boot configuration in the vi editor:
vi /mnt/boot/config.txt - Press the
ikey to enter insert mode, and add the following line under the[all]section:dtoverlay=disable-wifi - Exit insert mode by pressing
Esc, then save and close the file with:wfollowed by:q. - Exit the shell with
exitand 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:wlan0After 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-wifiparameter 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
