Skip to content
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

Can you add the T-GT II please #55

Open
riourik opened this issue Jan 28, 2023 · 12 comments
Open

Can you add the T-GT II please #55

riourik opened this issue Jan 28, 2023 · 12 comments

Comments

@riourik
Copy link

riourik commented Jan 28, 2023

Hi I have a T-GT II and I would like to use it on linux (I use pop os)
I install the driver after figure it out for the ssl problem My wheel is not reconize
dmesg

[ 384.552140] usb 5-1: USB disconnect, device number 12
[ 384.552145] usb 5-1.1: USB disconnect, device number 13
[ 386.192095] usb 5-1: new high-speed USB device number 14 using xhci_hcd
[ 386.343422] usb 5-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=32.98
[ 386.343427] usb 5-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 386.343429] usb 5-1: Product: USB2.0 Hub
[ 386.394712] hub 5-1:1.0: USB hub found
[ 386.395172] hub 5-1:1.0: 2 ports detected
[ 386.524294] hub 5-1:1.0: USB hub found
[ 386.524791] hub 5-1:1.0: 2 ports detected
[ 386.875771] usb 5-1.1: new full-speed USB device number 15 using xhci_hcd
[ 386.992678] usb 5-1.1: New USB device found, idVendor=044f, idProduct=b66d, bcdDevice= 7.00
[ 386.992681] usb 5-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 386.992682] usb 5-1.1: Product: Thrustmaster Racing Wheel FFB
[ 386.992683] usb 5-1.1: Manufacturer: Thrustmaster
[ 387.071842] input: Thrustmaster Thrustmaster Racing Wheel FFB as /devices/pci0000:00/0000:00:08.1/0000:2f:00.3/usb5/5-1/5-1.1/5-1.1:1.0/0003:044F:B66D.0010/input/input36
[ 387.071948] tmff2 0003:044F:B66D.0010: input,hiddev2,hidraw2: USB HID v1.10 Gamepad [Thrustmaster Thrustmaster Racing Wheel FFB] on usb-0000:2f:00.3-1.1/input0
[ 387.074675] tmff2 0003:044F:B66D.0010: firmware version 10 is too old, please update.
[ 387.074679] tmff2 0003:044F:B66D.0010: note: this has to be done through Windows.
[ 387.074680] tmff2 0003:044F:B66D.0010: failed initializing T300RS
[ 387.074681] tmff2 0003:044F:B66D.0010: init failed
[ 387.168318] tmff2: probe of 0003:044F:B66D.0010 failed with error -22

lsusb in other mod (what should on pc)

Bus 005 Device 017: ID 044f:b66d ThrustMaster, Inc. Thrustmaster Racing Wheel FFB

lsusb in gt mod (I believe for granturismo on ps4/5) not reconize on windows

Bus 005 Device 021: ID 044f:b681 ThrustMaster, Inc. Thrustmaster Racing Wheel FFB T-GT

last firmware for the tgt2 base is the v10

So What do you need to add the T-GT II ? I have a laptop with windows on it if need information from windows side.
Thanks for reading me :)

@Kimplul
Copy link
Owner

Kimplul commented Jan 28, 2023

Hi, I'm somewhat surprised that your wheel is using the same USB product ID as the T300RS in PS4 mode. I don't have the T-GT II myself, is there a mode switch button on it and which mode are you in, if there is one?

Anycase, if you suspect your wheel works with the same set of FFB commands that a T300RS does, you can try temporarily commenting out https://github.com/Kimplul/hid-tmff2/blob/master/hid-tmt300rs.c#L1486 and skip the firmware version check. If it works, we can figure out how to differentiate with your wheel and a T300 later.

If it doesn't work, I have a short overview of what needs to be done to get a new device working with this driver in the wiki:
https://github.com/Kimplul/hid-tmff2/wiki#how-to-add-in-support-for-a-new-t-series-wheel

I won't lie, collecting and reverse-engineering the data is pretty tedious, but if you think you're up for it feel free to give it a go. I'll help best I can, but without a physical device to test with that help is likely somewhat limited.

Be warned, Thrustmaster seems to have a tendency to not really reuse code from one driver to the next, and I got lucky that the T248 I bought worked almost identically. There was a case where we thought a TX wheel would behave like a T300, but that turned out to be false: #48

@riourik
Copy link
Author

riourik commented Jan 29, 2023

hi thank for the quick answerd so
you can try temporarily commenting out https://github.com/Kimplul/hid-tmff2/blob/master/hid-tmt300rs.c#L1486
I did it and the steering, gas, brake, and clutch work I have to check I have a dead zone for the first couple degres
triangle cercle square X work directionnal button L2 R2 SH OP L3 R3 work

for the not working button
I have the 2 stick and the 4 button (rotation and click)

I guess the tgt have more button

I have a GT mode on the steering not working on windows

lsusb:

Bus 005 Device 006: ID 044f:b681 ThrustMaster, Inc. Thrustmaster Racing Wheel FFB T-GT

Im up to make my tgt works at 100% (if possible) I make 1 full week and lots of hour to install the driver on an other distro but I finish to try pop os and its working

I will use fedit on my windows laptop and check what I need to do

@riourik
Copy link
Author

riourik commented Jan 29, 2023

not sure If i did it correctly
tgt2.zip

@Kimplul
Copy link
Owner

Kimplul commented Jan 29, 2023

Looks like you have some captures going, which is a good start. To capture only the wheel, you need to make sure you're filtering with the correct bus and device IDs. In your zip file I can see that bus == 1 and device == 5, which according to

Bus 005 Device 006: ID 044f:b681 ThrustMaster, Inc. Thrustmaster Racing Wheel FFB T-GT

should be bus == 5 and device == 6, though I don't know if the capture is from a different session. The numbers can change every time you plug the wheel in, so you always need to check with lsusb what the actual numbers are for your session.

There's a lot of 'noise', from what I can tell the x.y.2 endpoint is used for button updates, whereas x.y.1 is used for the force feedback commands (at least on all devices I've seen so far). You should check with fedit that packets are being sent to x.y.1 when you edit force effects.

@riourik
Copy link
Author

riourik commented Jan 29, 2023

hi I do the record on my laptop under windows it's for that I don't have the same IDs
for the noise i'm not sure how to reduce it... I did a record with ffb to 0 but I believe they some noise cause when i record and not moving that record something I dont what to do with fedit (dont find much online how to use it)
tgt ffb mini.zip

@Kimplul
Copy link
Owner

Kimplul commented Jan 29, 2023

What I meant by noise is that you can filter out anything that goes to x.y.2, as we're (probably) mostly just interested in x.y.1, where the force feedback commands go. It's fine to leave it in when sharing logs, as I can filter it out later, but keep it in mind when you're doing stuff yourself.

As for fedit, force commands are built up of different parameters, and fedit lets you see which effect types take which parameters. Probably the most important one is the direction, which essentially works as a scalar for the actual strength of an effect, approximately actual_strength = strength * sin(direction). So 0 direction means zero force, and in fedit 0 is pointing straight up. Try moving the direction to the right, that should be maximum force. All the way to the left should invert the effect.

Each effect is first uploaded to the wheel, when you finish configuring it. After uploading it, press the play button to play the effect. Effects have a length, which is for how long the effect should be active, and a delay, which is how long the effect waits after pressing play to actually start. The delay is how far the effect is from the start of the timeline in the main view.

Try playing around with it for a while, I'm sure you'll get the hang of it.

@riourik
Copy link
Author

riourik commented Jan 29, 2023

the steering go up to 1080 degre do you want I many register like first at 1080 second a 720 etc... and do you fwant like 1 register for like center to left and back to center then a second record for center to right to center or that can be in the same record ?
and do you want like some leftrightleft like when we touch a border ?
and do you want i record only the button and 1 just the pedal ?
What will be the best to do?

@Kimplul
Copy link
Owner

Kimplul commented Jan 29, 2023

We probably don't need to worry about buttons, the HID interface handles them more or less automatically. What we might need to do is capture and modify the wheel's rdesc, though it should already be captured in one of your zip files. The rdesc contains the info that the HID subsysten in Linux uses to map the different buttons.

For now I would just focus on the FFB and fedit.

@riourik
Copy link
Author

riourik commented Feb 7, 2023

Just a small update I have a lots of hard time to set up fedit I try to lunch it as win xp compatibility and its more easy now so probably this week end I will record the ffb just a bit busy last week and this week but I should be able to work on it this week end :)

@Querzion
Copy link

"[querzion@vmc ~]$ lsusb | grep ThrustMaster
Bus 005 Device 018: ID 044f:b695 ThrustMaster, Inc. TSS Handbrake
Bus 005 Device 021: ID 044f:b66e ThrustMaster, Inc. Thrustmaster T300RS Racing wheel
Bus 005 Device 019: ID 044f:b660 ThrustMaster, Inc. T500 RS Gear Shift"

I have the T300RS GT version, there's a irritating bug where the throttle and clutch is 100% all the time, In some games:

Grid, Grid Legends & Project Cars... I could unbind them and bind the pedals again, and they get an z axel input instead. The wheel just worked in Dirt Rally & Dirt Rally 2.0 without any tinkering.

T300RS has a 2 pedal, 3 pedal and a 3 pedal pro option.

I'm thinking, if I buy the Pro pedals, will the problems go away?

@Kimplul
Copy link
Owner

Kimplul commented Mar 13, 2023

@Querzion Yeah, it's a known issue. I have no idea why different games expect different pedal mappings, as far as I'm aware there's no way to account for this in the driver. Changing the default pedal mappings to fix one game would just make other games' defaults wrong.

Pro pedals are unlikely to fix the issue, as the wheel itself reports which pedal is mapped to each axis. It is up to the games to interpret the axes to gas/brake/clutch, and, as you've noticed, the axis values themselves. Changing pedals might change which axis corresponds to which pedal, but I don't see how all games would suddenly start interpreting the axes correctly, sorry.

If you do buy the Pro pedals, please report back if anything changed, I'd love to be wrong.

In case you're curious, I compiled a small list of default mappings in some games: #31 (comment)

@Querzion
Copy link

@Kimplul Thanks. I got Dirt 4 to work because of that link. ^^ With force feed back, all the other games only has like spring effect on the motor and not force feedback, which kind of caught me off guard to be honest. I need to fix the settings so that it's not as violent.

Now I start to wonder if I can get FFB to work in other games too.

Regarding the pedals, I'm not sure if I'm going to buy them, but it's probably second hand, since the pro doesn't seem to be sold anymore. The one's that is part of this kit, is the new 3 pedals, that isn't as robust as the old one's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants