8bitdo sn30pro works on bluetooth but not connected to usb
Hello, I searched for this issue but couldn't find it in the forum.
Pi Model: PI3 B+
Power Supply used: 2.5A (Canakit plug)
RetroPie Version: 4.7.1 (RPI 2/3)
Built From: Pi Imager v1.4
USB Devices connected: Keyboard, 2x sn30pros
Controller used: 8bitdo sn30pro
I followed the instructions to connect both controllers to Bluetooth (I did this first before booting the emulation software). That works no problem. If I turn on the controllers after I plug in the RPI, they connect in the emulation software and I can play a 2 player game without an issue. The issue is, when I connect a controller to the USB port, the controllers don't respond at all. If I boot the RPI, it says 2 controllers connected, but if I push any button, it doesn't allow me to go forward configuring the USB connected controllers. If I disconnect a controller and turn it on, it connects immediately and I can play. What am I doing wrong here?
Exit EmulationStation, then start it again from the command line with
Plug in the controller and try to configure it. If it doesn't work, then post the EmulationStation's log file from
\\retropie\configs\all\emulationstation\es_log.txton pastebin.com to take a look.
I had both controllers connected to USB when I booted system. I couldn't configure the controllers as when I push a button, nothing happens (but the controllers are on and powered (the green light is on at the bottom, the yellow light is on and solid on top)
I then exited with F4 on the keyboard and restarted in debug as you requested.
Same thing, I couldn't configure the controller. I then unplugged and plugged one controller back in, same issue. I can see in the logs where the 2 controllers were picked up but unrecognized, then a 3rd entry at the very bottom where I connected the controller again.
Thank you for your help!
Here is the pastebin: https://pastebin.com/Z677kwzU
No idea why they won't register any input.
Can you try to see if they are registering inputs, by running
jstest /dev/input/js0from the command line ? You run the command, then press buttons/joysticks and see if they're registering. Use
Ctrl + Cto stop the test.
EDIT: another test you could do is to reset one controller (so that the BT pairing is erased) and try to use the USB connection to pair it. You could also start the controller in PC (X-Input) mode before connecting via USB.
Thanks Mitu, you totally helped me go down the right path here.
For those who get stuck by this, how I fixed it was I deleted the controllers from the Bluetooth registered devices.
I disconnected both controllers, then rebooted the RPI.
When the emulationsoftware started, I pushed X+Start for 3 seconds, then connected the USB. I held the A button (You'll see SN30PRO show up to be configured). I configured the controls, and then I was able to use both controllers connected to USB.
I then hit F4 and jumped to configuring Bluetooth. I disconnected both controllers and made sure they were off. I then hit start on the controllers and pushed the sync button so that Bluetooth could find it. I did this with both controllers, ensured the Udev save saw the Bluetooth profile, then rebooted the RPI.
When the emulationsoftware was back online, I could hit start (it connected over Bluetooth), did this again on the second controller.
I started a game and selected a 2 player option so I could test both controllers were working successfully -- they were.
I think plugged in both controllers to USB. There was a 1 second delay and they kept working. Disconnected, pushed start, few second delay and then they worked again with bluetooth.
Sorry, I'd edit if I could. Not X+Start, B+Start -- use B+Start on SN30PRO
DavidDraper last edited by
@darkwriter shoot! I just saw this. I had the exact same problem with my sn30pro controllers. Start+B for USB. I wish I had been here yeasterday to post. The manual gives zero clues about this. Glad they work now.