Closed pastaq closed 3 months ago
Hello, thanks for showing interest in this project.
I had a cursory look at the zip file, and it seems like the TMX and TX use different USB command sets. For example, in file force_strength_100-0.pcapng
, packet number 39, the leftover capture data is 43 7f [...]
. From the name of the file, I'm guessing this would be setting the gain of the wheel, and from the other packets I would assume that 43
is the 'set force gain command' and 7f
in this case would be the value to set it to. However, looking at the gain command in my docs, the format that the T300 (and by extension, the TX) uses is 60 02 bf [...]
, meaning that it looks like the two wheels speak a different language.
I did notice that the packet looks a lot like what the T150 driver does for its gain setting, seems like the TMX and T150 might share a command set. See here for the T150 gain setting code: https://github.com/scarburato/t150_driver/blob/bd543aa58c66cea7be76425eb7747de9bce15ea8/hid-t150/forcefeedback.c#L418
If that's the case, adding support for the T150 might allow adding support for the TMX (or vice versa) in a similar way to how T248 and TX wheels use the T300 functionality. Alternatively, you can try patching the T150 driver, would probably take fewer lines of code.
I have some rough outlines of what needs to be done to add support for a new wheel with a different command set, though nobody's done so yet: https://github.com/Kimplul/hid-tmff2/blob/master/docs/CONTRIBUTING.md#how-to-add-in-support-for-a-new-t-series-wheel
Hello, thanks for showing interest in this project.
I had a cursory look at the zip file, and it seems like the TMX and TX use different USB command sets. For example, in file
force_strength_100-0.pcapng
, packet number 39, the leftover capture data is43 7f [...]
. From the name of the file, I'm guessing this would be setting the gain of the wheel, and from the other packets I would assume that43
is the 'set force gain command' and7f
in this case would be the value to set it to. However, looking at the gain command in my docs, the format that the T300 (and by extension, the TX) uses is60 02 bf [...]
, meaning that it looks like the two wheels speak a different language.I did notice that the packet looks a lot like what the T150 driver does for its gain setting, seems like the TMX and T150 might share a command set. See here for the T150 gain setting code: https://github.com/scarburato/t150_driver/blob/bd543aa58c66cea7be76425eb7747de9bce15ea8/hid-t150/forcefeedback.c#L418
If that's the case, adding support for the T150 might allow adding support for the TMX (or vice versa) in a similar way to how T248 and TX wheels use the T300 functionality. Alternatively, you can try patching the T150 driver, would probably take fewer lines of code.
I have some rough outlines of what needs to be done to add support for a new wheel with a different command set, though nobody's done so yet: https://github.com/Kimplul/hid-tmff2/blob/master/docs/CONTRIBUTING.md#how-to-add-in-support-for-a-new-t-series-wheel
Thanks for your quick reply. I'll look into how the t150 works and see if I can get something going here. If I'm honest I'd like to see a unification of TM drivers. It's a bit excessive that there are at least three init projects and two ffb projects all doing basically the same thing in radically different ways.
Hello :)
I'm not a complet Linux noob, but I don't understand the hid-timinit.c. How can I init my TMX Wheel to funtion properly. I have install the Drivers as it says here on Github, but it is only response as FFB Wheel. In F1 2020 I have the Wheel, but it says disconnected. I have also run proton tricks to install the windows driver in my steam prefix.
I would love to has assist. I want learn this :D
@19Topgun93 The TMX works with the T150 driver over in https://github.com/scarburato/t150_driver, try installing it and see what happens.
I suppose there's not much interest getting the T150/TMX wheel(s) added to this project since they already seem to work with the T150 driver, so I think it's fine to close this issue. Would still be cool if someone with access to a T150 looked into it.
Would still be cool if someone with access to a T150 looked into it.
Still on my to-do list, along with getting init done in hid-thrustmaster. Once I'm at a good place with my other input related project I'll be looking into it again. A single unified thrustmaster driver would be really nice.
Can I help? I have my TMX Wheel and Windows as dual boot. I have learned in my work python and javascript, but I'm not a pro. Can I assist you somewhere @pastaq ?
Can I help? I have my TMX Wheel and Windows as dual boot. I have learned in my work python and javascript, but I'm not a pro. Can I assist you somewhere @pastaq ?
I'll ping you for testing when I'm ready for that. The data is available for everything, it just needs to be brought over.
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.
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.
tmx_ff_cap.zip
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
udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/input/event7)
evtest /dev/input/event7
dmesg