8bitdo dongle + Xbox controller unconfigured at each startup

Hello!

Im using Ubuntu 24.04.2 LTS

I have a new Xbox controller and I bought an 8bitdo dongle to connect it with Ubuntu. At first it did not work, but connecting it in Windows and then configuring it, in Ubuntu it appears correctly.
The problem comes when I turned off the computer, the next boot, I turn on the controller and it connects correctly but the applications do not detect it.

I know what the problem is, if I boot with the dongle plugged in, it loads a nintendo module and it doesn’t work:

Not working
3.829132] usb 1-2: New USB device found, idVendor=057e, idProduct=2009, bcdDevice= 2.10
[    3.829139] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.829142] usb 1-2: Product: Pro Controller
[    3.829143] usb 1-2: Manufacturer: Nintendo Co., Ltd.
[    3.829144] usb 1-2: SerialNumber: E417D8670A5A
[    3.891675] intel_pmc_core INT33A1:00:  initialized
[    3.917370] resource: resource sanity check: requesting [mem 0x00000000fedc0000-0x00000000fedcffff], which spans more than pnp 00:03 [mem 0xfedc0000-0xfedc7fff]
[    3.917378] caller igen6_probe+0x1c9/0x610 [igen6_edac] mapping multiple BARs
[    3.917423] EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT)
[    3.917447] EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
[    3.917448] EDAC igen6 MC0: ADDR 0x7fffffffe0
[    3.917586] EDAC igen6: v2.5.1
[    3.918880] mei_me 0000:00:16.0: enabling device (0000 -> 0002)
[    3.960580] input: Nintendo Co., Ltd. Pro Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:057E:2009.0005/input/input15
[    3.965570] hid-generic 0003:057E:2009.0005: input,hidraw2: USB HID v1.11 Joystick [Nintendo Co., Ltd. Pro Controller] on usb-0000:00:14.0-2/input0
[    3.969971] i801_smbus 0000:00:1f.4: enabling device (0000 -> 0003)
[    3.970195] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[    3.970233] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[    3.974105] i2c i2c-2: Successfully instantiated SPD at 0x50
[    4.037007] RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 655360 ms ovfl timer
[    4.037013] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    4.037015] RAPL PMU: hw unit of domain package 2^-14 Joules
[    4.037015] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    4.064276] cryptd: max_cpu_qlen set to 1000
[    4.069814] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    4.078318] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    4.078499] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[    4.532301] usb 1-2: USB disconnect, device number 8
[    4.540456] i915 0000:00:02.0: [drm] Found ALDERLAKE_P/ADL-N (device ID 46d1) display version 13.00 stepping D0
[    4.540829] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    4.561492] AES CTR mode by8 optimization enabled
[    4.561508] Bluetooth: Core ver 2.22
[    4.561535] NET: Registered PF_BLUETOOTH protocol family
[    4.561536] Bluetooth: HCI device and connection manager initialized
[    4.561540] Bluetooth: HCI socket layer initialized
[    4.561543] Bluetooth: L2CAP socket layer initialized
[    4.561546] Bluetooth: SCO socket layer initialized
[    4.621276] i915 0000:00:02.0: vgaarb: deactivate vga console
[    4.621357] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    4.623340] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    4.628291] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
[    4.640421] usbcore: registered new interface driver xpad
[    4.665908] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only
[    4.678468] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.36.0
[    4.678476] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[    4.684638] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[    4.687115] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[    4.687121] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[    4.687753] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[    4.690435] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    4.690655] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    4.690662] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[    4.696398] usbcore: registered new interface driver btusb
[    4.700079] Bluetooth: hci0: RTL: examining hci_ver=0b hci_rev=000b lmp_ver=0b lmp_subver=8852
[    4.701232] Bluetooth: hci0: RTL: rom_version status=0 version=1
[    4.701239] Bluetooth: hci0: RTL: loading rtl_bt/rtl8852bu_fw.bin
[    4.703905] Bluetooth: hci0: RTL: loading rtl_bt/rtl8852bu_config.bin
[    4.704903] Bluetooth: hci0: RTL: cfg_sz 6, total sz 58003
[    4.769994] mc: Linux media interface: v0.10
[    4.817156] [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 1
[    4.836591] ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    4.842564] Creating 1 MTD partitions on "0000:00:1f.5":
[    4.842577] 0x000000000000-0x000001000000 : "BIOS"
[    4.850749] usb 1-2: new full-speed USB device number 9 using xhci_hcd
[    4.861405] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input16
[    4.882377] rtw89_8852be 0000:01:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[    4.884680] rtw89_8852be 0000:01:00.0: enabling device (0000 -> 0003)
[    4.900367] usb 1-6: Warning! Unlikely big volume range (=511), cval->res is probably wrong.
[    4.900373] usb 1-6: [5] FU [Mic Capture Volume] ch = 1, val = -8192/-1/16
[    4.900448] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 5
[    4.900453] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 3
[    4.903863] usb 1-6: Warning! Unlikely big volume range (=896), cval->res is probably wrong.
[    4.903869] usb 1-6: [6] FU [PCM Playback Volume] ch = 2, val = -16384/-2048/16
[    4.904182] usbcore: registered new interface driver snd-usb-audio
[    4.935326] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.964714] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.966135] fbcon: i915drmfb (fb0) is primary device
[    4.966138] fbcon: Deferring console take-over
[    4.966142] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    4.984867] usb 1-2: New USB device found, idVendor=054c, idProduct=0cda, bcdDevice= 1.00
[    4.984874] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.984876] usb 1-2: Product: Controller
[    4.984877] usb 1-2: Manufacturer: Sony Interactive Entertainment
[    4.988117] input: Sony Interactive Entertainment Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:054C:0CDA.0006/input/input17
[    4.988254] hid-generic 0003:054C:0CDA.0006: input,hidraw2: USB HID v1.11 Gamepad [Sony Interactive Entertainment Controller] on usb-0000:00:14.0-2/input0
[    4.989182] input: Sony Interactive Entertainment Controller Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:054C:0CDA.0007/input/input18
[    5.043120] input: Sony Interactive Entertainment Controller System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:054C:0CDA.0007/input/input19
[    5.043214] hid-generic 0003:054C:0CDA.0007: input,hidraw3: USB HID v1.10 Device [Sony Interactive Entertainment Controller] on usb-0000:00:14.0-2/input1
[    5.082316] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20
[    5.092825] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21
[    5.092876] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22
[    5.092913] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23
[    5.099063] Bluetooth: hci0: RTL: fw version 0xdbc6b20f
[    5.154293] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.154298] Bluetooth: BNEP filters: protocol multicast
[    5.154303] Bluetooth: BNEP socket layer initialized
[    5.197069] Bluetooth: hci0: AOSP extensions version v1.00
[    5.197075] Bluetooth: hci0: AOSP quality report is supported
[    5.208417] Bluetooth: MGMT ver 1.23
[    5.258178] block nvme0n1: No UUID available providing old NGUID
[    5.292973] rtw89_8852be 0000:01:00.0: chip rfe_type is 1
[    5.322878] rtw89_8852be 0000:01:00.0: rfkill hardware state changed to enable
[    5.419469] intel_tcc_cooling: TCC Offset locked
[    5.419477] NET: Registered PF_ALG protocol family
[    5.451218] rtw89_8852be 0000:01:00.0 wlp1s0: renamed from wlan0
[    5.452815] intel_rapl_msr: PL4 support detected.
[    5.452860] intel_rapl_common: Found RAPL domain package
[    5.452863] intel_rapl_common: Found RAPL domain core
[    5.452864] intel_rapl_common: Found RAPL domain uncore
[    5.493624] NET: Registered PF_QIPCRTR protocol family
[    5.983689] usb 1-2: USB disconnect, device number 9
[    6.215266] kauditd_printk_skb: 145 callbacks suppressed
[    6.215270] audit: type=1400 audit(1748760457.246:156): apparmor="DENIED" operation="capable" class="cap" profile="/usr/sbin/cupsd" pid=1088 comm="cupsd" capability=12  capname="net_admin"
[    6.237758] usb 1-2: new full-speed USB device number 10 using xhci_hcd
[    6.279920] loop13: detected capacity change from 0 to 8
[    6.366025] usb 1-2: New USB device found, idVendor=057e, idProduct=2009, bcdDevice= 2.10
[    6.366031] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    6.366033] usb 1-2: Product: Pro Controller
[    6.366035] usb 1-2: Manufacturer: Nintendo Co., Ltd.
[    6.366036] usb 1-2: SerialNumber: E417D8670A5A
[    6.370536] nintendo 0003:057E:2009.0008: hidraw2: USB HID v81.11 Joystick [Nintendo Co., Ltd. Pro Controller] on usb-0000:00:14.0-2/input0
[    6.719662] audit: type=1400 audit(1748760457.750:157): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/24505/usr/lib/snapd/snap-confine" pid=1198 comm="snap-confine" capability=12  capname="net_admin"
[    6.719668] audit: type=1400 audit(1748760457.750:158): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/24505/usr/lib/snapd/snap-confine" pid=1198 comm="snap-confine" capability=38  capname="perfmon"
[    6.720794] audit: type=1400 audit(1748760457.751:159): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/24505/usr/lib/snapd/snap-confine" pid=1198 comm="snap-confine" capability=4  capname="fsetid"
[    6.908719] Bluetooth: RFCOMM TTY layer initialized
[    6.908729] Bluetooth: RFCOMM socket layer initialized
[    6.908771] Bluetooth: RFCOMM ver 1.11
[    7.037987] audit: type=1400 audit(1748760458.069:160): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.snapd-desktop-integration" name="/proc/1381/maps" pid=1381 comm="snap-update-ns" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[    7.485158] nintendo 0003:057E:2009.0008: Failed to get joycon info; ret=-71
[    7.485165] nintendo 0003:057E:2009.0008: Failed to retrieve controller info; ret=-71
[    7.485167] nintendo 0003:057E:2009.0008: Failed to initialize controller; ret=-71
[    7.485293] nintendo 0003:057E:2009.0008: probe - fail = -71
[    7.485303] nintendo 0003:057E:2009.0008: probe with driver nintendo failed with error -71
[    7.485420] usb 1-2: USB disconnect, device number 10
[    7.499211] systemd-journald[282]: /var/log/journal/b05b77a8d226475d8b146a8b43eeca39/user-1000.journal: Journal file uses a different sequence number ID, rotating.
[    8.635507] rfkill: input handler disabled
[    9.146167] igc 0000:03:00.0 enp3s0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

