Score:0

Trying to pair with Xbox Wireless Controller results in extremely rapid connection/disconnection

cn flag

After visiting literally dozens of other forums and threads about Bluetooth issues, I have still been unable to pair my Xbox wireless controller with my computer.

I've tried the following (not an exhaustive list unfortunately because there were just so many things over so many days):

  • sudo apt install blueman
  • lsmod | grep bluetooth
  • sudo dmesg | grep Bluetooth
  • sudo btmon | grep 44:XX:XX:XX:XX:XX
  • sudo rmmod btusb
  • sudo modprobe btusb
  • sudo apt install xboxdrv
  • sudo systemctl enable xboxdrv.service && sudo systemctl start xboxdrv.service
  • manual service restarts
  • using Blueman
  • installing various software packages
  • disabling ERTM (via multiple methods)
  • power cycling
  • giving up

Often I get this issue where it rapidly disconnects and reconnects as soon as it's paired. This is what I get from bluetoothctl:

[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
// etc.

These messages appear many times a second.

Other times, I get the issue where

scan on
trust 44:XX:XX:XX:XX:XX

works just fine, but then

pair 44:XX:XX:XX:XX:XX

appears to work but in the Settings the controller is listed as disconnected, yet in Blueman it shows up as paired.

Furthermore, the light on the controller is supposed to be blinking slowly when it first turns on, blinking rapidly while seeking, and constantly on while connected. At no point during this/these entire process(es) did it switch to being constantly on for being connected, except for when it wasn't connected. This makes me think that there might be interference, but if there is, I'm quite sure it's not coming from my apartment.

Now, when I jump straight to connect 44:XX:XX:XX:XX:XX without pairing it, and try this repeatedly, sometimes it returns:

[Xbox Wireless Controller]# pair 44:XX:XX:XX:XX:XX
Attempting to pair with 44:XX:XX:XX:XX:XX
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
Failed to pair: org.bluez.Error.AuthenticationCanceled

and sometimes it returns:

[Xbox Wireless Controller]# pair 44:XX:XX:XX:XX:XX
Attempting to connect to 44:XX:XX:XX:XX:XX
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
// that stupid rapid disconnect/reconnect was happening at the time
[CHG] Device 44:XX:XX:XX:XX:XX Connected: no
[CHG] Device 44:XX:XX:XX:XX:XX Connected: yes
Failed to connect: org.bluez.Error.Failed br-connection-page-timeout

and yet other times it returns:

[bluetooth]# pair 44:XX:XX:XX:XX:XX
Attempting to pair with 44:XX:XX:XX:XX:XX
Failed to pair: org.bluez.Error.ConnectionAttemptFailed

The most common issue is the rapid disconnect/reconnect cycle. The frequency of this cycle is such that it reconnects about 1.5 times per second (or alternatively, disconnects about 1.5 times per second). It varies. It seems to spend slightly more time connected than disconnected.

I also know that the issue doesn't apply to all Bluetooth devices because my only other Bluetooth device (earbuds) can connect.

What else can I do to resolve this issue? Any help is appreciated.

David avatar
cn flag
Do you have another Xbox controller you can try so you can rule out this one is defective?
Score:0
zm flag
  1. Plug your controller to a Windows 10 computer via a USB cord. Download the Xbox Accessories application and update gamepad firmware.

  2. Add to file/etc/bluetooth/main.conf [General]

ControllerMode = dual

JustWorksRepairing = confirm

Privacy = device

  1. Add the link key to file /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/XX:XX:XX:XX:XX:XX:XX/info

[LinkKey] Key=76865865349E599576ED1D76A6ACF9D4E

I took the value from the line below

[IdentityResolvingKey] Key=76865865349E599576ED1D76A6ACF9D4E

  1. Install xpandeo https://github.com/atar-axis/xpadneo

  2. Run as root echo 'Y' > /sys/module/bluetooth/parameters/disable_ertm

  3. Remove and pair gamepad again

My gamepad connected after all the actions written above. I assume that in your case some step can be skipped.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.