After I updated kernel to 6.4 following the last major update (due to GFX hang) I now have issues connecting BT 5 devices, most prominently my Xbox controller. I figured out why on the install of the xpadneo driver.
WARNING: kernel uhid module not found, controller firmware 5.x will not be supported
when i run
sudo modprobe uhid the installer does not throw an error, but it still does not show bt 5 devices in the discovery.
To quote xpadneo:
Kernel maintainers should also include the
uhid module (
CONFIG_UHID) because otherwise Bluetooth LE devices (all models with firmware 5.x or higher) cannot create the HID input device which is handled in user-space by the bluez daemon.
My question is, how do I enable uhid by default (according to xpadneo it has to be loaded before bluez or other BT managers, so it has to be loaded during startup, but I am not versed enough to know how to do that and would be happy for any advice. Or is this something that has to be done during compile time of the kernel (aka requires shipping of a version built differently)
Update: Enabled autoload of uhid via /etc/modules-load.d/modules.conf and it now shows up in
/sys/devices/virtual/misc but still nothing in the gnome BT manager.
Linux kernel headers are also set up:
pacman -Q | grep headers
as for kernels:
Currently running: 6.4.9-1-MANJARO (linux64)
The following kernels are installed in your system:
It is currently compiled as a module:
You can load it at startup by adding
uhid to a configuration file in
Mine for example:
❯ cat /etc/modules-load.d/modules.conf
# List of modules to load at boot
See Kernel module - ArchWiki
I did that, its loaded but after reboot BT5 devices still do not show up. So it seems I still miss something.
xpadneo and see if it detects the
uhid module now.
yes it does, the thing is though that xpadneo is mostly making the inputs not being a mess. Connection works via bluetooth (without xpadneo being required strictly, only if you want inputs that make sense). The BT connection manager does not detect any bt5 device at the moment. Be it my phone, my speaker or my controller. Xpadneo worked before and after when using cable to connect the controller.
I wonder, should I open this as a general BT 5 issue?
Have you checked upstream issues? Perhaps create one if there isn’t already an existing issue that’s related.
Just to be sure, you are running
mkinitcpio -P after installing / updating DKMS modules, right?
I just ran
mkinitcpio -P but like I said xpadneo works (via cable). The issue still is the BT not being able to talk BT5 devices(at all, tested with Phone and a speaker). Since after the reboot the module for uhid showed up without issue.
BT4 devices work without issue. BT5 worked until i switched from linux 6.1 to linux 6.4. Neither bluetoothctl nor gnome-control-center bluetooth show BT5 devices so i think it sits deeper than this. Unfortunately i cannot go back to 6.1 to cross check at the moment.
Like I said in the last message, xpadneo is not helping pairing BT controllers. I cannot pair the controller (or any Bluetooth 5.1 device) with the system, xpadneo works.
Edit: ok now that i said it suddenly my phones pop up. Still to connect the controller via BT i never needed xpadneo in the past.
Not sure as I don’t know anything about game controllers. I’m a keyboard and mouse gamer.
Maybe someone else has more knowledge on that front. I only replied to clear up the issue with the
uhid kernel module.
I will try to see with my 6.1 live iso if I have this problem as well there. If yes its prob a bug in xpad if no its probably 6.4 wifi
Just checked. the current downloadable iso (0529) on linux 6.1 sees both the controller and my Bluetooth speaker and offers pairing. So seems like it has to to with either 6.4 or the bt stack being borked in the meantime.
Bump, issue still persists after stable update of 29.08