Xbox One Controller no longer detected

Hello! After some updates (though not right away) my wired Xbox One controller is no longer detected as an input device in my system settings. However, it is detected in lsusb:

Bus 003 Device 006: ID 2717:ff80 Xiaomi Inc. Mi/Redmi series (RNDIS)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 003: ID 256c:006d HUION Huion Tablet
Bus 005 Device 002: ID 045e:02d1 Microsoft Corp. Xbox One Controller
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 09da:000e A4Tech Co., Ltd. X-F710F Optical Mouse 3xFire Gaming Mouse
Bus 004 Device 002: ID 1a2c:4094 China Resource Semico Co., Ltd USB Keyboard
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 013 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 012 Device 002: ID 2357:0106 TP-Link Archer T9UH v1 [Realtek RTL8814AU]
Bus 012 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 010 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I have tried reinstalling drivers, like xboxdrv and others; I’ve unplugged it and plugged it back up, to no avail. I don’t know what else to do, sorry.

Take a look at this post.

Specifically,

Summary

You could try to install xow, which also works over wireless. If your gamepad is identified as an XBOneS controller, than this might help you (I use it with an original controller). After installation, you have to enable and start the service.

This is needed, because Microsofts XBOne controller drivers are closed source and comes with Windows builtin, but not in Linux. And xow is such a driver build by the community. If you start Steam, then the gamepad will get support in Steam from their own drivers. So naturally the drivers in Steam will get shutdown when you close Steam.

There is only one problem with xow currently, and in fact its not xow itself the problem, but a dependency. I am on Manjaro, but it should be valid in your case too. “libusb-1.0.24” causes high cpu load all the time, so you need to install an older version, in example “libusb-1.0.23”. I quote myself from Github issue:

After reading in the other thread #141 I did the same and downgraded libusb for now with the command sudo pacman -U https://archive.archlinux.org/packages/l/libusb/libusb-1.0.23-3-x86_64.pkg.tar.zst . And added a rule for pacman to ignore this package from being updated in sudo vim /etc/pacman.conf with a line IgnorePkg = libusb . Now I do not get these CPU spikes anymore, but I wonder if this causes any incompatibility with the rest of the system.

No luck. Installed xow and downgraded libusb, nothing.

Remove everything you installed for Xbox controller, and try that AUR (en) - xone-dkms and follow final steps 4 and 5 to install it after reboot GitHub - medusalix/xone: Linux kernel driver for Xbox One and Xbox Series X|S accessories

Also didn’t work. I also tried reinstalling xboxdrv and tried to enable it through systemctl and it didn’t recognize any input of my controller, even though it did appear on the input device list. I’m beginning to think the controller itself might be broken somehow.

Okay, I’ve been looking more into this. I tested the controller in a steam deck and it worked, so it’s not the controller itself. I also looked at mhwd -ls -d and got the following

07: USB 00.1: 0000 Unclassified device
  SysFS ID: /devices/pci0000:00/0000:00:07.0/0000:05:00.0/usb10/10-1/10-1:1.1
  SysFS BusID: 10-1:1.1
  Hardware Class: unknown
  Model: "Microsoft Xbox One Controller"
  Hotplug: USB
  Vendor: usb 0x045e "Microsoft Corp."
  Device: usb 0x02d1 "Xbox One Controller"
  Revision: "1.01"
  Serial ID: "7EED83E2C544"
  Speed: 12 Mbps
  Module Alias: "usb:v045Ep02D1d0101dcFFdsc47dpD0icFFisc47ipD0in01"
  Driver Info #0:
    Driver Status: xpad is active
    Driver Activation Cmd: "modprobe xpad"
  Attached to: #12 (Hub)

Which is weird, since I don’t have xpad installed. When trying to install through the add/remove software app it I get the following message:

Preparing...
Checking xpad-dkms-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
Cloning xpad-dkms-git build files...
Generating xpad-dkms-git information...

Building xpad-dkms-git...
==> Making package: xpad-dkms-git 0.4-2 (dom 14 may 2023 18:41:09)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning xpad-dkms-git git repo...
Cloning into bare repository '/var/tmp/pamac-build-gabriel/xpad-dkms-git/xpad-dkms-git'...
  -> Found xpad.conf
  -> Found xpad-dkms-git.install
==> Validating source files with md5sums...
    xpad-dkms-git ... Skipped
    xpad.conf ... Passed
    xpad-dkms-git.install ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of xpad-dkms-git git repo...
Cloning into 'xpad-dkms-git'...
done.
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "xpad-dkms-git"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: xpad-dkms-git 0.4-2 (dom 14 may 2023 18:41:13)
==> Cleaning up...

Checking keyring...
Checking integrity...
Loading packages files...
Checking file conflicts...
Checking available disk space...
Installing xpad-dkms-git (0.4-2)...
Sign command: /usr/lib/modules/6.1.26-1-MANJARO/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Creating symlink /var/lib/dkms/xpad/0.4/source -> /usr/src/xpad-0.4

Building module:
Cleaning build area...
make -j8 KERNELRELEASE=6.1.26-1-MANJARO KVERSION=6.1.26-1-MANJARO....
Signing module /var/lib/dkms/xpad/0.4/build/xpad.ko
Cleaning build area...

xpad.ko.zst:
Running module version sanity check.
Module version  for xpad.ko.zst
exactly matches what is already found in kernel 6.1.26-1-MANJARO.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
Error while configuring xpad-dkms-git
Error: xpad-dkms-git: command failed to execute correctly
Running post-transaction hooks...
Arming ConditionNeedsUpdate...
Install DKMS modules
==> dkms install --no-depmod xpad/0.4 -k 6.1.26-1-MANJARO
Module version  for xpad.ko.zst
exactly matches what is already found in kernel 6.1.26-1-MANJARO.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
==> WARNING: `dkms install --no-depmod xpad/0.4 -k 6.1.26-1-MANJARO' exited 6
==> dkms install --no-depmod xpad/0.4 -k 5.10.179-1-MANJARO
Module version  for xpad.ko.xz
exactly matches what is already found in kernel 5.10.179-1-MANJARO.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
==> WARNING: `dkms install --no-depmod xpad/0.4 -k 5.10.179-1-MANJARO' exited 6
==> dkms install --no-depmod xpad/0.4 -k 5.4.242-1-MANJARO
Module version  for xpad.ko.xz
exactly matches what is already found in kernel 5.4.242-1-MANJARO.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
==> WARNING: `dkms install --no-depmod xpad/0.4 -k 5.4.242-1-MANJARO' exited 6
Transaction successfully finished.

It is shown as installed, but the controller still doesn’t work. I kinda don’t want to mess with dkms without knowing what I’m doing, so I hope someone else can help me. I also uninstalled xone, just in case it was that. No dice.
Also now, not even the white light on the controller turns on.

I would try to use another USB Port befor i would do all this hassles.

Maybe there is dust/dirt or something else at the USB Port connector?

Some Ports can also be damaged after plug in/out above 1k times.

Already tried that, no changes.

This happened to me after playing with the xone driver. It installs file /etc/modprobe.d/xone-blacklist.conf that blacklists the xpad module. Try fully uninstalling xone by the provided uninstall.sh script, or just modprobe -r xone_* and then modprobe xpad.

This thread is already old.

I have not installed any driver for Xbox One Controller (about 8 years old+).
The current Kernels, KDE System Settings and some Steam games automatically recognize it as game controller without any issue.