Bluetooth issues with 8BitDo SN30pro on Rasp Pi 4 with Retropie

So in the comment above, I had setup 2 x 8bitdo Pro2 controllers on an RPi4 (8G) using a fresh Retropie image on SD card.

I tried moving the Retropie SD card to a NESPI4 case (with RPi4+4GB) and of course, the BT pairing stopped working (since the BT module on this RPi will have its own MAC).

So reformatted the SDcard and put on a fresh install of RetroPie and then kicked off the setup process again, now with the NESPI4 case. Retropie-Setup can discover the 8bitdo controllers, but won’t register them with the DisplayYesNo security option (it just hangs at this point). I rebooted the Pi and also tried with the next option down.

I will reflash the SDcard again with Retropie and try this process again.

1 Like

I just found this

1 Like

Hi guys,

This seems like a real point of pain (8bitdo and retropi), has anyone tried using an external Bluetooth adapter on a USB extension cable to try and rule out interfence?

This seems a lot harder than it should be and I’m keen to see this resolved!
-James

I don’t have an external BT dongle to test with at the moment.

I have read that the NESPI4 case does have interference issues, especially if the SSD is connected via USB3.0. I’ve had separate issues with the stability of Retropie with SSD, so am not using it at the moment.

Other threads such as what @Richard154847 posted above suggest taking the NESPI4 top off and also trying to shield the problematic cables used. I’ve done both of these hacks and while controllers are still discovered, when selecting the security option DisplayYesNo the system hangs at this point.

btw, this is again an absolutely fresh copy of Retropie 4.7.1 installed.

The only thing I haven’t tried yet is swapping my two RPi’s.

  • RPi4 (8GB) in an Argon NEO (essentially nude) - controllers are discovered and can pair
  • RPi4 (4GB) in NESPI4 case - controller are discovered, but cannot pair

When I get some time, I’ll try swapping the RPi’s around to see if the problem follows the CPU or the case

1 Like

Hmm, you guys could be onto something :thinking:

I have USB 3.0 external harddrive that messes with my Bluetooth headphones and 2.4GHz wireless keyboard/mouse when its active.

@Oliver Did you have it in a case when testing?

Did you remember to connect your shielding to the Power ground at one end? This will make a big difference over just wrapping the cables in foil.

Hi, no grounding, I’ve actually just wrapped with tinfoil in some vain hope of something working.
Retropie can actually see a heap of BT devices including the controllers, but for whatever reason then hangs when actually trying to pair.

1 Like

OK, this is concerning. As previously mentioned I have two RPi4’s:

  • RPi4 (8GB) in Argon NEO case (essentially nude) - controllers are discovered and can pair
  • RPi4 (4GB) in NESPI4 case - controller are discovered, but cannot pair

Another fresh install of Retropie onto SDcard. I removed the RPi4/4GB out of the NESPI4 case so that the Pi was completely nude. SDcard in, powered up, and then run through the Bluetooth setup. Same result… Pi can discover the controllers, but can’t pair to either.

I took the SDcard out and put it into the RPi4/8GB, do the same thing and can discover and PAIR with both controllers.

Looking like it might be defective BT between the two RPi boards?

RPi4+8GB hardware details (BT working):

Hardware        : BCM2711
Revision        : d03114
Serial          : xxx
Model           : Raspberry Pi 4 Model B Rev 1.4

RPi4+4GB hardware details (BT not pairing):

Hardware        : BCM2711
Revision        : c03114
Serial          : xxx
Model           : Raspberry Pi 4 Model B Rev 1.4

Revision c03114 is the one not pairing.

1 Like

And as a final test, I have put the working RPi4+8GB (hw rev d03114) into the NESPi4 case and I can still BT pair with both controllers. I’ve not yet installed a SSD to see how bad USB3.0 interference is, but the fact is at this stage I can still pair both controllers whereas I couldn’t with the other RPi board (in case or nude).

So maybe a quality control issue? :confused:

1 Like

I’ve got a Pi 4 2GB model and believe I’m having the same problem as you. The hardware on board is an even older revision:

Hardware        : BCM2711
Revision        : b03114
Serial          : xxx
Model           : Raspberry Pi 4 Model B Rev 1.4

I’m starting to suspect that the hardware is bugged or the drivers incompatible. I’ve tried a lot in my own topic at Pi 4 Bluetooth not working, Sap driver failed , although granted it’s in Raspberry Pi OS and not Retropie. If it truly is a bug, should we file it more directly towards the Raspberry Pi devs?
Edit: Here’s a post on the Raspberry Pi forums: RPi4 Bluetooth woes - Raspberry Pi Forums
This is a known issue and they have a fix deployed, however it wasn’t added to the apt for some reason. This is for the 8GB model, however.

1 Like

In brief, this is a known issue the Raspberry Pi devs are working on. The fix is out and it works but it just isn’t in the update system yet. If you need it working right now follow the instructions in RPi4 Bluetooth woes - Raspberry Pi Forums

