Xbox One controller doesn't auto-connect on bluetooth

Hey, I have some issues with an Xbox One controller connecting via bluetooth.
It has SUPER weird behavior and doesn’t auto-connect if I turn it on.
I added the controller to my devices, it shows up as an Xbox controller and in general it works fine once connected.
Instead of auto-connecting though, Manjaro keeps connecting and disconnecting it in the Bluetooth-menu (a behavior I was also able to observe in bluetoothctl), yet it never seems to properly connect. In bluetoothctl it said that it just failed to connect to the device.
The only time it ACTUALLY connects is when I press the button to request pairing with nearby devices on the controller and then MANUALLY click the menu point to connect the controller, then it instantly works.

I’ve tried several different software solutions, Xpad, bluetoothctl and about every driver Pacman offered me.
I’m using Manjaro 5.18 with KDE as a DE. My Xbox controller is an original Microsoft one and I use a bluetooth adapter USB stick.

If anybody had a similar problem please let me know how I can fix it.

Have you tried this?
https://wiki.archlinux.org/title/Gamepad#Xbox_Wireless_Controller_/_Xbox_One_Wireless_Controller

I will give it a try to update the firmware and see if it helps. Thanks for the suggestion in advance!

So I tried to connect the controller with a USB and it failed to even show up as a USB device. It gives a quick vibration and then does exactly nothing.
I also tried for a good two hours to get Windows to function and install that app which was probably one of the most frustrating deals yet. I forgot how absolutely garbage tier Windows actually is. Get into the Microsoft Store and oh, we don’t like your Windows version, guess you should update if you wanna use that program haha :slight_smile:
Like the hell I am, I flatout refuse to update Windows just so I can get the controller working properly. I also tried a VM with Windows but since Linux doesn’t even recognize the controller it doesn’t function.

I also tried xpadneo and it doesn’t work.

I had severe issues with my XBox Wireless Controller and wasn’t able to connect it via bluetooth until 2 weeks ago. I had similar problems.
But first of all I have to admit that it only worked after updating the firmware to the latest version on a Windows machine. So this should be your first step in any case.

may you post the output of

cat /sys/module/bluetooth/parameters/disable_ertm

It’s weird because it is only the Xbox controller. I also have a pair of Teufel Real Blue headphones and when I turn them on they take like 2 seconds to connect to bluetooth, then they function with no problem.
So it seems like a firmware issue on my controller. However I refuse to update my Windows machine because the one reason I switched over to Linux was because the system actually gives you a choice in that.
My best friend has an Xbox, maybe I can just connect and update the firmware there, I’ll let you know if anything changes.

disable_ertm is set to 1, doesn’t matter if it is though. As the Arch wiki points out, this is no longer relevant since Kernel version 5.12 and I am on 5.18

As far as I understood Microsoft made the latest firmware versions a little less restrictive.
If it does not work after the update, I can give you further advice what I did and give you the resource for the config changes I made.

Is it really an XBox One Controller or another model?

Yes, a genuine original Microsoft Xbox One controller. It is a special Cyberpunk edition, but it’s original.

Okay, so that should simply work after the firmware update.
Otherwise your Bluetooth dongle could be the culprit.

I have a newer / different controller model (simply named XBox Wireless controller) which produces issues due to Bluetooth LE (low energy) and my laptop’s internal Bluetooth adapter obviously needed config because of that.
The XBox One controller does not use Bluetooth LE as far as I know.

this thread is fruitless until the opener is giving some substantial informations. unless then it’s sticking in the dark.

I gave you exactly the information you requested. As previously stated “disable_ertm” is set to “1”. And again, this is not relevant for my Kernel version as I am not on 5.12 or older as the Arch wiki suggests. So like, what makes you think I am not willing to give you information? I literally did what you asked me to do.

If you need more “substantial information” go ahead and ask, I am more than happy to share information with people wanting to help me with my problem. I gave you my Kernel version, things I tried in the past, devices that behave as expected without an issue, as well as my specific setup including the controller and Bluetooth I am using.

