WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: [Solved] xbox controller not working on TCL16 x86_64  (Read 8552 times)

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #30 on: December 27, 2025, 10:56:57 PM »
change mode xinput
Code: [Select]
KERNEL[12752.355903] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/input/input22/event14 (input)
UDEV  [12752.356470] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/input/input22/event14 (input)
KERNEL[12752.382210] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/input/input22 (input)
KERNEL[12752.382234] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/hidraw/hidraw1 (hidraw)
KERNEL[12752.382262] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009 (hid)
KERNEL[12752.382277] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009 (hid)
KERNEL[12752.382321] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[12752.382336] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12752.382530] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/input/input22 (input)
UDEV  [12752.382605] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009/hidraw/hidraw1 (hidraw)
KERNEL[12752.462215] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input23/event15 (input)
UDEV  [12752.462776] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input23/event15 (input)
KERNEL[12752.505879] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input23 (input)
UDEV  [12752.506199] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input23 (input)
KERNEL[12752.555871] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input24/event16 (input)
UDEV  [12752.556345] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input24/event16 (input)
KERNEL[12752.582294] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input24 (input)
KERNEL[12752.582331] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/hidraw/hidraw2 (hidraw)
KERNEL[12752.582345] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A (hid)
KERNEL[12752.582390] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A (hid)
KERNEL[12752.582430] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
KERNEL[12752.582442] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV  [12752.582630] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/input/input24 (input)
UDEV  [12752.583011] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A/hidraw/hidraw2 (hidraw)
KERNEL[12752.584507] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12752.584521] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009 (hid)
KERNEL[12752.584536] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12752.584546] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A (hid)
UDEV  [12752.584654] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0526.0009 (hid)
UDEV  [12752.584667] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/0003:2563:0526.000A (hid)
UDEV  [12752.706051] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12752.706080] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV  [12752.706157] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12752.706168] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV  [12752.706469] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12752.706610] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12753.258602] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12753.267127] change   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12753.267178] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[12753.267262] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12753.267689] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12753.268051] change   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12753.270997] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12753.271433] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
full usb changes to
Code: [Select]
lsusb changes to
Bus 001 Device 009: ID 045e:028e Microsoft Corp. Xbox360 Controller

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #31 on: December 27, 2025, 10:58:13 PM »
change mode to DINPUT
Code: [Select]
KERNEL[12985.744906] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12985.745076] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[12985.747151] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12985.747197] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12985.869431] unbind   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12985.869599] remove   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12986.589340] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[12986.601722] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[12986.608033] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B (hid)
KERNEL[12986.608168] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/input/input25 (input)
KERNEL[12986.659162] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/input/input25/event14 (input)
KERNEL[12986.659195] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/hidraw/hidraw1 (hidraw)
KERNEL[12986.659211] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B (hid)
KERNEL[12986.659226] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[12986.659271] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12986.659776] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [12986.660013] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12986.660253] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B (hid)
UDEV  [12986.660694] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/hidraw/hidraw1 (hidraw)
UDEV  [12986.664119] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/input/input25 (input)
UDEV  [12986.668536] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B/input/input25/event14 (input)
UDEV  [12986.669069] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:2563:0575.000B (hid)
UDEV  [12986.669300] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [12986.669619] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)

full ids are 2563:0575

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #32 on: December 27, 2025, 10:59:38 PM »
change mode to DINPUT simulation mode
no change to udevadm monitor
ids are ID 2563:0575

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #33 on: December 27, 2025, 11:05:19 PM »
Quote
But the kernel is not your problem, it’s a missing driver or udev interaction, or user space driver

I don't have a problem not being able to build the K and its modules correctly to get usbcore.
Based on your answer....I will wait to see if anyone, including you can spot something we have not discussed....and because the game works....and its open source not any naughty wad licence issues etc
I plan to submit it for checking in a week from now....if its rejected I have to accept reality

thankyou for your time and expertise in spotting its not what I thought it was.

Offline patrikg

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 826
Re: xbox controller not working on TCL16 x86_64
« Reply #34 on: December 28, 2025, 06:51:16 AM »
I have failed to compile kernel...for reasons I know not.
After copying .config to my build dir
file:///home/tc/1builds/KERNEL/linux-6.12.11/.config  was editted to
CONFIG_USB=y -> CONFIG_USB=m
and after I ran make -j6 bzImage # 8 minutes 
I went back to just to check my .config and it has reverted

