How to confirm bluetooth is working on RPi0W

Firstly, my reason for this forum post is that I’m hoping there’s some miraculous way to get bluetooth going on my RPi0W.

To clarify, I’ve followed the instructions here and still Bluetooth Manager says on start up that the Bluez daemon is not running.

I’ve also followed various forum posts on forums.raspberrypi.com. For e.g. running sudo bluetoothctl just sits there doing nothing. Also:

pi@gate:~ $ sudo hciconfig scan
Can’t get device info: No such device

I think bluetooth is dead on my RPi but maybe I’m missing something?

1 Like

Also just FTR I’ve never successfully had bluetooth running on this RPi.

2 Likes

Hi Tim,

I’m not sure what could be wrong here so it may be a hardware failure but there are a few quick things worth checking before declaring the bluetooth dead.
Thanks for confirming you have run:

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

This guide I have found includes steps to confirm the Bluez service is actually installed and commands to check the status.

What bluetooth device are you trying to connect to your Pi, can you double-check it works with another device so we can isolate the problem to the Pi Zero?

You could check your locale setting is set to Australia, I know this affects your wifi frequencies and may not have an impact on bluetooth, but it doesn’t hurt to check.

2 Likes

Hi @Trent5487676,

Thanks for your reply. I have actually gone through the guide you linked to already and unfortunately it didn’t help. Changing the locale setting also didn’t change anything. Also, I haven’t even gotten to the stage of trying to pair a bluetooth device as bluetooth doesn’t work at all on my RPi. I guess the sad reality that bluetooth is dead on my RPi is starting to sink in :crying_cat_face:

2 Likes

As a further update. I just ran dmesg on my RPi, and the last message that appears is as follows:

[ 210.473618] Bluetooth: Core ver 2.22
[ 210.473858] NET: Registered protocol family 31
[ 210.473876] Bluetooth: HCI device and connection manager initialized
[ 210.483612] Bluetooth: HCI socket layer initialized
[ 210.483651] Bluetooth: L2CAP socket layer initialized
[ 210.483726] Bluetooth: SCO socket layer initialized

I don’t remember a message like this appearing in the past when running dmesg (or maybe I just missed it?).

2 Likes

Hi Tim,

Does your WiFi work? WiFi and Bluetooth are both provided by the same IC so if it’s a hardware issue it’s likely they’ll both be out.

Here are some other forum topics from the past that also might be useful:

3 Likes

Hi @Oliver,

Yes, wifi does work fine. Thanks for the forum posts. I’ll have a look and report back.

4 Likes

Hi @Oliver,

I had a quick look through the forum posts but as they specifically apply to wifi, didn’t see anything that really applied to my case. No obvious signs of damage on the chip either.

4 Likes

Wow!! I got it working by following the steps here!! :joy_cat: Specifically:

modprobe btusb
sudo systemctl restart bluetooth

4 Likes

Actually spoke too early. I got the bluetooth daemon running but it’s still not showing any bluetooth devices available on the RPi itself.

pi@gate:~ $ sudo bluetoothctl
Agent registered
[bluetooth]# scan on
No default controller available

2 Likes

Hi Tim,

I was just about to celebrate with you, still you are one step closer to knowing for sure if it is a hardware fault or a software issue.
In any case, thanks for linking to resources that helped so you may save a headache for someone else in the future.
Were you able to test the bluetooth device you want to pair to the Pi with another piece of hardware just to confirm it isn’t two isolated problems and this is still definitely an issue localised to the Pi Zero?

4 Likes

Ok, now I’m embarrassed but glad to have finally resolved my issue. For future reference in my /boot/config.txt I had the following:

[all]
enable_uart=1
dtoverlay=pi3-miniuart-bt
dtoverlay=pi3-disable-bt

And I changed it to be:

[all]
enable_uart=1
#dtoverlay=pi3-miniuart-bt
#dtoverlay=pi3-disable-bt

5 Likes

Hahaha, that’s classic! We’ve all been there.

Myself and a team of undergraduate engineering students once spent 14 hours straight trying to troubleshoot the engine in our little race car not starting - the night before a track day.

Turned out the camshaft sensor we were using was wired backwards to all the others, so the sync pulse was falling edge instead of rising edge!

The thing that really got us off track was that every so often the ECU was happy to consider it synced and would fire a couple of sparks.

It’s always the last thing you check!

Thanks for not leaving us hanging on the solution :slight_smile:

4 Likes

@Oliver33 - you’re not going to believe it. After upgrading to Bullseye bluetooth has stopped working again :crying_cat_face: Unbelievable! And my fix above no longer works. I did find some info online indicating that others have been having similar issues but have tried all these and still can’t fix it.

4 Likes

Hey Tim,

Sorry to hear about that, Bullseye is known to have some teething issues as the latest release of the Raspberry Pi OS. Are you still running sudo bluetoothctl in order to check whether there are any controllers attached to your Pi within Bullseye?

Just curious to see whether there are any other diagnostic tools we may be able to use here in order to determine what’s going on with it for you (and anyone else reading this in future :sweat_smile:).

2 Likes

I ended up writing a fresh image of the Raspberry Pi OS (bullseye version) and now bluetooth works fine again.

2 Likes