This post shows steps to 1) disable on-board Bluetooth and 2) disable Bluetooth completely. I tested the steps with Raspbian Stretch (November 2017 version).
Update (Jul 9, 2019): Tested with Raspbian Buster 2019-07-10.
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.
1. Open /boot/config.txt file.
sudo nano /boot/config.txt
2. Add below, save and close the file.
# Disable Bluetooth dtoverlay=pi3-disable-bt
3. Disable related services.
sudo systemctl disable hciuart.service sudo systemctl disable bluealsa.service sudo systemctl disable bluetooth.service
4. Reboot to apply the changes
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.
1. Uninstall BlueZ and related packages.
sudo apt-get purge bluez -y sudo apt-get autoremove -y
Uninstalling Bluetooth stack also disabling related services, and loading related kernel modules.
nice!
thank you!
nice hint!
Works with Rasberry 3B , 23 of Dec. 2020. Thanks!