
This post shows steps to “1. Disabling on-board Bluetooth” and “2. Disable Bluetooth completely”.
Disabling on-board Bluetooth
The steps below shows how to disable on-board Bluetooth and related services. Those steps also disable loading the related kernel modules such as bluetooth, hci_uart, btbcm, etc at boot.
Open /boot/config.txt file
1 | sudo vi /boot/config.txt |
Looking in /boot/overlays/README from the September 2019 release of Raspbian Buster I can now see disable-bt and disable-wifi documented
Add below, save and close the file
1 | # Disable Bluetooth |
Info: Disable onboard Bluetooth on Pi 3B, 3B+, 3A+, 4B and Zero W, restoring UART0/ttyAMA0 over GPIOs 14 (pin 8) & 15 (pin10). N.B. To disable the systemd service that initialises the modem so it doesn’t use the UART, use ‘sudo systemctl disable hciuart’.
Disable related services
1 | sudo systemctl disable hciuart.service |
Reboot to apply the changes
1 | sudo reboot |
Even after disabling on-board Bluetooth and related services, Bluetooth will be available when a Bluetooth adapter (e.g. Plugable Bluetooth Adapter) is plugged in.
Disable Bluetooth completely
If Bluetooth is not required at all, uninstall Bluetooth stack. It makes Bluetooth unavailable even if external Bluetooth adapter is plugged in.
Uninstall BlueZ and related packages
1 | sudo apt-get purge bluez -y |
