Skip to content

Instantly share code, notes, and snippets.

@ammuench
Last active April 28, 2025 12:10
Show Gist options
  • Save ammuench/0dcf14faf4e3b000020992612a2711e2 to your computer and use it in GitHub Desktop.
Save ammuench/0dcf14faf4e3b000020992612a2711e2 to your computer and use it in GitHub Desktop.
8BitDo Ultimate 2.4GHz wifi working in linux

FROM https://www.reddit.com/r/Fedora/comments/zmvkdj/8bitdo_ultimate_bluetooth_controller_working_in/


I've bought this new controller from 8BitDo and wished to use on linux, to my sadness the controller didn't work out of the box, neither by cable, the 2.4G dongle or bluetooth.

So I've tried a number of solutions and this one from u/GodOfEmus over in the 8bitdo community was the one to work for me:

  1. Create a new file /etc/udev/rules.d/99-8bitdo-xinput.rules
  2. Paste this udev rule in there, then save and exit the file:
  ACTION=="add", ATTRS{idVendor}=="2dc8", ATTRS{idProduct}=="3106", RUN+="/sbin/modprobe xpad", RUN+="/bin/sh -c 'echo 2dc8 3106 > /sys/bus/usb/drivers/xpad/new_id'"
  1. Run the following command in a terminal: sudo udevadm control --reload
  2. Unplug and replug the controller if it was already plugged in, it might take a second if you have the bluetooth version

It will basically "cheat" the OS to see the controller as an generic xbox device, so sadly no bluetooth nor gyro control if you care about that, but the rumbling is working for me.

Link to the original post: https://www.reddit.com/r/8bitdo/comments/ykdsmv/ultimate_24_ghz_model_right_analog_not_working_in/

And link to the comment of u/GodOfEmus with the solution: https://www.reddit.com/r/8bitdo/comments/ykdsmv/comment/iv48s4k/?utm_source=share&utm_medium=web2x&context=3

Sharing this solution here to spread the word in our community

@robtor-de
Copy link

Currently I don't get the Ultimate Bluetooth Cotnroller to work with the 2.4G wireless dongle, with any of the above udev rules.
I noticed that it enumerates as 2dc8:3109 and if the controller connects as 2dc8:3106, then the xpad driver automatically binds but after a few seconds usbcore logs a disconnect and 2dc8:3109 reappears.

I already thought about usb timing problems etc. and tried out different usbcore.quirks on the device bit they all did not succeed. When debug logging usb core messages one could see that it tempporarily also appears as a nintendo controller after xpad fails and then the dongel goes back to it's 2dc8:3109 mode. This weird behaviour started only from newer kernel versions on my archlinux hosts or on debian devices. On an older kernel on my libreelec raspi (also uses other usb host controllers) the controller works very well with the wireless 2.4G dongle.

I didn't found any solution yet, maybe sb. here has the same issue ar runs into it in the future.

Connecting the controller via cable works like a charm btw.

Here are some logs in Pastebin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment