At wits end trying to connect controller, please help
-
I've been trying to connect my Bluetooth controller(s) for 3 days now. On the 4th day I gave up and nuked the image and reinstalled retropie, but that did not help either.
I have 2 Speedlink Strike NX controllers and a Xeox wireless controller and none of them are able to connect properly. I have tried installing pretty much every driver offered and it didn't work with any of them. I've tried turning on Bluetooth on my phone just to see if Bluetooth is working at all and surprisingly it shows up in the Bluetooth search menu, but none of the controllers will.I've tried connecting with and without the strike nx provided Bluetooth dongle. I've even tried using the Xeox controllers dongle but when I do that I get kernel messages (kernel panic?) and the system freezes up so I've avoided trying that.
I've tried various terminal commands, which I can't really remember anymore and nothing helped.
I can occasionally "trick" the controller to connect by unplugging and re-plugging the dongle, at which point it will connect for 1-15 seconds. The controller is recognized by the input configuration menu but most of the time I can't finish inputting the controls before the controller disconnects again.
Even when the controller is "connected" like this the Bluetooth search function can't find it, and it doesn't show up in the paired devices.Please help me I'm slowly losing my mind.
Retropie model: 4b, 2Gb
Power supply used: Official Power supply
Retropie version: 4.7.20 (?) not entirely sure how to check, that's what it says on the retropie setup screen
Built from: Pi imager
USB devices connected: Keyboard, wired controller, Bluetooth dongle
Controller used: Speedlink Strike NX, Speedlink Xeox Pro, Some Gigatech controller (wired) -
@slurpburp said in At wits end trying to connect controller, please help:
Controller used: Speedlink Strike NX, Speedlink Xeox Pro
Do any of these controller are actually Bluetooth or just Wireless + included dongle ? I can't find any reference on the support page of the vendor that they support Bluetooth.
If they don't have Bluetooth support, then they'll work only with their wireless dongle connected - though you seem to have issues in this case also.Are the controllers charged ? You say the controller is detected initially (with the dongle), but it disconnects during configuration - it may be that the controller is insufficiently charged and it stops during setup.
-
Actually... yeah you might be right. They might not be bluetooth controllers at all. I just assumed wireless > Bluetooth. I feel really stupid now. I did charge them both before trying to connect, until their lights stopped blinking, but I'll plug them in to charge again now and respond.
The controller refuses to connect if I just hit the connect button on it while the dongle is plugged in. It only ever connects if I start the connection process, unplug the dongle and then re-insert it.
Anyway, thank you very much for your help, I'll try charging them again now.
-
Alright, I've been charging the controllers for awhile now (several hours) and either they are not charging or they are charged already. The connection issue persists however.
I'm not sure if this is of any help, but this is the output from dmesg -
@slurpburp said in At wits end trying to connect controller, please help:
I have 2 Speedlink Strike NX controllers and a Xeox wireless controller
Those don't look like BT controllers, just 2.4GHz wireless, so you'll need to use the receiver dongle.
Even when the controller is "connected" like this the Bluetooth search function can't find it, and it doesn't show up in the paired devices.
They aren't Bluetooth, so as far as RetroPie is concerned, it just sees the dongle as another USB device, no different than a wired controller; all of the wireless communication happens between the dongle and the gamepad.
-
@slurpburp Looking at the
dmesg
output, looks like the controller identifies as Xbox 360 but the linux driver (xpad
) cannot initialise it.
Can you do an update of RetroPie and included packages, then (before rebooting for the changes to apply):- uninstall the
xpad
driver (from thedrivers
packages section), - reboot
- install again the
xpad
driver.
There was an issue regarding Xbox 360 clone controllers that was solved recently (here) in the
xpad
driver, let's make sure you're using an updated version of the driver. - uninstall the
-
Followed your instructions, but it wasn't successful. Afterwards I tried removing xpad and xpadneo, reinstalling only one, reinstalling both, tried it without either of them... same result.
Here's some more dmesg (really don't know if they are helpful)
https://ibb.co/yf24W0y
https://ibb.co/s61GN42
https://ibb.co/zsTgM1m
https://ibb.co/BzWMvH3 -
@slurpburp The 1st
dmesg
output shows thexpad
loading for the controller and no errors in connection. The others are probably withxpadneo
installed and without any drivers (where no detection occurs).
Note that you don't needxpadneo
installed, since it handles only Bluetooth controllers, thexpad
driver is the one that should work. But if the gamepad doesn't work with just thexpad
driver/module, then it may not be properly supported. -
I think that message is from when it connected temporarily, because it's still not working. I've gone ahead and ordered a new controller. Thank you very much for taking time to help me.
-
Sorry for reviving this thread, I wasn't sure if I should start a new one. I got a new controller, this time it's a Bluetooth one, identifies as a "Pro controller". It connects and pairs perfectly fine. When checking the connected devices, it shows up. The controller shows it's connected too (solid led). However, when going to the input configuration, retropie doesn't recognize any input, even though it sees 2 controllers (one being the wired one). I tried removing xpadneo and reinstalling it, but nothing. I tried configuring the input through retroarch, but it doesn't recognize input either. Jstest sees it (it says "Pro controller" at the top) but doesn't recognize any input either.
Please don't tell me I bought another non-compatible controller.
dmesg
[ 4.826472] input: DragonRise Inc. Generic USB Joystick as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0 /0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:0079:0006.0003/input/input3 [ 4.826908] dragonrise 0003:0079:0006.0003: input,hidraw2: USB HID v1.10 Joystick [DragonRise Inc. Generic USB Joystick ] on usb-0000:01:00.0-1.4/input0 [ 4.913954] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 5.000796] Console: switching to colour frame buffer device 170x48 [ 5.025794] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device [ 5.038933] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 5.051419] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 1 [ 5.052064] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 5.053343] usbcore: registered new interface driver brcmfmac [ 5.339773] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 5.339899] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 5.355739] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Jan 4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e [ 6.593658] random: crng init done [ 6.593684] random: 7 urandom warning(s) missed due to ratelimiting [ 6.669540] 8021q: 802.1Q VLAN Support v1.8 [ 6.983774] uart-pl011 fe201000.serial: no DMA platform data [ 7.124660] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS [ 7.194902] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled [ 7.570428] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay) [ 7.571028] bcmgenet fd580000.ethernet eth0: Link is Down [ 13.742475] Bluetooth: Core ver 2.22 [ 13.742584] NET: Registered protocol family 31 [ 13.742598] Bluetooth: HCI device and connection manager initialized [ 13.742626] Bluetooth: HCI socket layer initialized [ 13.742647] Bluetooth: L2CAP socket layer initialized [ 13.742679] Bluetooth: SCO socket layer initialized [ 13.751786] Bluetooth: HCI UART driver ver 2.3 [ 13.751806] Bluetooth: HCI UART protocol H4 registered [ 13.751900] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 13.752189] Bluetooth: HCI UART protocol Broadcom registered [ 13.953576] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 13.953585] Bluetooth: BNEP filters: protocol multicast [ 13.953599] Bluetooth: BNEP socket layer initialized [ 18.350033] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 72.474839] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 72.474868] Bluetooth: HIDP socket layer initialized [ 72.533773] hid-generic 0005:057E:2009.0004: unknown main item tag 0x0 [ 72.534220] input: Pro Controller as /devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0004/input /input4 [ 72.539809] hid-generic 0005:057E:2009.0004: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on e4:5f:01:38:25:a7 [ 114.050424] hid-generic 0005:057E:2009.0005: unknown main item tag 0x0 [ 114.050785] input: Pro Controller as /devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0005/input /input5 [ 114.051207] hid-generic 0005:057E:2009.0005: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on e4:5f:01:38:25:a7 [ 342.561350] hid-generic 0005:057E:2009.0006: unknown main item tag 0x0 [ 342.561871] input: Pro Controller as /devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0006/input /input6 [ 342.565291] hid-generic 0005:057E:2009.0006: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on e4:5f:01:38:25:a7 [66611.960632] hid-generic 0005:057E:2009.0007: unknown main item tag 0x0 [66611.960961] input: Pro Controller as /devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0007/input /input7 [66611.974179] hid-generic 0005:057E:2009.0007: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on e4:5f:01:38:25:a7
-
@slurpburp said in At wits end trying to connect controller, please help:
Sorry for reviving this thread, I wasn't sure if I should start a new one. I got a new controller, this time it's a Bluetooth one, identifies as a "Pro controller".
It's ok, no worries. Do you have a product page ? Judging by the name, seems to be a Switch compatible controller.
I tried removing
xpadneo
and reinstalling it, but nothing.xpadneo
is used for Xbox One (and compatible) Bluetooth controllers. It adds some parameters to the bluetooth connection which might not be suited for other types.
If your controller supports multiple connection types (Xbox/PC/Switch/Android), try switching it to Xbox or PC mode, re-pair it and see if it works. -
Unfortunately, it seems that the manufacturer removed the controllers product page.
THIS Is essentially the same one, but with added audio function (mine doesn't have that).
The back of the controller says "SW-SWITCHSB-001", but Google doesn't give any useful results.I read through the manual but there doesn't appear to be any way to switch modes, it seems it is purely meant as a switch controller.
-
If it's a Switch controller, then you don't need the
xpadneo
driver - you should uninstall it and see if any inputs are registered.There's a Nintendo Switch driver available at https://github.com/nicman23/dkms-hid-nintendo which you can try to install, but if the gamepad is not working after the
xpadneo
driver, I don't think it will make a big difference. -
Actually, I'm happy to report that installing that driver worked!!! In case somebody else comes across this issue with a generic "Pro Controller", I unpaired my controller first, installed the driver, rebooted and re-paired the controller. After that I simply brought up the input configuration window and processed as usual. Worked flawlessly and I've been testing it for a while now. Only thing a bit odd is that the input config menu says it sees 3 (instead of 2) controllers but that doesn't bother me at all (just thought I would mention it).
Quick edit: I forgot to mention that the controller even correctly shows which port it is (player 1 or 2) which is kinda mind blowing to me after all the frustration I've experienced.I can't express how grateful I am for your help!! Thank you so so so much! :D
-
I'm glad you got it sorted out in the end.
Only thing a bit odd is that the input config menu says it sees 3 (instead of 2) controllers but that doesn't bother me at all (just thought I would mention it).
I wonder if the gamepad has an accelerometer/gyroscope included, this might appear as a separate device and it's sometimes confused by programs with an actual joypad device.
-
Ah, yes you're right. It does have a accelerometer/gyro! Once again thank you so much for your help and everybody who contributed to this amazing project!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.