Xbox (series X) Wireless Controller is not discoverable by bluetoothctl (or any other bluetooth managers) - Arch Linux

3 years ago by greyjedi to c/linux_gaming

Hello,

I can not get my bluetooth to discover my xbox core wireless controller. I'm running a dual boot with a Windows 10 install. There are no issues connecting to bluetooth on windows. I am also able to connect the controller to a laptop running Fedora 29 KDE.

I have already upgraded the firmware of the controller. I have installed xpadneo.

I have tried installing xone-dkms and xboxdrv-stable-git, neither of those worked. I have since uninstalled those to avoid any conflict with xpadneo.

Bluetoothctl sees other bluetooth devices, but never shows the MAC of the controller when I start a scan and put the controller in pairing mode. I verified that it has LE enabled.

Waiting to connect to bluetoothd...[bluetooth]# hci0 new_settings: powered bondable ssp br/edr le secure-conn cis-central cis-peripheral 

My bluetooth device is an RZ608 (MediaTek MT7921K), which is using the kernel driver to work.

What am I missing that could potentially keep my Arch Linux desktop from even seeing the broadcasted MAC of the controller in order to even start the connection process?

EDIT:

So, the issue is definitely Bluez. I can see the controller broadcasting if I use bettercap and run the command 'ble.recon on'. Still haven't found a good solution, though.

Tried switching to the arch lts kernel. Didn't make a difference. Tried forcing bluetoothctl to only use le and scan le. No devices.

Tried adding the changes to /etc/bluetooth/main.conf and restarting the bluetooth service (and rebooting the computer)

Privacy = device
JustWorksRepairing = always
Class = 0x000100
FastConnectable = true

No changes in behavior.

I know it's not a driver issue, because bettercap could see the bluetooth devices. BlueZ must have a bug or something.

load all comments
olsonexi 2 points 3 years ago

Have you added these lines to /etc/bluetooth/main.conf under [General]? This stack exchange answer says it's required:

Privacy = device
JustWorksRepairing = always
Class = 0x000100
FastConnectable = true
path: 0 8050133, hotness: undefined, score: 2, children: 1
greyjedi 2 points 3 years ago

Yeah, I tried that. Didn't make a difference, unfortunately.

path: 0 8050133 8050231, hotness: undefined, score: 2, children: 0
linux_gaming
linux_gaming

@lemmy.world

login for more options
27942
2623
2193

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

No memes/shitposts/low-effort posts, please.

Resources

Help:

Launchers/Game Library Managers:

General:

Discord:

IRC:

Matrix:

Telegram:

go to feed...