At this point I really have to wonder what else you consider “substantial” and why you don’t directly ask for the information you require. If you don’t want to help me, that is perfectly fine, you are not obligated to. But then don’t make it sound as if that is MY fault.

no you don’t. we still don’t know what hardware, what bluetooth adapter etc… is used. i’m sick to tell people how to submit the basic informations that are recommended in this forum ! check the forum yourselve and submit them or let it be

have a nice weekend

If you still should have issues - after firmware update ! - install xpadneo again and see this:

Check out the mentioned github thread also!

My settings in

/etc/bluetooth/main.conf

differ as follows:

Privacy = off
JustWorksRepairing = confirm
Class = 0x00100
FastConnectable = true

but that maybe depends on my Bluetooth adapter.

Yes I did, all the relevant information is there. You simply don’t want to read the answers I provided. A generic USB bluetooth adapter that is obviously functioning, hence why I can connect headphones, the hardware is a generic Microsoft Xbox One controller. What else do you need? My specs? What for? Like, specifically?
Does it make a huge difference if I have 8 or 16GB of RAM? Is it super important for a bluetooth issue to know my CPU clock speed and how many cores it has? And how many HDDs and SSDs I have built into my computer, all very important information when diagnosing an issue where bluetooth doesn’t auto-connect. Bluetooth is mostly software related, except for the antenna, which, as stated, functions. None of the other specs of my PC are relevant to the case at hand. This isn’t the first time I ask for technical advice on a tech forum, I very much know what information is relevant to provide and what information is not.

I leave this information out on purpose and focus on what is important, the generic USB bluetooth adapter, a generic Microsoft Xbox One controller and my Kernel and Manjaro versions. By far everything all the other people in this thread needed to help me, didn’t see anybody ask for what brand of RAM I have. If there are specific requests like your completely unrelated cat request for a file also not relevant to the case at hand I have no problem posting any of that.

What I suppose is that you simply have no idea of what it could be and are trying to make it appear as if that was my fault. Why else would you ask for my ERTM status despite me clearly stating my Kernel version?

And again, if you don’t want to help, that is fine. But don’t take out your bad mood on other people just because they don’t feel like it’s relevant to list your PSU wattage for diagnosing bluetooth problems.

Sorry to intervene here, but in many cases people in forums forget to post important info because they don’t have enough knowledge. Even experienced users do that, so I get Olli’s point.
In your case the chipset of your bluetooth adapter would have been / would be important info, because there are adapters that work with XBox controllers reportedly and others that do not work.
That is due to Microsoft’s restrictive firmware on their game-controllers, because they want them to work with their own hard- and software and not ubiquitious. It has nothing to do with your headphones working with your bluetooth-dongle or not.

So I tried setting all the values in the main.conf file, unfortunately that didn’t seem to do the trick. Reinstalled xpadneo as well, no luck. Bluetoothctl alternates endlessly between the following outputs as I turn my controller on:

[CHG] Device 98:7A:14:A2:FE:96 Connected: yes
[CHG] Device 98:7A:14:A2:FE:96 Connected: no
[CHG] Device 98:7A:14:A2:FE:96 Connected: yes
[CHG] Device 98:7A:14:A2:FE:96 Connected: no

As far as Olli’s request goes, I am all for providing information that seems sensible, again, like you said for example the chipset of the bluetooth adapter. Ask for that and I’ll provide it. But if he doesn’t specify what part he wants to know more about I don’t see why I should give redundant information.

I actually had to cram through my search history to find the model of stick I am using, a TP-Link UB400 Nano. According to the big interweb it uses a CSR8510 A10 chipset.

Did you already update the controller? Otherwise everything else is pointless.

No, this is the next step I do. I’ll go to my friend today and update the controller via his Xbox, hopefully that resolves the issues. Will keep you updated.