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

I have the exact same issue with the ‘Ultimate Retro Game Console’ bundle purchased this week (which arrived today).

@James @Bryce Gents,
Looks like Cameron has the same issue as me, are you guys able to test this and provide a work around?
I ordered USB Bluetooth adapters yesterday, I’m hoping these will work but need the onboard Bluetooth disabled. I’m not sure how to do this?

HI @Richard154847 and @Cameron162563 - I actually setup our RetroPie image last time we flashed them. I’m on my lonesome today as we’ve got a few staff off so it’s very busy, but I’ll see if I can get some bits together and reproduce it!

I ended up getting one of the SN30 Pro’s to work after upgrading everything via the retropie menu and then doing this as well - instantly was better : Raspberry Pi 4 won't pair to bluetooth devices - Raspberry Pi Stack Exchange

I had also connected the SSD drive USB (the cartridge slot), and there seems to be lots of interference stories online of that coupled with the active HDMI, wifi and BT (I was using a large 55" TV as the monitor - some people report lower res helps which I didn’t try), so I had also switched to ethernet and disabled wifi, tried a different HDMI port etc.

I’ve now also tried a different sd card and loaded up lakka.tv to try, and the pairing setup is a lot smoother. I’ll probably stick with lakka for now as FYI - but once I get that working the way I want I’ll try retropie again on the original sd card.

2 Likes

I received 2 of the new 8bitdo Pro 2 controllers yesterday and had the same issues pairing these. Could not find any articles yet relating directly to these controllers, but this thread seems to be the same. I tried:

  • updating firmware on both controllers
  • using setup method as shown here: 8Bitdo - RetroPie Docs
  • updating RetroPie;
  • tried setting up using each of the S.A.D.X modes (in BT pairing mode) on the controller;
    I was at times able to see the MAC address of the controller, but then the process would fail at the Security / Choose the “DisplayYesNo” section, often reporting:
An error occurred connecting to the bluetooth device     |
| (Creating device failed: org.bluez.Error.AlreadyExists:  |
| Already Exists).  

Remove Bluetooth Device / Reboot RPi and start again…

This morning I tried again using a vanilla RetroPie setup (different SDcard) and bang, I was able to get a controller paired (controller in Switch mode). This continues to pair successfully between reboots. However, following exactly the same process, I’ve been unsuccessful in pairing my second controller. :confused:

Beyond frustrating!

Also just tried the settings Cameron reported here: Raspberry Pi 4 won't pair to bluetooth devices - Raspberry Pi Stack Exchange and retrying all the setup steps again. Still can’t get the second controller to connect.

Next step is to find an external BT dongle as it seems there are a few reports out there of people having more success with those.

1 Like

Hi All,

I was able to pair both an SN30 Pro+ and a Pro 2 without issue - I’m not sure what the issue may be that you’re all facing :thinking:

The procedure I followed was:

  • Grab a preloaded RetroPie SD card from our shelf stock
  • Boot it up on a Pi 4 8GB
  • Setup a USB keyboard
  • Open up the Bluetooth configuration
  • Press and Hold Start + Y (Switch mode) and then immediately hit Enter on "Register and Connect to Bluetooth Device
  • Quickly tap down the manual to select Pro Controller, then hit Enter
  • Hit enter again on the first option - “DisplayYesNo”
  • Taken back to the Bluetooth Configuration main menu.
  • Controller is paired and immediately works to move around in the bluetooth configuration menu with the analogue sticks and dpad

Possible things that may make a difference:

  • I’ve got my controller right next to my Pi to ensure a good signal while pairing
  • I’m keeping an eye on my controller to make sure it doesn’t power down while searching for a connection/bluetooth devices
  • My controller batteries are fully charged
2 Likes

You can have a look at what I’m doing and the results I get here:

00:11 - removing errant BT entries (random entries sneak into the list even though never specifically selected);
00:26 - The one controller (MAC ending :33:19) that I have successfully paired (not actively paired here)
00:32 - Put 2nd controller (MAC ending :F9:1E) into BT pairing mode (+ Switch mode selected) and performing BT search;
00:56 - Found 2nd controller and selected;
00:59 - Choose DisplayYesNo
01:00 - receive error message
01:06 - note all the other BT MACs that are registered again
01:10 - and one randomly Active - I have no idea what this is, but it doesn’t stay active
01:13 - remove a heap of random BT devices
01:37 - leave the two controllers that I want registered
01:45 - turn on 2nd controller and try to “Connect” to all registered devices
01:52 - lights still blinking on controller (not connected) but Pi says it is Active
02:04 - try to add udev rule, but it says it is already there
02:11 - Display Registered devices again, and now 2nd controller not showing as Active
…try “Connect Now” and ensure 2nd controller is ON, but not in pairing mode, but it doesn’t connect
02:36 - Turn on my 1st controller to check it is still able to pair. All good.
…try to connect 2nd controller again, no go.
02:56 - remove 2nd controller from Registered list
03:00 - check that 1st controller is still active
03:13 - put 2nd controller back into pairing mode (in Switch mode) and try to search again
03:36 - Found and try to register again, and again fail when trying to select first Security option (I’ll point out here that I have also tried the second option with same failed results);
03:43 - check Registered devices and find a heap of randoms again, plus another random device saying it is Active
…remove random registered entries again
04:18 - Display Registered again - 1st Controller still active, but I can’t get the 2nd Controller to connect.
:frowning:

2 Likes

What if you remove your paired controllers and re add them?

The error you’re getting at 01:00 says it can’t pair because it’s already paired - you need to remove it if it failed to pair correctly and pair it again.

Also note that you’ve currently got your pairing mode set to background mode - so it’s constantly doing things in the background.

You shouldn’t need to manually setup a udev rule (note the error message for this one is the same) it should all be straightforward.

Sometimes the best thing to do is “turn it off and on again” - wipe your settings and start fresh.

Thanks - I have removed 2nd controller a number of times and you see me do this again at 2:56. I haven’t removed the 1st controller as it paired successfully and to be honest I’m afraid that if I remove it, it may not pair again!!!

The error at 1:00 can’t be removed, at least not from the menus. You’ll note at the start of the video I show that only the 1st controller is registered. The 2nd is not listed. However, I agree, there seems to be some remnants of it in the system.

And yes, pairing mode set to background as per some instructions, but I will try turning it off.

Setup instructions here 8Bitdo - RetroPie Docs advise to add udev rule, but I’ll see if this step can be missed (once I can get 2nd controller to pair).

I will re-format my SD card and start again with a fresh Retropie image. I’ll let you know how things go.

2 Likes

OK, so with a fresh Retropie image and nothing else configured (e.g. USBmount, safe shutdown script for NESPI4, wifi, ssh, roms) I was able to add both controllers and pair successfully!
Since doing getting the controllers added, I’ve now enabled ssh and added some roms. Rebooted a few times and no problems with the controllers connecting.
As @Oliver noted, I did NOT add udev rule and I left the pairing mode at default (rather than boot or background).

3 Likes

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