wget https://raw.githubusercontent.com/RPi-Distro/pi-bluetooth/master/usr/bin/bthelper
sudo cp bthelper /usr/bin

Keep in mind this will replace the bthelper application with your own static copy, it will not receive updates again until you undo this.

2 Likes

Nice find Ryan! Looking at the commit history it looks like the changes PhilE is referring to were made way back in 2019!

image

1 Like

Woah, that post I linked was made yesterday so I just kinda assumed it was a recent thing. Either way I’m just glad this has a clear solution.

1 Like

I purchased a Ultimate Retro Game Console With SN30 Pro+ controllers back in March and had a heap of problems with connecting the controllers up via Bluetooth. It was extremely frustrating and I just didn’t have the time to follow it up in the forum until now. I think I have the same issue that @Clayton149871 has noted above. I cannot connect either controller via Bluetooth - they only work wired.

If I start from no paired nor connected devices:
image

Paired to find a controller:
image

Chose the ‘DisplayYesNo’ security mode but then get the following error:
image

Same happens with other controller. Both still appear on list of paired devices:
image

However, when I press start, they don’t actually connect. The lights just keep flashing on them. ‘Connect now to all paired devices’ also does nothing. Confirming I have bluetooth connect mode set to background and 8Bitdo mapping hack set to OFF. I have also set up udev rules for each controller in case this is relevant.
image

This is very frustrating so would appreciate some direction on this. Some other items of interest:

  • When I first got the kit, I connected the first controller and played some games via Bluetooth successfully. The trouble started when I went to add the second controller later. When I couldn’t get it working, I removed the first controller and tried to start again but couldn’t get the first controller to connect again. @Clayton149871 - you chose correctly when you originally decided not to remove your first controller!
  • I have tried connecting the controller using the different modes (i.e. depending on what button you hold down with Start). I have noticed that the name of the device sometimes differs between then (e.g. “Pro Controller” vs “8BitDo SN30 Pro+”) but no joy in any mode that I could find.
  • I have just upgraded Retropie (v4.7.15 of Retropie Setup) but no improvement either.
  • I have not tried re-formatting my SD card and starting afresh but perhaps this is my next step.

I don’t know for sure but it seems like removing a paired device doesn’t full clear it. There is some hangover config still in place that perhaps blocks it from connecting. This might explain why a fresh start might work.

Would appreciate some advice as this is really not the experience I was hoping for. I don’t mind dabbling a little but wasn’t expecting to have this much of a problem with something as common as Bluetooth.

2 Likes

Hi Grant, it comes down to your RPi board revision. I’m using my BT controllers on RPi with rev d03114 and all has been good and stable.

I have not tried upgrading the firmware on my other RPi - see @Ryan129278 comments.

btw, I’m pairing in the “S” mode.

3 Likes

@Clayton149871 - Thank you for the reply. This is delving into areas I don’t necessarily understand, but I have worked out how to get my revision:

Hardware        : BCM2711
Revision        : c03112
Serial          : xxx
Model           : Raspberry Pi 4 Model B Rev 1.2

This appears to be a similar revision to the one you had problems with. So, in your opinion, is this a:

  • hardware issue; or
  • software issue?

I have only done a RetroPie upgrade at this stage and have not tried anything else. I haven’t tried the firmware upgrade. Given I bought this as a kit from Core Electronics, I would seek direction from them before I do anything drastic - especially given I am a RPi noob.

3 Likes

Try updating the firmware on the controllers using the ultimate software if you haven’t already.

3 Likes

Also the updated Bluetooth driver has been pushed to the apt so you don’t need to worry about manually downloading it as long as you’re updated.

2 Likes

@Ryan129278 - thank you for the comments. I have just upgraded the firmware on both controller from v3.02 to v5.01. No better result after this.

With respect to upgrading, I used the Update function under Retropie Setup. This included the following question that I answered yes to:
image

It did a bunch of updating so I assume I am fully updated:
image

Any other suggestions?

4 Likes

Thanks for the update! Which software will pick up the new bluetooth driver?
I see some apt-get instructions at the end of this thread: [SOLVED] RPi4 Bluetooth woes - Page 2 - Raspberry Pi Forums
Is that what you’re suggesting to do to update the drivers?

2 Likes

So, checked apt and had a heap of updates - importantly pi-bluetooth.

Ran apt upgrade and will test how bluetooth pairing goes after this.

pi@RPi401:~$ sudo apt update
Get:1 https://download.docker.com/linux/raspbian buster InRelease [33.6 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]                                                                       
Hit:3 http://archive.raspberrypi.org/debian buster InRelease
Fetched 48.6 kB in 1s (34.6 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
99 packages can be upgraded. Run 'apt list --upgradable' to see them.
pi@RPi401:~$ sudo apt list --upgradable
Listing... Done
<snip>
pi-bluetooth/testing 0.1.17 all [upgradable from: 0.1.15]
3 Likes