-
Notifications
You must be signed in to change notification settings - Fork 8
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
support for thrustmaster tx leather edition #18
Comments
I might be wrong, but I believe the TX is in the same camp as the TMX, namely that they both require some kind of followup to fully be initialized. Support for such wheels doesn't currently exist, I guess mostly because we don't own one to test with. There seems to be a configuration file in tmdrv for the TX, though I'm not aware of a force feedback driver for it, so even if you get it initialized you would only have buttons, no rumbling etc. |
"we don't own one to test with"... I have one and willing to help and test if instructions are given. Noob here. I've done a bit of digging and: lsusb returns: Not perfectly the same model/device , tx gip vs tx leather, but might work anyway. So ,after seing that, even if kde neon did see it their "game controller" application, I started eurotruck simulator 2. Sadly wheel/pedals are not displayed/seen. I don't know if this is the right place, 'cause i've also seen something at https://github.com/Kimplul/hid-tmff2 Like I've said I'm willing to help if noob/clear instruction are given to fix this. :) thank you. |
Nice of you to offer, greatly appreciated. Just to clarify some things, Thrustmaster wheels have a weird thing where they at first show up as a 'Generic Thrustmaster Wheel', after which they require your computer to send them some initialization packets that restart the wheel into a mode where it can generate force feedback (FFB). From there an 'actual' driver can pick up the wheel and start controlling the FFB and actually make it usable in games. This driver is the first kind, just kickstarts the wheel, and projects such as https://github.com/Kimplul/hid-tmff2 are of the second, 'actual' driver type. In the TX's case it seems that both drivers need some work. Speaking of, there's already an open issue about TX support over in Kimplul/hid-tmff2#48. It's unclear to me how different the leather edition is from the base model, but I would assume it's still relevant to the discussion. Anycase, I'd recommend reading through the thread, there are some general outlines of what might need to be done and if you still feel up for helping then hit me up, we can go into more details. |
ok, read the link on what to expect. Nothing dangerous except the mention "driver apparently causes the wheel to brick itself" but if does not apply to this case or just an eventual "unplug-replug" is enough and the modules wont "destroy" my linux installation (got this computer only, no other). I'm ready to follow/test instructions. for information: |
Great. I'm curious how similar the actual USB packet format is to the T300, would you mind doing some FFB captures? I have a short writeup of what to do over in https://github.com/Kimplul/hid-tmff2/wiki#how-to-capture-what-usb-packets-the-driver-sends-to-the-device. Forking the repo and uploading your captures to your fork might be a good way to share your captures. As for buttons not working, did you test other games besides Eurotruck Simulator 2? Do the buttons work in other applications? For example, does |
done: -dmesg returns: -lsbusb: then I've done: results: |
Pretty interesting, sounds like the wheel isn't reporting itself as a HID device. Are there different modes to the wheel? PS3/PS4/PC/XBox? If there are, which ones have you tried? |
Don't think so. There's a button "mode" but that is to change the pedals mode, clutch/brake position. |
While waiting for thrustmaster, I tried the following: Rebooting pc/o.s. doesn't change anything to the above but if for whatever reason I unplug the wheel, either the usb cable or the power cord, the wheel initializes itself but with the xbox led on and linux ... back to square one. |
You might want to look at installing Windows on a virtual machine so you don't have to reboot. I'm guessing you were trying to initialize the wheel on Windows and then bring the 'properly' initialized wheel over to Linux? Rebooting usually resets the wheel, but you might be able to pull it off with a virtual machine. Maybe, I'm not sure. But yeah, other than that the Could be useful to check which USB name, vendor ID and product ID the wheel shows up as under Windows, might be that the leather edition uses some other ID than the default TX wheel in which case I'm not entirely sure what you're trying to look for with Wireshark under Linux, generally what I've used it for is situations where the wheel is connected to a virtual machine and looking at packets Windows sends to the wheel to figure out the 'correct' behaviour. Are you just checking to see if the wheel sends any packets whatsoever?
Yeah, the wheel resets itself to the generic state every time it loses power. |
hello, The reason for running wireshark was that because you ask to run it before I ran it again in advance incase you needed it. Anyway, here's what info I've got from windows (Booted into the live iso of winpe 10, to much hassle for now to install windows in vm) -reboot pc -in device manager, in human interface devices section, selected the Thrustmaster Tx Racin Wheel (USB) entry: hope this helps thanks |
I'm afraid there's been a misunderstanding, the Wireshark stuff is for capturing USB packets between Windows and the wheel, not Linux and the wheel. We already know that the wheel doesn't work on Linux, so we would like to imitate the Windows driver to hopefully get the wheel working.
Somewhat interesting, ID |
The windows driver does say to reboot to use the software (control panel/etc) but the information in device manager is already there. "Are you sure tmdrv ran correctly?" |
Some information, yes, but that might not be the information we're interested in. It seems possible that the wheel only initializes into the correct mode on reboot, though I don't know for sure.
Dunno, I suppose |
I have a wireshark dump of the initial connections: There seem to be two "set configuration" requests. and then a bConfigurationValue of 1. I've also started dumping the general settings. Auto-centre is an additional data blob, with 3 relevant bytes.
Which is similarish to the T300, but different enough that we won't be able to re-use it |
Sorry to ask for tech support in an issue tracker, but I'm missing something stupid and been stumped for hours It appears in lsusb as so I started the obvious:
I'm not having the probe function called. I put printk's there and nothing is happening. I'm definitely installed correctly as I can change the module description and modinfo picks up that's changing. Dumping the modules.alias file contains: The mod alias of the device is through /sys is |
Just a theory, but the driver requests HID devices, and if the wheel shows up as a plain USB device the probe might not be executed. I'm not entirely sure if the USB subsystem in Linux actually cares about this distinction, should do a code reading session. Technically this driver doesn't really care about the HID capabilities, so converting it to use raw USB might be useful to make some stragglers like the TX easier to add. |
That makes so much sense. The current interfaceClass is "vendor specific" not HID. As a test I also registered for Once it got the modeswitch it re-appeared under the new USB ID, interface class changed and my print statements appeared. So the theory seems to hold. |
Thanks for the confirmation, I'll try to patch the driver to not rely on HID but I'm a bit swamped for at least a couple weeks, sorry. If you want to give it a shot feel free to, but in either case I still think it would be more valuable to try and get a feel for the active (good word for it btw, easier to follow than 'actual' etc) driver and what might be required for it to work. Since |
Will do.
Ack, I'll start hacking on that and report back. Thanks for the help so far. |
I have good news throughout. I updated to the latest firmware and did some wiresharking. open and close don't match the t300, but do match the T248 (with some extra packets that seem to be ignoreable) I did a fast hookup to the t248 and I had all FF working, even out of the box in the game Since sorting this driver, input mapping is all over the shop, I assume this relates to the |
Wow, that's fantastic. Really wasn't expecting anything to happen, the other thread made the situation sound a whole lot more complicated. Well done. Which firmware version do you have installed? Might be a good idea to tag it somewhere as a known good minimum version or something.
Yep, that's right. HID devices send a binary dump to the host system that contains info about which buttons the device supports, which axis they should be mapped to and so on. This allows implementers to write generic drivers for a multitude of devices, as long as the information contained in the dump is accurate. A table of values and their meaning can be found over at and a tool to let you play with them over at The tool is Windows only so you'll need Wine. Also, the USB website claims it's deprecated but I haven't seen any alternatives to it, maybe I've just missed them. Anyway, in the case of the T300 and the T248, it turned out that the dump was in fact inaccurate. The inputs were correct, but I had to modify some endpoint usage values, for example see here Per the comment, apparently the previous values were I'm unsure if it might be better to try and capture the HID dump for the TX and then modify the FFB values or try to modify the T248 config to get buttons working, up to you. In the former case, with the driver unloaded you should be able to get a hexdump from the command line with something like
The actual path might vary from boot to boot, but look for the wheel's VID/PID pair. |
Hi again @patugo, @davidedmundson submitted a patch with TX FFB to https://github.com/Kimplul/hid-tmff2, would be great if you could check it out. At the moment it still requires I also pinged Kimplul/hid-tmff2#48, if you have any issues with or further comments about the FFB please submit them over there. |
tried it, did not work. tried: |
Try running What errors did you get? Something about |
Sorry, ran the tmdrv without sudo. Now I did and it works. thanks very much. I get an error: "jscal not found, skipping device calibration." But that's no big deal, the wheel does its own calibration. results of dmesg: It's detected has tx racing... not tx leather (but I don't think it matters) thanks |
|
Make sure to use the input device with -event- in the name. A potentially simpler test is ffset.
|
tried: sudo fftest /dev/input/by-id/usb-Thrustmaster_Thrustmaster_TX_Racing_Wheel-event-joystick gives options/effects to try. None of them work. running: ffset .... doesn't change a thing. It just returns : "Device /dev/input/by-id/usb-Thrustmaster_Thrustmaster_TX_Racing_Wheel-event-joystick opened" |
I had to find a way to install new firmware of the wheel. Sadly when i put pc to sleep and bring it back, the force feedback doesn't work anymore. |
Is there work on supporting the thrustmaster tx leather edition?
I've just got one, plugged it in and nothing is detected. :( Was hoping that it was supported, the wheel came out 4 years ago.
On kde neon.
thanks.
The text was updated successfully, but these errors were encountered: