Xbox Series Controller Bluetooth Connection Loop

Hello,
I'm trying to pair my Xbox Series Controller with bluetooth. After pairing the controller, the LED still flashes and bluetoothctl outputs Connected: Yes and Connected: No repeatedly! It seems that it pairs successfully but it cannot connect correctly. I'm sure that the controller is working because it pairs with Bluetooth on both Android and Windows.

I've tried:

  • Disabling ERTM with 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm' as root
  • Uninstalling KDE Connect and trying to pair/connect again
  • Deleting bluetooth service cache with '/var/lib/bluetooth/*/cache' and rebooting
  • Updating the controller with the 'Xbox Accessories App'
  Kernel: 5.14.10-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen 
  root=UUID=55715951-8547-4496-ba16-8216fa919b8e rw [email protected] quiet 
  rd.udev.log_priority=3 vt.global_cursor_default=0 
  systemd.unified_cgroup_hierarchy=1 
  resume=UUID=5fade6ba-8994-4147-bfb0-bc8276b3e1b8 loglevel=3 amd_iommu=on 
  video=efifb:off 
  Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Garuda Linux base: Arch Linux 
Machine:
  Type: Desktop System: Gigabyte product: B450M S2H v: N/A serial: <filter> 
  Mobo: Gigabyte model: B450M S2H v: x.x serial: <filter> 
  UEFI: American Megatrends LLC. v: F62b date: 09/06/2021 
Battery:
  Device-1: hidpp_battery_0 model: Logitech G305 Lightspeed Wireless Gaming Mouse 
  serial: <filter> charge: 100% (should be ignored) rechargeable: yes 
  status: Discharging 
CPU:
  Info: 6-Core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 
  family: 17 (23) model-id: 71 (113) stepping: 0 microcode: 8701021 cache: L2: 3 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm 
  bogomips: 100617 
  Speed: 4192 MHz min/max: 2200/4200 MHz boost: disabled Core speeds (MHz): 1: 4192 
  2: 4194 3: 4192 4: 4192 5: 4192 6: 4192 7: 4192 8: 4192 9: 4192 10: 4192 11: 4192 
  12: 4192 
  Vulnerabilities: Type: itlb_multihit status: Not affected 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 
  mitigation: Full AMD retpoline, IBPB: conditional, STIBP: conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: NVIDIA TU106 [GeForce RTX 2060 Rev. A] driver: nvidia v: 470.74 
  alternate: nouveau,nvidia_drm bus-ID: 0a:00.0 chip-ID: 10de:1f08 class-ID: 0300 
  Display: x11 server: X.org 1.20.13 compositor: kwin_x11 driver: loaded: nvidia 
  resolution: <missing: xdpyinfo> 
  OpenGL: renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2 v: 4.6.0 NVIDIA 470.74 
  direct render: Yes 
Audio:
  Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel v: kernel 
  bus-ID: 0a:00.1 chip-ID: 10de:10f9 class-ID: 0403 
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel 
  v: kernel bus-ID: 0c:00.4 chip-ID: 1022:1487 class-ID: 0403 
  Sound Server-1: ALSA v: k5.14.10-zen1-1-zen running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.38 running: no 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte 
  driver: r8169 v: kernel port: f000 bus-ID: 09:00.0 chip-ID: 10ec:8168 
  class-ID: 0200 
  IF: enp9s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
  IF-ID-1: virbr0 state: down mac: <filter> 
Drives:
  Local Storage: total: 2.27 TiB used: 789.72 GiB (34.0%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: PM961 NVMe 256GB 
  size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 type: SSD serial: <filter> rev: CXB73D1Q temp: 31.9 C scheme: GPT 
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10EZEX-08WN4A0 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  type: HDD rpm: 7200 serial: <filter> rev: 1A02 scheme: GPT 
  ID-3: /dev/sdb maj-min: 8:16 vendor: Patriot model: Burst size: 223.57 GiB 
  block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD 
  serial: <filter> rev: 61.3 scheme: GPT 
  ID-4: /dev/sdc maj-min: 8:32 vendor: HGST (Hitachi) model: HTS541010A9E680 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s 
  type: HDD rpm: 5400 serial: <filter> rev: A5M0 scheme: MBR 
Partition:
  ID-1: / raw-size: 221.01 GiB size: 221.01 GiB (100.00%) used: 119.81 GiB (54.2%) 
  fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) used: 562 KiB (0.2%) 
  fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
  ID-3: /home raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-4: /var/log raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-5: /var/tmp raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 17.2 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/nvme0n1p3 maj-min: 259:3 
  ID-2: swap-2 type: zram size: 15.57 GiB used: 256 KiB (0.0%) priority: 100 
  dev: /dev/zram0 
Sensors:
  System Temperatures: cpu: 37.1 C mobo: 16.8 C gpu: nvidia temp: 38 C 
  Fan Speeds (RPM): N/A gpu: nvidia fan: 28% 
Info:
  Processes: 392 Uptime: 21m wakeups: 3 Memory: 15.57 GiB used: 5.44 GiB (34.9%) 
  Init: systemd v: 249 tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1162 
  lib: 326 Shell: Zsh v: 5.8 running-in: kitty inxi: 3.3.06~~~

Hi there, welcome.
Could you please provide your inxi -Faz as per new topic template, formatted with ~~~ before and after the text block?

1 Like
  Kernel: 5.14.10-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen 
  root=UUID=55715951-8547-4496-ba16-8216fa919b8e rw [email protected] quiet 
  rd.udev.log_priority=3 vt.global_cursor_default=0 
  systemd.unified_cgroup_hierarchy=1 
  resume=UUID=5fade6ba-8994-4147-bfb0-bc8276b3e1b8 loglevel=3 amd_iommu=on 
  video=efifb:off 
  Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Garuda Linux base: Arch Linux 
Machine:
  Type: Desktop System: Gigabyte product: B450M S2H v: N/A serial: <filter> 
  Mobo: Gigabyte model: B450M S2H v: x.x serial: <filter> 
  UEFI: American Megatrends LLC. v: F62b date: 09/06/2021 
Battery:
  Device-1: hidpp_battery_0 model: Logitech G305 Lightspeed Wireless Gaming Mouse 
  serial: <filter> charge: 100% (should be ignored) rechargeable: yes 
  status: Discharging 
CPU:
  Info: 6-Core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 
  family: 17 (23) model-id: 71 (113) stepping: 0 microcode: 8701021 cache: L2: 3 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm 
  bogomips: 100617 
  Speed: 4192 MHz min/max: 2200/4200 MHz boost: disabled Core speeds (MHz): 1: 4192 
  2: 4194 3: 4192 4: 4192 5: 4192 6: 4192 7: 4192 8: 4192 9: 4192 10: 4192 11: 4192 
  12: 4192 
  Vulnerabilities: Type: itlb_multihit status: Not affected 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 
  mitigation: Full AMD retpoline, IBPB: conditional, STIBP: conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: NVIDIA TU106 [GeForce RTX 2060 Rev. A] driver: nvidia v: 470.74 
  alternate: nouveau,nvidia_drm bus-ID: 0a:00.0 chip-ID: 10de:1f08 class-ID: 0300 
  Display: x11 server: X.org 1.20.13 compositor: kwin_x11 driver: loaded: nvidia 
  resolution: <missing: xdpyinfo> 
  OpenGL: renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2 v: 4.6.0 NVIDIA 470.74 
  direct render: Yes 
Audio:
  Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel v: kernel 
  bus-ID: 0a:00.1 chip-ID: 10de:10f9 class-ID: 0403 
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel 
  v: kernel bus-ID: 0c:00.4 chip-ID: 1022:1487 class-ID: 0403 
  Sound Server-1: ALSA v: k5.14.10-zen1-1-zen running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.38 running: no 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte 
  driver: r8169 v: kernel port: f000 bus-ID: 09:00.0 chip-ID: 10ec:8168 
  class-ID: 0200 
  IF: enp9s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
  IF-ID-1: virbr0 state: down mac: <filter> 
