8bitdo SFC30/NES30 Pro connect as Playstation 3 controllers via bluetooth
I'm running recalbox 4.0 on a pi3B. I am using 2 different types of usb bluetooth dongles: kensington and asus.
I had a set of nes30 pro controllers which had been working pretty flawlessly for a while. 4 were paired and would connect/reconnect without issue.
I parted ways with 2 of those controllers to a friend and got a couple of SFC30s to replace them. I can pair and configure the SFC30's fine, but when I power cycle the sfc30's they connect as PS3 controllers half the time (and all the inputs are unresponsive). If I continue to power cycle, they eventually connect properly. The strange thing is that now the NES30Pro's are exhibiting this behavior as well.
I've checked the firmwares, and those seem to be in order. Any other issues or workarounds that people may know about?
I've done some more testing and found that I had 2 nes30 pro's that were on firmware 1.71. Reverting these to 1.69 has apparently fixed the issue. I've disconnected and reconnected without issue many times in a row, although I'm noticing that reconnecting can take up to 2 minutes.
I'll go back to looking at the sfc30's, maybe reverting their firmwares will do something...
Always use the correct start mode:
And I personally always use the latest beta firmware. Currently 1.72 and 2.71... you can find the link on the previous address. Don't forget to reconfigure you controller.
The problem for me was very clearly the firmware, and is easily reproducible on multiple rpi3s, multiple nes30pro's, and multiple usb bluetooth dongles. I was using the proper start-up mode on all of the controllers (according to that linked chart), and I used multiple firmwares on each type of controller. The results are very consistent.
for nes30pro: 1.69 works, and works consistently. 1.71 fails to properly reconnect roughly 60% of the time.
for sfc30: the latest firmware (2.70) pairs correctly, but fails to reconnect properly roughly 60% of the time. v2.69 pairs, but also fails in various ways once paired.
The previous 3 sfc30 firmwares have various problems, regardless of the "normal"mode or Start+R mode, etc. These include not being able to configure the inputs, as well as various re-connection issues.
Having a working solution to the nes30Pro puts me in a decent place, and I will keep the sfc30 around in case there's a patch, update, or new information that fixes them in the near future.
@Manhole give the beta firmware a try. As 8bitdo wrote, it should give you: "Enhanced the stability of the Bluetooth Automatic connection." I use it myself and everything works perfectly. Sometimes I just need to turn the controller off and on again, but it works.
"Sometimes I just need to turn the controller off and on again, but it works."
Unfortunately, this is not a viable enough solution. I am giving a small game emulation system to a friend who is not technical. I can't give this person a controller that randomly doesn't reconnect properly with virtually no feedback that there's been an error and tell him "just power cycle it for potentially up to 5 times until it works randomly"
That said, I will try the beta firmware because I have nothing better to do, but unless it has a 95%+ work rate, it's not going to be feasible for me.
Worst case scenario is that I just give this person the system with nes30pro's instead, but I would like to avoid that if possible for cost reasons, among other things.
I tried the beta firmware 2.71 for sfc30 and I paired up fine, but failed to reconnect 3 times after that.
When trying to pair, the light blinks at a "normal" pace. When trying to reconnect the light blinks very rapidly. Very odd.
I cleared the pairing info off the sfc30 (holding select for 3 seconds while powered on) and I "forgot all bluetooth controllers" on the system and had the same results. I paired it up fine, but failed 100% reconnection attempts. I left it trying to reconnect for over 2 minutes just to make sure I wasn't being impatient.
I'll try more later today.
@Manhole I think you are expecting too much from a Raspberry Pi. Reconnection problems will happen with all controllers randomly. There are too many variables in place, but most important, the hardware isn't specifically design for that. You can't expect a controller to connect like a ps3 controller would do with a ps3! And imo I don't consider too technical to just power cycle the controller a few times (for me and my NES30 Pros is just one time, sometimes) if it didn't pair on the first try.
If that is too difficult, better to use it (a) wired (one). As long as you consider not pairing directly an issue, you'll have connectivity issues with any controller.
Another option would be to use a wireless controller (those that come with its own usb dongle).
Pd. If you wait too long and the controller doesn't pair, it enters a sleep mode. And I believe you need to wait less than two minutes for that to happen.
I don't think it's too much to expect of the pi, honestly. I have it working 100% with my nes30pro's on firmware 1.69. At most I have to wait up to a full minute for them to connect, but so far they have worked without fail (once on 1.69 firmware).
I know there are multiple pieces at work here: hardware, software, and environmental factors. I was bringing this topic up in case it would expose issues other people might have, and potential solutions.
I'm aware of wired solutions, and their consistency. I have buffalo controllers, etc. The point of this was to see if I could get the sfc30's working, as advertised with my particular hardware/software setup, not to settle for "well it sometimes might work." If the answer is "it doesn't work" that's fine, but the recalbox documentation suggests the device is fully supported. I didn't see a caveat for the pi.
My experience so far with sfc30 and recalbox on pi has been subpar, and I would not recommend anyone get it unless they want to spend significant time dealing with technical issues. There are other wireless options that appear to work much more consistently.
There will be not a single person using recalbox, lakka or retropie that tells you that his bluetooth controller has worked every single time like on a real console. If such bluetooth controller exist, please tell, so I buy those the next time I need any.
Don't blame the documentation, please. Good luck!