Xbox Series X controller wont Pair with RP4
-
Hi,
i have a Xbox Series X / S Wireless controller (Modelnumber 1914) and I want to connect it to my Retropie (Raspberry PI 4). From what I've read the xpadneo-driver ist capable of runing this controller. But I'm already failing in connecting it with my RP4.
I've conntected it with my Windows 10 PC to update the controller firmware. After that I disabled ERTM in my Retropie:
sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'
But it still won't connect. The Bluetooth configuration tool of the setupscript does not even find the controller. When I try to pair it with bluetoothctl i can find the MAC-Adress but the paring fails.
sudo bluetoothctl [bluetooth] agent on [bluetooth] default-agent [bluetooth] scan on [bluetooth] pair XX:XX:XX:XX:XX:XX ConnectionAttemptFailed
I hope someone can help. I could not find any solition on the GitHub-Issuepages of the drivers
-
If you installed the
xpadneo
driver, then you won't need to change thedisable_etrm
parameter for thebluetooth
module, the driver takes care of that.Can you check that the module is properly installed and loaded ? There was an issue one week back when the driver wouldn't install properly - make sure you have updated your RetroPie-Setup script and re-install the driver. Check if the driver is loaded by running:
lsmod | grep hid_xpadneo
-
@mitu Thanks for your help. I investigates the problem further and it turns out that my controller was in a "half paired" state. After I removed the device with the bluetooth-console I was able to connect, pair and trust the controller. It worked with bluetoothctl and the configuration tool, but the device is disconnected after reboot even when I trust it.
Furthermore the light of the controler keeps blinking after the connection is established instead of remaining on as it should and the controller does not work.I guess it has something to do with the driver because your command:
lsmod | grep hid_xpadneo
returns nothing.
I installed the driver with the RetroPie-Setup script and from the original GitHub-Repository. lsmod never returns something.
Do you have any more suggestions?
-
Remove the pairing for the controller from the Bluetooth menu, then load the
hid_xpadneo
driver withsudo modprobe hid_xpadneo
Try again to pair the controller via bluetooth and see if it works.
-
@mitu I was able to load the driver with your command. Unfortunatly the problem remains the same. The console says "Connection sucessful" but the light keeps blinking.
-
@driftking Hi, I'm having a similar problem with my raspberry. I can't pair with my controller in fact. I had updated the firmware from the controller and tried to pair through the console (bluetoothctl), says it is paired and connected. But the light keep flashing. When the discovery mode of the Xbox controller is turned of (the light keep flashing in a lower frequency), the device is set as disconnected. Did you found a solution?
-
@pacciulli I just noticed something. If it turnoff the controller and turn it on again, after it is paired and connected (but not really working), raspberry does not connect it automatically again (even if the controller is trusted). When I set the controller in the pairing mode, the raspberry connects and disconnects the controller with a frequency that looks like it matches the light flashing in the controller.
-
@pacciulli I am having the exact same issue with the 1914 controller, Bluetoothctl says connected, controller still blinks, Bluetooth in retropie will not connect at all
-
I verified I was using the newest version of the script I am show version 4.7.2
-
@cowboyphil Try re-installing the
xpadneo
driver, it has been updated to the latest stable version a couple of weeks ago. If that doesn't work, then I guess the support for the new Xbox controllers is not fully fleshed out and needs improvements. -
@mitu I'm also facing the same problem;
The controller always keeps blinking and never connects properly. I've used the latest version of
xpadneo
(5360aa1fc98b886c11582e239d657a0e39ab3efd), but without any luck. -
It seems a fix was implemented in SDL 2.0.12 : https://www.phoronix.com/scan.php?page=news_item&px=SDL2-Xbox-Series-X-Controller
-
@franknarf8 That won't help much if the controller doesn't pair with the Pi/Linux system where RetroPie is running. SDL 2.0.14 was released December of last year, containing the patch referenced in Phoronix article, but RetroPie doesn't include that release yet.
-
I found that you can download and install SDL2.0.14 on https://wiki.libsdl.org/Installation
I followed the instructions and everything seemed to install and configure fine. However, the controller still won't pair. Same issue; the Xbox button keeps blinking. Did I miss anything?
cd ~
wget https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
tar zxvf SDL2-2.0.14.tar.gz
cd SDL2-2.0.14
mkdir build
cd build
../configure
make
sudo make install -
Oh, I didn't have xpadneo installed when I tried this.
With xpadneo active, the controller actually VIBRATES after pairing.
The vibration is different from the one when the pad is plugged in via USB, though, and the light also keeps blinking.Jeez, I think I am so close!! Any ideas anybody?
-
YAAASSSS, I've finally figured this out!
Install Raspberry Pi OS Lite (w/o RetroPie pre-installed). I used V5.4 from 01/11/2021
Sudo bash –c ‘echo 1 > /sys/module/bluetooth/parameters/disable_ertm’ (not sure if this is necessary)
Add Privacy = device to /etc/bluetooth/main.conf under the [General] section - Kudos to the good people at GitHub!
sudo systemctl restart bluetooth
Pair X-Box Series X controller using bluetoothctl command
Savor the moment the light gets solidInstall RetroPie
Install xpadneoWorks like a charm!! ENJOY!
-
@krazeetyger Hi there, I'm on the latest Raspberry build, just powered it on today and run into the same issue - my older xbox controller works fine, but xbox series x controller won't connect.
I tried to add the privacy = device etc command, but the raspberry won't accept it (not using RetroPie). Any idea how I can adapt it to work on Raspberry only or do I need to switch to RetroPie for this to work?
Thanks!
-
Just for clarification: did you enter
Privacy = device
or
Privacy = device etc
?
-
@zdeno84 Try installing the
xpadneo
driver - https://github.com/atar-axis/xpadneo - and the pair the controller again. -
I installed xpadneo and since then the blueetooth behaves a bit weird. Everything works fine with xbox one controller, it connects, works in steamlink. But when I try to pair the xbox series controller, the bluetooth seems to either freeze in some way (the connected xbox one controller dissapears from gui but still works in steamlink) or the xbox series controller connects, but stays in a reconnect loop - on/off/on/off every second.
I tried to install it through terminal, it pairs, but then terminal freezes and does not accept any keyboard input, so I can not connect/trust.
I also tried to add privacy = device command to the /etc/bluetooth/main.conf, but terminal tells me permission denied.
All I need from the raspberry really is to connect through steamlink to my windows pc running games and remote play them plus play some movies from external hdd (or from that same windows pc).
sorry for all the mistakes, but I just got the raspberry yesterday and not really a linux-versed yet. I would need to connect the xbox series controller(s) for my kids so we can play together some coop. we only have one xbox one controller.
any advice appreciated
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.