Drives:
  Local Storage: total: 2.27 TiB used: 789.72 GiB (34.0%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: PM961 NVMe 256GB 
  size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 type: SSD serial: <filter> rev: CXB73D1Q temp: 31.9 C scheme: GPT 
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10EZEX-08WN4A0 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  type: HDD rpm: 7200 serial: <filter> rev: 1A02 scheme: GPT 
  ID-3: /dev/sdb maj-min: 8:16 vendor: Patriot model: Burst size: 223.57 GiB 
  block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD 
  serial: <filter> rev: 61.3 scheme: GPT 
  ID-4: /dev/sdc maj-min: 8:32 vendor: HGST (Hitachi) model: HTS541010A9E680 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s 
  type: HDD rpm: 5400 serial: <filter> rev: A5M0 scheme: MBR 
Partition:
  ID-1: / raw-size: 221.01 GiB size: 221.01 GiB (100.00%) used: 119.81 GiB (54.2%) 
  fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) used: 562 KiB (0.2%) 
  fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
  ID-3: /home raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-4: /var/log raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-5: /var/tmp raw-size: 221.01 GiB size: 221.01 GiB (100.00%) 
  used: 119.81 GiB (54.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 17.2 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/nvme0n1p3 maj-min: 259:3 
  ID-2: swap-2 type: zram size: 15.57 GiB used: 256 KiB (0.0%) priority: 100 
  dev: /dev/zram0 
Sensors:
  System Temperatures: cpu: 37.1 C mobo: 16.8 C gpu: nvidia temp: 38 C 
  Fan Speeds (RPM): N/A gpu: nvidia fan: 28% 
Info:
  Processes: 392 Uptime: 21m wakeups: 3 Memory: 15.57 GiB used: 5.44 GiB (34.9%) 
  Init: systemd v: 249 tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1162 
  lib: 326 Shell: Zsh v: 5.8 running-in: kitty inxi: 3.3.06~~~

Maybe you could try removing the controller from paired devices in windows, should this be a dual boot issue...
I'm leaving you also the link to a recent interesting bluetooth thread.
It is 99% other stuff... Just try to give a look if you want.

3 Likes

I'm not dual-booting, I'm running windows on a VM

I'll try this and I'll report back.

"Use a Windows 10 computer on the same Bluetooth adapter to pair with the controller. It must absolutly be on
the same Bluetooth adapter, i.e. the same computer (can be inside a virtual machine with Bluetooth passthrough)
if it's an internal Bluetooth adapter, or the same Bluetooth dongle. Then, you can get the pairing keys and
install them within your Linux Bluetooth system."

1 Like

I came back and booted my PC after several hours and the controller paired successfully without changing anything. I did not update, I did not change any grub parameters, configs etc. I had already restarted sereval times when I was trying to pair and connect it before and the reboot never fixed the issue.

I think it's very possible Windows still has the capability of interfering with your bluetooth adapter in Linux even from a VM. You may find this an on again, off again problem if still using Windows.

Completely powering down (not a warm reboot) and removing all power sources may help in these instances. In extreme cases a BIOS reset to the factory defaults is required.

2 Likes

In addition to @tbg's suggestions, I've also had to go into my BIOS and turn Fast Boot's hardware discovery to Thorough in order to rediscover my BT adapter after a Windows 10 installation decided I didn't have one.

1 Like

Turning off Wifi and Bluetooth power saving in Windows Device Manager's "advanced" properties tab may sometimes help with this occurrence. Unfortunately, a Windows update may reset this, (so it may not be a permanent fix).

2 Likes

Hi...there is anything but a particular connector for the Series X/S regulators for PC. The current connector turns out only great with these fresher regulators, but it is presently in extremely short stockpile. There are outsider ones accessible that do exactly the same thing.

The Xbox 360 remote regulators utilize an alternate WIFI convention, they need their own Xbox 360 remote Gaming Receiver.

Xbox One and Series X/S regulators can be associated with PC through Bluetooth, however headsets will just work with the Xbox One connector (or an outsider form), they will not work when the regulator is associated by means of BT