-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: T818 support #58
Comments
Surprising, but cool.
Not that I'm aware of. The T248 uses the same effect packets as the T300RS, which I've 'documented' in force-effects.txt. The packets that are documented are completely based on Pure speculation, but I would assume the mystery packet(s) are either related to the The Thrustmaster control panel also has some test effects that I couldn't replicate in Considering SDL provides a |
I remember hearing in a review that the T128, T248 and T818 all have the same name in Windows as Thrustmaster Advance Racer, seems to me they unified their software in some way. I checked to see if I will check out SDL Custom FFB types now, thanks for the idea. |
I did extensive testing with rFactor 2 on Logitech wheels using ffbtools three years ago. It only uses a sine wave with amplitude zero and an offset that simulates a constant force. In my experience, the game is handing internally all the effects and sending to the wheel the resulting constant force. I would be surprised if it used custom effects on some wheels, but it's possible. Could it be something related to displays, leds, or something similar in the wheel? Ffbtools has a tool to send raw commands to any USB device from the terminal for testing. |
Entirely possible, though the packet format looks very similar to force feedback packets. Could be double purpose, I don't know. @schlegp saying the game feels different would also point towards the packet having something to do with FFB, but at the same time it's entirely possible the difference could be from how my driver translates the effects to packets compared to the Windows driver, even if the same effect types are used. Slightly different delays, magnitudes, etc. Can't remember off the top of my head if rFactor 2 uses That being said, rFactor 2 is on the list of games that allegedly feel different with the driver installed in the Wine prefix: @schlegp did you already try installing the Thrustmaster drivers inside the prefix? |
I've been able to do some more testing yesterday and have some more understandings. I had already installed the Thrustmaster driver in the games prefix, so I tested the feedback without the driver installed. Interestingly it seemed to feel identical. So either the drivers do not need to be installed anymore, or they are not active after being installed. I tried running I was however able to find a situation where this force feedback differs most. @berarma The tool for sending raw commands to the wheel seems like exactly what would help pinpoint this issue, I will record another session and then try sending a few of these unknown packages to see what they might be doing. |
Update on the current situation: Sending the unknown command to the base directly did not do anything really, although this might also be down to doing something wrong. I found a new command that is being sent by Windows but not by Linux, namely I compared the feeling of FFB in ACC aswell now, there you can feel a stark difference. On Windows you get the feeling of actually feeling the road, while on Linux it feels like you only feel the greater forces acting on the wheel. I decided to use the work of @berarma and use their rawcmd tool to create a little "replay" utility. The intention is to send all force feedback commands captured by wireshark back to the wheelbase with the added possibility of ignoring selected commands. |
Not sure if related, but the wheel has to be initialized to an 'open' mode before it actually accepts FFB packets. See https://github.com/Kimplul/hid-tmff2/blob/master/hid-tmt300rs.c#L1417 for the values used, or you could try setting the module parameter Some other things to maybe keep in mind:
Also, would you mind sharing some of your Windows USB packet captures? I can try sending some raw commands to my wheels, see if I can get anything interesting to happen.
Interesting thought, but no clue why that would be. I personally didn't feel a huge difference between no driver/driver in the games I tested, but I wouldn't say there was no difference. |
So, I have thrown together something simple for now that works quite reliably. For now I tested it running Assetto Corsa Competizione, driving a Porsche around Kyalami. I couldn't feel a difference, although it's hard to replicate the steering wheel movements just by feeling where the car could be using the FFB. Next up is some testing with rFactor 2 and other things. In other good news: Edit: I have also added two wireshark recordings to my repository. The smaller file is just me setting Gain to 100, Damping to 0, Mode to Extreme and running the Force Feedback Test and the long one is the mentioned Porsche Lap around Kyalami with around 50 seconds of setup (setting gain to 100% and starting the game). |
Glad to hear you're making progress. Not exactly surprised Thrustmaster doesn't want to help in this case, but it was worth a shot.
A number of T-series wheels have a special packet to query data from the device, including wheel base and attachment data, used for example here: hid-tmff2/src/tmt300rs/hid-tmt300rs.c Line 1522 in ca16863
I'm not sure but wouldn't be surprised if it worked on the T818 as well. Some example outputs can be seen here: https://github.com/scarburato/hid-tminit/tree/9375f6c7d83af5dd6c8b8fe30351d0f36043b20a#recapitulatory-table Maybe try checking if your captures have it as well, it usually shows up multiple times when you plug the wheel in. |
Hi there.
The T818 has the same device ID as the T248 (b696) so it is immediately picked up by hid-tmff2 and usable.
I recently noticed that it's feeling different than on Windows, so I decided to capture USB packets and check if I can see any differences between Linux and Windows.
This issue is intended as a place for me to gather my findings and for people to chime in if they already have some information.
To find packets differing between Windows and Linux I for now resorted to recording USB packets while running rFactor 2 and comparing the used commands. Most of them are the same but there is one command that is sent a few times that does not seem to be sent by hid-tmff-new.
60 00 --- Default Header
01 --- ID
0b --- Unknown Command
00 00
37 fd --- Unknown values
00 00
ff ff --- Unknown vlaues
00 80 --- Unknown values
I was unable to recreate this command with fedit.exe for now, so I have no clue what it does.
I don't quite understand the code inside t248.c yet, though, so it might be that it was already deciphered.
If anyone cares to chip in or help out, feel free!
The text was updated successfully, but these errors were encountered: