Pairing to Xbox One S controller via Bluetooth fails

Hey,

I am currently having issues pairing my Xbox One S controller via Bluetooth. According to the arch wiki, it should just work with the standard Bluetooth packages after disabling ERTM.
However, when I am trying to connect via KDE Plasmas interface or via bluetoothctl from the command line, the pairing fails with the following error:

Failed to pair: org.bluez.Error.ConnectionAttemptFailed

I have already tried the following things:

  • Finding a way to factory reset the controller. Unfortunately, it seems like there is no way of doing that.
  • At one point, the controller appeared in my paired devices. However, any connection attempt failed. I further tried by booting into windows, connecting there was no problem. I then tried to copy the pairing key from windows to Linux, but the connection still fails.
  • Using the Wireless Adapter from Microsoft. Pressing the button on that adapter does nothing (a LED should blink indicating that pairing has started), but works on Windows.
  • Tried with steam running in the background and without.

I know that connecting the controller shouldn’t be a problem since it worked on a previous installation. It also works flawlessly on Windows.
Using the controller via USB cable works fine, but it’s not as convenient.

Am I missing some package, or is something else broken? I am running Kernel version 5.13.1-, which should be the latest stable version.

Are you sure?

Xbox Wireless Controller / Xbox One Wireless Controller

[…]

Connect Xbox Wireless Controller with Bluetooth

You will probably have to disable Enhanced Retransmission Mode (ERTM) to make it work.

https://wiki.archlinux.org/title/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth

1 Like

My bad, I should have written this better. As mentioned in the list below, I already did that. (I have now edited the post)