New: the AI firewall watches the whole platform and explains each incident in plain words. See how it works

Reply To: Pi 4 BLE gateway: bluetoothctl says no default controller available

“Same SD card as the receipt printer” is the clue. Check /boot/firmware/config.txt (on Bookworm it moved from /boot) for dtoverlay=disable-bt. Our integrator put that in for an RS-485 hat on a line gateway and six months later someone spent a day trying to pair a scanner to the same Pi.

On the Pi 4 the Bluetooth chip hangs off the good UART. disable-bt gives that UART to the GPIO pins and Bluetooth disappears completely, which matches your rfkill output. Comment the line out, then:

sudo systemctl enable --now hciuart
sudo reboot
# after reboot
rfkill list      # should show hci0: Bluetooth
bluetoothctl show

If you need both a hardware UART and Bluetooth on the Pi 4, dtoverlay=miniuart-bt keeps Bluetooth on the mini UART, or use one of the extra UARTs (uart2 to uart5) the Pi 4 has.

Accepted solution♥ 8