And if I plug it in with the system already booted, it correctly detects the manufacturer of the dongle and assigns the correct driver.

Working fine
[    6.788481] audit: type=1400 audit(1748717913.814:160): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.snapd-desktop-integration" name="/proc/1401/maps" pid=1401 comm="snap-update-ns" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[    7.909997] rfkill: input handler disabled
[    8.767160] igc 0000:03:00.0 enp3s0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   25.908733] logitech-hidpp-device 0003:046D:404D.0004: HID++ 4.1 device connected.
[   58.261157] usb 1-2: new full-speed USB device number 6 using xhci_hcd
[   58.390407] usb 1-2: New USB device found, idVendor=2dc8, idProduct=3106, bcdDevice= 1.00
[   58.390429] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   58.390436] usb 1-2: Product: 8BitDo Receiver
[   58.390442] usb 1-2: Manufacturer: 8BitDo
[   58.390447] usb 1-2: SerialNumber: E417D8670A5A
[   58.394583] input: 8BitDo Ultimate Wireless / Pro 2 Wired Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/input/input20
[   58.395258] usb 1-2: USB disconnect, device number 6
[   58.395369] xpad 1-2:1.0: xpad_try_sending_next_out_packet - usb_submit_urb failed with result -19
[   58.664747] usb 1-2: new full-speed USB device number 7 using xhci_hcd
[   58.793163] usb 1-2: New USB device found, idVendor=2dc8, idProduct=3107, bcdDevice= 2.00
[   58.793187] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   58.793195] usb 1-2: Product: IDLE
[   58.793200] usb 1-2: Manufacturer: 8BitDo
[   58.793205] usb 1-2: SerialNumber: E417D8670A5A
[   58.800100] hid-generic 0003:2DC8:3107.0005: hiddev1,hidraw2: USB HID v1.10 Device [8BitDo IDLE] on usb-0000:00:14.0-2/input0

How can I get it to configure correctly at each startup?

Thanks !!

Hi there, I have an 8bitdo controller.

The thing about these is they don’t actually report the correct controller to the system until after the wireless controller is powered-on, and even then, the controller will power-off if it doesn’t have a handler running, e.g. Steam.

So, I think what has to be done here is that you need to simply make sure you have Steam running (or whatever else you’re playing; I only use it with Steam) before you power-on the controller, otherwise it’ll disconnect.

Keep those things in mind, and I think you’ll be OK.

1 Like

I think my problem is not related when I turn on the Xbox controller, but when I connect the 8bitdo dongle to the computer, as it appears in the logs.
I will do the test you mention but it sounds to me that I have already tried it and it still doesn’t work.
I don’t use Steam, I use Steamlink and kodi.
Regards

I used the one from AUR

  1. git clone https://aur.archlinux.org/8bitdo-ultimate-controller-udev.git
  2. move the systemd services in /etc/systemd/system/
  3. move the .rules file in /etc/udev/rules.d/