Feel free to have a laugh.  I have built external modules in the past.
I did not attempt to run make -j6 modules with that bad config as the kernel would still have usbcore inbuilt
I don't laugh about another's problems, I tries to solve them. :) 
My best suggestion of what to do is to run
Code: [Select]
make menuconfig and search for USB(with the "/" key)

And get the "Selected by [n]: " to determined whats config that's selects the CONFIG_USB.

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #35 on: December 28, 2025, 07:16:01 AM »
hi patrikg
Paul_123 is suggesting my issue is not the kernel with inbuilt usbcore.
I will defer to his judgement. As I said...I can play the game without a controller so its not the end of the world.

I am interested if anyone on TC x86_64 has a working gamepad tho.

Offline Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1500
Re: xbox controller not working on TCL16 x86_64
« Reply #36 on: December 28, 2025, 08:33:47 AM »
That all looks like it’s working, so then that might point to a user space driver issue.

I wonder if something like evtest would show what/if data is coming from the input devices.

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12589
Re: xbox controller not working on TCL16 x86_64
« Reply #37 on: December 28, 2025, 11:09:44 AM »
Hi aus9
I agree with Paul_123, I don't think it's because CONFIG_USB is built in.

However, for future reference, Paul_123 and patrikg are absolutely
correct about using  make menuconfig  if you wish to make changes
to the  .config  file. The  .config  file is too complex to edit manually.

There are interactions between  CONFIG_  options, including:

Certain options behave as a group:
    if one is built in, all must be built in.
    If one is a module, all must be modules.

Some options force other options to be enabled or disabled.

Some options control whether other categories of options can be accessed:
    CONFIG_USB_SUPPORT=y  makes usb options accessible.

I'll end this by saying I personally would never edit  .config  manually.

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12589
Re: xbox controller not working on TCL16 x86_64
« Reply #38 on: December 28, 2025, 11:11:31 AM »
Hi aus9
... I wonder if something like evtest would show what/if data is coming from the input devices.

If you want to see the data coming from the controller, try this:
Code: [Select]
udevadm monitor --property > xbox.txt
Then plug in the controller.

wait 5 or 10 seconds, then:
Code: [Select]
Ctrl-C
If you look at xbox.txt, you should find  KERNEL  events:
Code: [Select]
KERNEL[1299700.962279] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/host7/scsi_host/host7 (scsi_host)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/host7/scsi_host/host7
SEQNUM=10672
SUBSYSTEM=scsi_host
UDEV_LOG=3

and  UDEV  events:
Code: [Select]
UDEV  [1299700.964345] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/host7/scsi_host/host7 (scsi_host)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/host7/scsi_host/host7
SEQNUM=10672
SUBSYSTEM=scsi_host
UDEV_LOG=3
USEC_INITIALIZED=1299700964241
(The above are examples, not actual xbox events).

I don't know how many events that will create, but I wrote a script that
lets you find the events that interest you. I will attach a copy.

... I agree, it could be a udev rule so here is the other distro rule
70-joystick.rules
Code: [Select]
# do not edit this file, it will be overwritten on update

ACTION=="remove", GOTO="joystick_end"
ENV{ID_INPUT_JOYSTICK}=="", GOTO="joystick_end"
KERNEL!="event*", GOTO="joystick_end"

# joystick:<bustype>:v<vid>p<pid>:name:<name>:*
KERNELS=="input*", ENV{ID_BUS}!="", \
        IMPORT{builtin}="hwdb 'joystick:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \
        GOTO="joystick_end"

LABEL="joystick_end"
...
It appears to be looking for  KERNEL  events that have both
ID_INPUT_JOYSTICK  and  ID_BUS  present in them.

So if  udevadm  returned a lot of events, you can try reducing the clutter
by searching for events that contain items of interest, for example:
Code: [Select]
./RecordScan.sh xbox.txt KERNEL 'ID_INPUT_JOYSTICK' 'ID_BUS'
« Last Edit: December 28, 2025, 01:29:51 PM by Rich »

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #39 on: December 28, 2025, 05:47:26 PM »
Quote
That all looks like it’s working, so then that might point to a user space driver issue.
Yes and my fault for not reporting earlier results that I knew....but we got there eventually. So this is why I won't pursue Rich suggestion. I have built linuxconsoletools that contain jstest.....a cli tester of pressing buttons or triggers. And I planned to submit it.....depending on what we discovered here.

