batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.92k stars 494 forks source link

Wired USB ThrustMaster eSwap X 2 PRO not recognized in Controller Mapping for V39 on GMKTec K6 #12116

Open malachid opened 1 month ago

malachid commented 1 month ago

Batocera build version

39 2024/03/04 10:11

Your architecture

GMKTec K6, AMD Ryzen 7 7840HS (8c/16t 3.8-5.1Ghz)

Your Graphic Processor Unit(s) (GPU)

Integrated Radeon 780M

Issue description

This is a new Batocera build. I am trying to configure the Thrustmaster eSwap X2 Pro. It shows up in lsusb, but not in evtest or sdl2-jstest or in the Controller Mapping UI

Detailed reproduction steps

I installed on new dedicated hardware with Etcher onto the NVME. Batocera boots up. There is a keyboard attached so that I can navigate to the controller mapping page. Plugging the controller into any of the USB ports results in the same outcome (lsusb but nothing else). I bought two of them and have tried them both. When plugged in, a light on the controller briefly flashes

Details of any attempts to fix this yourself

  1. tried multiple udev rules in /userdata/system/udev/rules.d/99-eswap.rules based on dmesg, lsusb and entries in /etc/udev/rules.d
  2. tried running evtest, but it doesn't see it
  3. tried running sdl-jstest, but it doesn't see it
  4. verified the controller didn't have a switch to change modes
  5. verified the NucBox did not have an option to disable the IOMMU in the bios
  6. checked all of the other settings in the bios
  7. added hid.ignore_special_drivers=1 to /boot/EFI/batocera/syslinux.cfg

Details of any modifications you have made to Batocera.

Current attempted udev rule:

# ThrustMaster, Inc. eSwap X 2 PRO Controller Xbox
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="044f", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="d01a", MODE="0660", TAG+="uaccess"

Current APPEND line:

APPEND label=BATOCERA console=tty3 quiet loglevel=0 vt.global_cursor_default=0 mitigations=off hid.ignore_special_drivers=1

Logs and data

All new hardware with fresh install of v39

dmesg:

[  269.553809] usb 1-1: USB disconnect, device number 2
[  282.076950] usb 1-1: new full-speed USB device number 5 using xhci_hcd
[  282.242513] usb 1-1: New USB device found, idVendor=044f, idProduct=d01a, bcdDevice= 1.00
[  282.242518] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  282.242519] usb 1-1: Product: eSwap X 2 PRO Controller Xbox
[  282.242520] usb 1-1: Manufacturer: ThrustMaster
[  282.242521] usb 1-1: SerialNumber: 0000197AC1A6FDC3

lsusb:

Bus 001 Device 005: ID 044f:d01a ThrustMaster, Inc. eSwap X 2 PRO Controller Xbox

evtest:

[root@BATOCERA /userdata/system]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Power Button
/dev/input/event1:  AT Translated Set 2 keyboard
/dev/input/event2:  Video Bus
/dev/input/event3:  HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event4:  HD-Audio Generic HDMI/DP,pcm=7
/dev/input/event5:  HD-Audio Generic HDMI/DP,pcm=8
/dev/input/event6:  HD-Audio Generic Mic
/dev/input/event7:  HD-Audio Generic Headphone
/dev/input/event8:  Logitech USB Keyboard
/dev/input/event9:  Logitech USB Keyboard

jstest:

[root@BATOCERA /userdata/system]# sdl2-jstest --list
No joysticks were found
malachid commented 1 month ago

batocera-support-20240723202323.tar.gz

Tovarichtch commented 1 month ago

Is this thing even supported in linux? Only information about it is linked to xone github page.

malachid commented 1 month ago

That's a good question. I thought it would be good to try since it would allow me to use different controller configurations for different games.

With it showing up in lsusb, I almost feel like my udev rule must not be right.