hid-tmff2
hid-tmff2 copied to clipboard
Thrustmaster TMX Support
Hi. I'm working on Thurstmaster TMX support. Using the existing TX model as a baseline, and https://github.com/emtek995/TMX-driver to init the two state startup, I have got the module to load and detect the TMX. This has allowed me to load a corrected Report Descriptor and it also seems to enable auto-centering. So far I have not been able to play any FFB effects using fftest.
fftest /dev/input/event7 ✔
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES
Device /dev/input/event7 opened
Features:
* Absolute axes: X, Y, Z, RZ, Hat 0 X, Hat 0 Y,
[27 00 03 00 00 00 00 00 ]
* Relative axes:
[00 00 ]
* Force feedback effects types: Constant, Periodic, Ramp, Spring, Friction, Damper, Rumble, Inertia, Gain, Autocenter,
Force feedback periodic effects: Square, Triangle, Sine, Saw up, Saw down,
[00 00 00 00 00 00 00 00 00 00 FF 1F 03 00 00 00 ]
* Number of simultaneous effects: 16
Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... OK (id 1)
Uploading effect #2 (Spring) ... OK (id 2)
Uploading effect #3 (Damper) ... OK (id 3)
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 4)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 5)
Enter effect number, -1 to exit
0
Now Playing: Sine vibration
Enter effect number, -1 to exit
1
Now Playing: Constant Force
Enter effect number, -1 to exit
2
Now Playing: Spring Condition
Enter effect number, -1 to exit
3
Now Playing: Damping Condition
Enter effect number, -1 to exit
4
Now Playing: Strong Rumble
Enter effect number, -1 to exit
5
Now Playing: Weak Rumble
Enter effect number, -1 to exit
-1
Stopping effects
Everything is detected but so far but nothing plays.
I did some USBPcap captures in windows of each of the FFB effects in the config tool as well as changing configs for gain.
Current status is in my fork's main: https://github.com/pastaq/hid-tmff2/ What would you recommend as a next step? The TX and TMX devices seem very similar based on how they init and the needed Report Descriptor modifications. Reading through #48 didn't provide any insight on where I need to go next.
Some more data:
lsmod | grep tm
hid_tmff_new 73728 0
tmx_driver 16384 0
udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/input/event7)
looking at device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1/3-6.1:1.0/0003:044F:B67F.0005/input/input37/event7':
KERNEL=="event7"
SUBSYSTEM=="input"
DRIVER==""
ATTR{power/control}=="auto"
ATTR{power/runtime_active_time}=="0"
ATTR{power/runtime_status}=="unsupported"
ATTR{power/runtime_suspended_time}=="0"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1/3-6.1:1.0/0003:044F:B67F.0005/input/input37':
KERNELS=="input37"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{capabilities/abs}=="30027"
ATTRS{capabilities/ev}=="20001b"
ATTRS{capabilities/ff}=="31fff0000 0"
ATTRS{capabilities/key}=="1fff00000000 0 0 0 0"
ATTRS{capabilities/led}=="0"
ATTRS{capabilities/msc}=="10"
ATTRS{capabilities/rel}=="0"
ATTRS{capabilities/snd}=="0"
ATTRS{capabilities/sw}=="0"
ATTRS{id/bustype}=="0003"
ATTRS{id/product}=="b67f"
ATTRS{id/vendor}=="044f"
ATTRS{id/version}=="0111"
ATTRS{inhibited}=="0"
ATTRS{name}=="Thrustmaster Thrustmaster TMX Racing Wheel"
ATTRS{phys}=="usb-0000:07:00.3-6.1/input0"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{properties}=="0"
ATTRS{uniq}==""
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1/3-6.1:1.0/0003:044F:B67F.0005':
KERNELS=="0003:044F:B67F.0005"
SUBSYSTEMS=="hid"
DRIVERS=="tmff2"
ATTRS{country}=="00"
ATTRS{damper_level}=="30"
ATTRS{friction_level}=="30"
ATTRS{gain}=="40000"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{range}=="900"
ATTRS{spring_level}=="30"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1/3-6.1:1.0':
KERNELS=="3-6.1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usbhid"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="03"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bNumEndpoints}=="02"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1':
KERNELS=="3-6.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="100mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0100"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="4"
ATTRS{devpath}=="6.1"
ATTRS{idProduct}=="b67f"
ATTRS{idVendor}=="044f"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Thrustmaster"
ATTRS{maxchild}=="0"
ATTRS{power/active_duration}=="1408517"
ATTRS{power/autosuspend}=="2"
ATTRS{power/autosuspend_delay_ms}=="2000"
ATTRS{power/connected_duration}=="1408517"
ATTRS{power/control}=="on"
ATTRS{power/level}=="on"
ATTRS{power/persist}=="1"
ATTRS{power/runtime_active_time}=="1408348"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{product}=="Thrustmaster TMX Racing Wheel"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{remove}=="(not readable)"
ATTRS{rx_lanes}=="1"
ATTRS{speed}=="12"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="65"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6':
KERNELS=="3-6"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="100mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="8536"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="3"
ATTRS{devpath}=="6"
ATTRS{idProduct}=="0608"
ATTRS{idVendor}=="05e3"
ATTRS{ltm_capable}=="no"
ATTRS{maxchild}=="4"
ATTRS{physical_location/dock}=="no"
ATTRS{physical_location/horizontal_position}=="left"
ATTRS{physical_location/lid}=="no"
ATTRS{physical_location/panel}=="front"
ATTRS{physical_location/vertical_position}=="upper"
ATTRS{power/active_duration}=="1409040"
ATTRS{power/autosuspend}=="0"
ATTRS{power/autosuspend_delay_ms}=="0"
ATTRS{power/connected_duration}=="1409040"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/runtime_active_time}=="1408774"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{product}=="USB2.0 Hub"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{remove}=="(not readable)"
ATTRS{rx_lanes}=="1"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="37"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3':
KERNELS=="usb3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0606"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0002"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 6.6.4-arch1-1 xhci-hcd"
ATTRS{maxchild}=="6"
ATTRS{power/active_duration}=="1409474"
ATTRS{power/autosuspend}=="0"
ATTRS{power/autosuspend_delay_ms}=="0"
ATTRS{power/connected_duration}=="1409474"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/runtime_active_time}=="1409471"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{product}=="xHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{remove}=="(not readable)"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="0000:07:00.3"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="75"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3':
KERNELS=="0000:07:00.3"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{current_link_speed}=="16.0 GT/s PCIe"
ATTRS{current_link_width}=="16"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x149c"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="39"
ATTRS{link/l0s_aspm}=="0"
ATTRS{link/l1_aspm}=="0"
ATTRS{local_cpulist}=="0-15"
ATTRS{local_cpus}=="0000ffff"
ATTRS{max_link_speed}=="16.0 GT/s PCIe"
ATTRS{max_link_width}=="16"
ATTRS{msi_bus}=="1"
ATTRS{msi_irqs/78}=="msix"
ATTRS{msi_irqs/79}=="msix"
ATTRS{msi_irqs/80}=="msix"
ATTRS{msi_irqs/81}=="msix"
ATTRS{msi_irqs/82}=="msix"
ATTRS{msi_irqs/83}=="msix"
ATTRS{msi_irqs/84}=="msix"
ATTRS{msi_irqs/85}=="msix"
ATTRS{numa_node}=="-1"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="1410729"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="enabled"
ATTRS{power/wakeup_abort_count}=="0"
ATTRS{power/wakeup_active}=="0"
ATTRS{power/wakeup_active_count}=="0"
ATTRS{power/wakeup_count}=="0"
ATTRS{power/wakeup_expire_count}=="0"
ATTRS{power/wakeup_last_time_ms}=="0"
ATTRS{power/wakeup_max_time_ms}=="0"
ATTRS{power/wakeup_total_time_ms}=="0"
ATTRS{power_state}=="D0"
ATTRS{remove}=="(not readable)"
ATTRS{rescan}=="(not readable)"
ATTRS{reset}=="(not readable)"
ATTRS{reset_method}=="pm"
ATTRS{resource0}=="(not readable)"
ATTRS{revision}=="0x00"
ATTRS{subsystem_device}=="0x148c"
ATTRS{subsystem_vendor}=="0x1022"
ATTRS{vendor}=="0x1022"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0':
KERNELS=="0000:03:08.0"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="16.0 GT/s PCIe"
ATTRS{current_link_width}=="16"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x57a4"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="2"
ATTRS{irq}=="36"
ATTRS{local_cpulist}=="0-15"
ATTRS{local_cpus}=="0000ffff"
ATTRS{max_link_speed}=="16.0 GT/s PCIe"
ATTRS{max_link_width}=="16"
ATTRS{msi_bus}=="1"
ATTRS{msi_irqs/36}=="msi"
ATTRS{numa_node}=="-1"
ATTRS{power/autosuspend_delay_ms}=="100"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="1410738"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{power_state}=="D0"
ATTRS{remove}=="(not readable)"
ATTRS{rescan}=="(not readable)"
ATTRS{reset}=="(not readable)"
ATTRS{reset_method}=="pm"
ATTRS{revision}=="0x00"
ATTRS{secondary_bus_number}=="7"
ATTRS{subordinate_bus_number}=="7"
ATTRS{subsystem_device}=="0x1484"
ATTRS{subsystem_vendor}=="0x1022"
ATTRS{vendor}=="0x1022"
looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0':
KERNELS=="0000:02:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="8.0 GT/s PCIe"
ATTRS{current_link_width}=="4"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x57ad"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="2"
ATTRS{irq}=="24"
ATTRS{link/l1_1_aspm}=="0"
ATTRS{link/l1_1_pcipm}=="0"
ATTRS{link/l1_aspm}=="0"
ATTRS{local_cpulist}=="0-15"
ATTRS{local_cpus}=="0000ffff"
ATTRS{max_link_speed}=="8.0 GT/s PCIe"
ATTRS{max_link_width}=="8"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{power/autosuspend_delay_ms}=="100"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="1410743"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{power_state}=="D0"
ATTRS{remove}=="(not readable)"
ATTRS{rescan}=="(not readable)"
ATTRS{reset}=="(not readable)"
ATTRS{reset_method}=="pm bus"
ATTRS{revision}=="0x00"
ATTRS{secondary_bus_number}=="3"
ATTRS{subordinate_bus_number}=="9"
ATTRS{subsystem_device}=="0x0000"
ATTRS{subsystem_vendor}=="0x0000"
ATTRS{vendor}=="0x1022"
looking at parent device '/devices/pci0000:00/0000:00:01.2':
KERNELS=="0000:00:01.2"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="8.0 GT/s PCIe"
ATTRS{current_link_width}=="4"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x1453"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="2"
ATTRS{irq}=="28"
ATTRS{local_cpulist}=="0-15"
ATTRS{local_cpus}=="0000ffff"
ATTRS{max_link_speed}=="8.0 GT/s PCIe"
ATTRS{max_link_width}=="4"
ATTRS{msi_bus}=="1"
ATTRS{msi_irqs/28}=="msi"
ATTRS{numa_node}=="-1"
ATTRS{power/autosuspend_delay_ms}=="100"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="1410747"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/wakeup}=="enabled"
ATTRS{power/wakeup_abort_count}=="0"
ATTRS{power/wakeup_active}=="0"
ATTRS{power/wakeup_active_count}=="0"
ATTRS{power/wakeup_count}=="0"
ATTRS{power/wakeup_expire_count}=="0"
ATTRS{power/wakeup_last_time_ms}=="0"
ATTRS{power/wakeup_max_time_ms}=="0"
ATTRS{power/wakeup_total_time_ms}=="0"
ATTRS{power_state}=="D0"
ATTRS{remove}=="(not readable)"
ATTRS{rescan}=="(not readable)"
ATTRS{reset}=="(not readable)"
ATTRS{reset_method}=="pm"
ATTRS{revision}=="0x00"
ATTRS{secondary_bus_number}=="2"
ATTRS{subordinate_bus_number}=="9"
ATTRS{subsystem_device}=="0x1453"
ATTRS{subsystem_vendor}=="0x1022"
ATTRS{vendor}=="0x1022"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{waiting_for_supplier}=="0"
evtest /dev/input/event7
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x44f product 0xb67f version 0x111
Input device name: "Thrustmaster Thrustmaster TMX Racing Wheel"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 288 (BTN_TRIGGER)
Event code 289 (BTN_THUMB)
Event code 290 (BTN_THUMB2)
Event code 291 (BTN_TOP)
Event code 292 (BTN_TOP2)
Event code 293 (BTN_PINKIE)
Event code 294 (BTN_BASE)
Event code 295 (BTN_BASE2)
Event code 296 (BTN_BASE3)
Event code 297 (BTN_BASE4)
Event code 298 (BTN_BASE5)
Event code 299 (BTN_BASE6)
Event code 300 (?)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 1023
Fuzz 3
Flat 63
Event code 2 (ABS_Z)
Value 0
Min 0
Max 1023
Fuzz 3
Flat 63
Event code 5 (ABS_RZ)
Value 0
Min 0
Max 1023
Fuzz 3
Flat 63
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Event type 21 (EV_FF)
Event code 80 (FF_RUMBLE)
Event code 81 (FF_PERIODIC)
Event code 82 (FF_CONSTANT)
Event code 83 (FF_SPRING)
Event code 84 (FF_FRICTION)
Event code 85 (FF_DAMPER)
Event code 86 (FF_INERTIA)
Event code 87 (FF_RAMP)
Event code 88 (FF_SQUARE)
Event code 89 (FF_TRIANGLE)
Event code 90 (FF_SINE)
Event code 91 (FF_SAW_UP)
Event code 92 (FF_SAW_DOWN)
Event code 96 (FF_GAIN)
Event code 97 (FF_AUTOCENTER)
Properties:
dmesg
[ 1621.971860] usb 3-6.1: new full-speed USB device number 7 using xhci_hcd
[ 1622.084645] usb 3-6.1: New USB device found, idVendor=044f, idProduct=b67e, bcdDevice= 1.01
[ 1622.084654] usb 3-6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1622.084659] usb 3-6.1: Product: Thrustmaster TMX GIP Racing Wheel
[ 1622.084663] usb 3-6.1: Manufacturer: Thrustmaster
[ 1622.084667] usb 3-6.1: SerialNumber: 000055AEDE480218
[ 1622.179675] probing for wheel
[ 1622.190680] Error maybe?
[ 1622.276480] usb 3-6.1: USB disconnect, device number 7
[ 1622.276552] disconnect the wheel
[ 1622.994927] usb 3-6.1: new full-speed USB device number 8 using xhci_hcd
[ 1623.104629] usb 3-6.1: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00
[ 1623.104638] usb 3-6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1623.104643] usb 3-6.1: Product: Thrustmaster FFB Wheel
[ 1623.104647] usb 3-6.1: Manufacturer: Thrustmaster
[ 1623.176713] probing for wheel
[ 1623.181664] Error maybe?
[ 1623.300339] usb 3-6.1: USB disconnect, device number 8
[ 1623.348141] disconnect the wheel
[ 1624.018106] usb 3-6.1: new full-speed USB device number 9 using xhci_hcd
[ 1624.127613] usb 3-6.1: New USB device found, idVendor=044f, idProduct=b67f, bcdDevice= 1.00
[ 1624.127622] usb 3-6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1624.127627] usb 3-6.1: Product: Thrustmaster TMX Racing Wheel
[ 1624.127631] usb 3-6.1: Manufacturer: Thrustmaster
[ 1624.201076] input: Thrustmaster Thrustmaster TMX Racing Wheel as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.3/usb3/3-6/3-6.1/3-6.1:1.0/0003:044F:B67F.000C/input/input38
[ 1624.201285] tmff2 0003:044F:B67F.000C: input,hidraw4: USB HID v1.11 Joystick [Thrustmaster Thrustmaster TMX Racing Wheel] on usb-0000:07:00.3-6.1/input0
[ 1624.226844] tmff2 0003:044F:B67F.000C: force feedback for TMX