I built a GUI that fails on wayland but show the Xorg output here. Image expires in one week. I did not need to screenshot the terminal output but the terminal output is a little like jstest.
https://i.postimg.cc/fLH4jbfk/screenshot-1226140509.png
If you look at the GUI image if interested, I have held up the left stick and screenshot. GUI can also map....but I have not mapped a keyboard button which is why you are seeing "No Key"

At the risk of repeating myself.....I knew that I could see joystick/gamepad events. What I did not compute was that my failure to see any controller is because either:
(a)  have built the game poorly, or
(b) the game is looking for something that I have not compiled....or
(c) the game developer is expecting a different environment and so is not giving me the information I need to make the userland package work with a gamepad.

There may be more permutations. But in compiling the various games I never saw an output saying I was missing something....or equally it would bork if I was missing something the developer wanted....so I am stumped on this userland reality.

I tried to use a gamepad with some of the other games I build where I mention
input-joystick-KERNEL. EG I built abe in jan 2025 and did not own a gamepad at time of build. I can not get the gamepad recognised. I am still interested if anyone on either x86 x86_64 or RPi has any gamepad/joystick working. I could then build the game (privately or submit) once I know what I am doing.
« Last Edit: December 28, 2025, 05:54:24 PM by aus9 »

Offline aus9

  • Full Member
  • ***
  • Posts: 116
Re: xbox controller not working on TCL16 x86_64
« Reply #40 on: December 28, 2025, 06:04:06 PM »
Rich
Quote
Certain options behave as a group:
    if one is built in, all must be built in.
    If one is a module, all must be modules.

hmm then maybe we need to look at the 64 if that is a rule I can see potential configs that conflict?
Groups  below indicate consecutive lines....a non-exhaustive list of lines

CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=m

CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m

# end of Surface System Aggregator Module HID support
CONFIG_SURFACE_HID_CORE=m
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set


Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12589
Re: xbox controller not working on TCL16 x86_64
« Reply #41 on: December 28, 2025, 08:13:10 PM »
Hi aus9
It has nothing to do with where they show up in the  .config  file.

It's about module dependencies and resolving the symbols of
those modules. Loadable modules can resolve those symbols
when those modules and their dependencies get loaded.

When a module gets compiled into the kernel, its dependencies
get compiled in too and symbols get resolved somewhere in the
compile and link process.


... I went back to just to check my .config and it has reverted ...
After you copy  .config  to your build directory, you want to:
Code: [Select]
make oldconfig
make menuconfig
The first line reads the current configuration to use as a starting point.
The second line is where you use the menu system to make any changes.

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1793
Re: xbox controller not working on TCL16 x86_64
« Reply #42 on: December 29, 2025, 12:37:03 PM »
Hello, Rich, Paul_123, aus9. I got my hands on another one of these xbox gamepads, to take another stab at solving this.

I'm comparing the behavior of a fully updated TCL16 x86_64 frugal install vs. fully updated Devuan Excalibur install. Same gamepad, same laptop (X230 Thinkpad), same game.

What's the same for TCL16 and Devuan:
1.  xpad  kernel module is automatically loaded and  /dev/input/js0  is automatically created when I plugin the gamepad
2. I see activity in the terminal when I run  jstest /dev/input/js0  and press buttons on the gamepad

What's different for TCL16 vs. Devuan:
1. Random game from gog.com (Baldur's Gate: Dark Alliance) is perfectly playable with gamepad when running in Devuan, but the game does not respond to any gamepad button presses when running in TCL

Note that the game otherwise works well in TCL (smooth video and sound) and is playable with the keyboard, although using the keyboard for this game is really not what we want.

I see in this thread that  udev  rules have been suggested as a possible culprit. Based on the output of  udevadm test  in both Devuan and TCL (see attached), I think  udev  rules may be innocent. What other possibilities should we investigate?
« Last Edit: December 29, 2025, 12:38:35 PM by GNUser »

Offline gadget42

  • Hero Member
  • *****
  • Posts: 1013
** WARNING: connection is not using a post-quantum kex exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
** Also see: post quantum internet 2025 - https://blog.cloudflare.com/pq-2025/

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1793
Re: xbox controller not working on TCL16 x86_64
« Reply #44 on: December 29, 2025, 03:43:59 PM »
Hi gadget42. Thanks for the link. That user's problem was that his system didn't have any driver listed for the gamepad in the output of  lsusb -t  . I don't think that's my problem, though, since I am seeing a driver (xpad) listed:

Code: [Select]
TCL$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=xpad, 12M # xpad appears here as expected
...