-
Notifications
You must be signed in to change notification settings - Fork 18
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
Ferrari F1 Wheel support #28
Comments
Hi, thanks for the report. First of all, could you clarify what you mean by
Do you mean that the buttons won't work, or that the device doesn't show up at all in |
It shows up as "Thrustmaster FFB Wheel" in lsusb. But in Oversteer it doesn't show op at all |
Thanks, that sounds like the attachment causes the wheel to report itself under a different ID than the PlayStation attachment. @scarburato has a table of known IDs over at https://github.com/scarburato/hid-tminit Could you post |
This one? |
Yep, thanks. I'll try adding that ID to hid-tminit tomorrow, I'm not home at the moment. If you don't want to wait that long you can try adding Although this does make me think that the lower byte represents possible wheel attachments and the higher byte is the base. So maybe the init model should be changed to only check the base? Not sure. |
And yeah, I guess the second byte is the base |
Even after adding the new line, I still get unknown model id in dmesg, but interestingly my mouse stops working |
The mouse thing is weird, not sure what that's about. Did you run |
I just rebooted my pc, as I didn't know how to reload the module. And yes, I forgot to change the length to 6🤦🏼♂️ I'll try tomorrow |
Hi, I forked a version of https://github.com/Kimplul/hid-tminit Should be just |
Ah yes, the problem is that I'm on 5.13 and had to do I've got one more question, you can select an 'Advanced Mode' on Windows, which maps a few buttons differently. (There are two joysticks on the F1 Wheel and if in "normal" mode, it treats them as one, if you select advanced, it treats one as a joystick and the other as individual buttons). I probably have to listen to the USB traffic using Wireshark, select advanced mode on windows and see what happens, right? |
That's unfortunately expected. The wheel breaks the USB spec by completely killing off the connection as soon as it initializes, and that results in an error code. Me and @scarburato discussed whether we should suppress the error, but decided against it, as we couldn't figure out which error codes were 'good' and which were 'bad'.
Yep, pretty much. I wrote up a quick guide on how I did my captures here: If that's not detailed enough, I'd be glad to hop on to a discord call (or chat, whichever you prefer) and try to answer questions. There's a number of tidbits of information in past issues for this project, but (#25) is probably the most useful thread at the moment. I'm sure there are also a number of blog posts etc. about USB packet capture, but none that I can see that would directly touch on Thrustmaster devices. |
Nice, thank you! I'll try around a little and if I get stuck, I'll post a comment here and we can hop on a call👍 |
Hi, I wanted to start trying stuff out tomorrow. Do I need a VM running Windows, or is it also possible to use a fresh windows install? |
Should be doable from within native Windows with Wireshark, but the setup is a bit different from what I described earlier. The wireshark wiki has a brief section on it: I'm not sure if the USB packet formatting is different depending on which platform is used, but the actual content of the packets should still be the same. |
t300_advanced_toggling.zip I don't know anything about USB, but I think the switching happens between or around the two URB_FUNCTION_ABORT_PIPE? |
I think it might actually happen earlier. When switching from normal to advanced, it seems that the wheel's USB device ID changes from Should be relatively simple to add in a flag of some kind that causes the driver to send out the mode switch command. I have exams coming up in a couple of days so I'll focus on them for the time being and come back to this issue next week. You're of course free to grok around the source code, just be sure to do it in a VM so you don't accidentally brick your OS. |
I'd try myself, but I don't know anything about drivers and I have no clue what happens in the code haha. Good luck ony our exams! |
Alright, hello again, I just pushed a commit into https://github.com/Kimplul/hid-tmff2/tree/adv that adds in an On my machine and my wheel the command above didn't do anything, but it could be because I don't have the required attachment, not sure. I quickly checked that the actual command that is sent out seems to be identical to the one that you captured, but I could very well be overlooking something. |
How do I figure out which id is correct? I have quite a lot of directories in the devices directory |
The I usually just let autocomplete show me which devices are connected and look for |
Can you add me on discord Reazer#9411 ? i don't have an adv_mode file in the |
Hi, I've got a T300rs and the (old) Ferrari F1 Wheel attachment.
When using the normal PlayStation attachment, everything's working fine, but whenever I use my F1 Wheel, it's not getting picked up by the driver.
I'm willing to test/help with anything you need! :)
The text was updated successfully, but these errors were encountered: