blob: 57f881d650c7b3c3080dc0f9a7262acb3f6266ce (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# hid-tminit
Linux driver to properly initialize Thrustmaster Wheels, based on [this](https://github.com/Kimplul/hid-tmff2) driver written by Kimplul
When connected to the machine, the Thrustmaster wheels appear as
a «generic» hid gamepad called `Thrustmaster FFB Wheel`.
When in this mode not every functionality of the wheel, like the force feedback,
are available. To enable all functionalities of a Thrustmaster wheel we have to send
to it a specific USB CONTROL request with a code different for each wheel.
This driver tries to understand which model of Thrustmaster wheel the generic
`Thrustmaster FFB Wheel` really is and then sends the appropriate control code.
## Wheels supported
You can check the table of wheels supported in `hid-tminit.c`, they are stored in the array `th_wheels_infos[]`
## Recapitulatory table
This table may be outdated.
My new guess is the control packet with `usb.setup.bRequest == 73`, is suspiciously near the control packet used to switch the wheel mode and the response of the wheel seems to remain the same after the upgrade
|Model| Response| bytes +6, +7|
|--------------------------------|---------------------------------------------------------|---|
|T150 (same both my and @Kimplul)| 0x49002100000006030000000000000000| 0x0603|
|T300 (@Kimplul) | 0x49000301010006021300000005010000| 0x0602|
|T300 (cap from Gitlab) | 0x49002100000006020000000000000000| 0x0602|
|T300 Ferrari Alcantara Edition | 0x49000200010004021300000005010000| 0x0402|
|TMX | 0x4700410000000704 | 0x0704 |
|T500 | 0x4700030000000200 | 0x0200 |
[Original discussion](https://github.com/Kimplul/hid-tmff2/issues/3)
|