Thrustmaster TMX steering wheel only working on Windows server

Client: Windows 10, VirtualHere Client 5.5.7

 

Servers: 

Windows 11, VirtualHere server 4.6.2

MacOS Sonoma, VirtualHere server 4.6.2

Raspberry Pi 4, Raspberry Pi OS 64-bit, VirtualHere server 4.6.2

 

Hi, I've been trying to get a Thrustmaster TMX steering wheel connected through VirtualHere for a few weeks now, but I'm having a specific problem with MacOS and Linux servers. When I use either a mac or my raspberry pi as the server, the wheel will appear as a Thrustmaster GIP Wheel, disconnect, and then reconnect as a Thrustmaster FFB Wheel. Since its showing up as a generic wheel, the driver isn't picking it up as a steering wheel so it doesn't work in any games. The interesting thing is it actually worked once or twice at some point, but now nothing I do can get it working. I've even tried ClaimPorts=1 on the linux server in case there was something that the raspberry pi was messing up, but that didn't change anything.

I recently tried using it with a friend's Windows laptop as the server, and it actually works and shows up as it should, 'Thrustmaster TMX Racing Wheel', which gets recognized by the drivers.

Any ideas? I won't be able to use a Windows server, I've only got access to a Mac and a Raspberry Pi.

#2

I was able to get the steering wheel functioning properly on Linux using USBIP but i'd still prefer if virtualhere also worked because virtualhere seems to have less stuttering and better performance.

#3

OK, lets focus on the pi first again.

Stop the virtualhere server on the pi (systemctl stop virtualhere) then edit the /usr/local/etc/virtualhere/config.ini file and add the line (or keep it there if you already have it)

ClaimPorts=1

and add the line:

onReset=

 

save the config.ini, then start the server and try again

 

 

 

#4

Looks like it didn't change unfortunately, still registers as "Thrustmaster FFB Wheel"

#5

If you can, can you post the server log grep vhusbd /var/log/syslog when its trying to connect

#6

Looks like syslog isn't available on Raspberry Pi OS anymore so I used journalctl | grep vhusbd and here's what I got, hopefully this helps

 

 

Feb 02 00:38:33 raspberrypi vhusbdarm64[2207]: >>> Starting VirtualHere USB Server v4.6.2 (Built: Dec 14 2023, 10:46:05)<<<

Feb 02 00:38:33 raspberrypi vhusbdarm64[2207]: Using configuration /usr/local/etc/virtualhere/config.ini

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Server licensed to=unlicensed max_devices=1

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Using large URB's

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Listening on all network interfaces at TCP port 7575

Feb 02 00:38:34 raspberrypi avahi-daemon[548]: Loading service file /services/vhusbd.service.

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Claiming 1 ports on hub /dev/bus/usb/001/001

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Claiming 4 ports on hub /dev/bus/usb/001/002

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: Claiming 4 ports on hub /dev/bus/usb/002/001

Feb 02 00:38:34 raspberrypi vhusbdarm64[2208]: 100.86.165.76 connected as connection 1 (Standard TCP)

Feb 02 00:38:34 raspberrypi avahi-daemon[548]: Service "VirtualHere USB Sharing" (/services/vhusbd.service) successfully established.

Feb 02 00:40:14 raspberrypi vhusbdarm64[2208]: Found Full speed device [044f:b67e] "Thrustmaster, Thrustmaster TMX GIP Racing Wheel" at address 114

Feb 02 00:40:15 raspberrypi vhusbdarm64[2208]: Executed "" for onReset.044f.b67e

Feb 02 00:40:15 raspberrypi vhusbdarm64[2208]: Device 114 [044f:b67e] BOUND to connection 1

Feb 02 00:40:15 raspberrypi vhusbdarm64[2208]: Executed "" for onReset.044f.b67e

Feb 02 00:40:16 raspberrypi vhusbdarm64[2208]: Device 114 [044f:b67e] SURPRISE UNBOUND from connection 1

Feb 02 00:40:16 raspberrypi vhusbdarm64[2208]: Unmanaging device 114 [044f:b67e]

Feb 02 00:40:17 raspberrypi vhusbdarm64[2208]: Found Full speed device [044f:b65d] "Thrustmaster, Thrustmaster FFB Wheel" at address 114

Feb 02 00:40:17 raspberrypi vhusbdarm64[2208]: Executed "" for onReset.044f.b65d

Feb 02 00:40:17 raspberrypi vhusbdarm64[2208]: Device 114 [044f:b65d] BOUND to connection 1

Feb 02 00:40:18 raspberrypi vhusbdarm64[2208]: Executed "" for onReset.044f.b65d

#7

OK unfortunately i dont know. I was hoping there would be some clues from that log but i dont know why its disconnecting itself and reconnecting in its basic state.

#8

If it helps, when I was using USB/IP, I noticed that the UDE driver recognizes the device properly, but if I use the WDM driver, I get the same issue as above, where it shows up as Thrustmaster FFB Wheel (USB)

#9

UDE is not fully compatible with usb devices, so it might be skipping some command that normal drivers use. That would be my guess. However i don't know the internals of the Thrustmaster firmware so its impossible to say what causes it to do that second unexpected reset back to its default state.

#10

Not sure if this will help but here's the full log from journalctl when plugging in the device

 

I tried this again and got the rest of the log that isn't just the vhusbd stuff in case this helps:

Feb 02 15:02:23 raspberrypi sudo[4522]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/systemctl start virtualhere.service

Feb 02 15:02:23 raspberrypi sudo[4522]: pam_unix(sudo:session): session opened for user root(uid=0) by pi(uid=1000)

Feb 02 15:02:23 raspberrypi systemd[1]: Starting virtualhere.service - VirtualHere Server...

Feb 02 15:02:23 raspberrypi vhusbdarm64[4526]: >>> Starting VirtualHere USB Server v4.6.2 (Built: Dec 14 2023, 10:46:05)<<<

Feb 02 15:02:23 raspberrypi vhusbdarm64[4526]: Using configuration /usr/local/etc/virtualhere/config.ini

Feb 02 15:02:23 raspberrypi systemd[1]: Started virtualhere.service - VirtualHere Server.

Feb 02 15:02:23 raspberrypi sudo[4522]: pam_unix(sudo:session): session closed for user root

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Server licensed to=unlicensed max_devices=1

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Using large URB's

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Listening on all network interfaces at TCP port 7575

Feb 02 15:02:23 raspberrypi avahi-daemon[548]: Files changed, reloading.

Feb 02 15:02:23 raspberrypi avahi-daemon[548]: Loading service file /services/vhusbd.service.

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Claiming 1 ports on hub /dev/bus/usb/001/001

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Claiming 4 ports on hub /dev/bus/usb/001/002

Feb 02 15:02:23 raspberrypi vhusbdarm64[4527]: Claiming 4 ports on hub /dev/bus/usb/002/001

Feb 02 15:02:24 raspberrypi avahi-daemon[548]: Service "VirtualHere USB Sharing" (/services/vhusbd.service) successfully established.

Feb 02 15:03:03 raspberrypi tailscaled[1073]: magicsock: adding connection to derp-2 for [2PuX5]

Feb 02 15:03:03 raspberrypi tailscaled[1073]: magicsock: 2 active derp conns: derp-2=cr0s,wr0s derp-12=cr14h28m0s,wr13h56m0s

Feb 02 15:03:03 raspberrypi tailscaled[1073]: derphttp.Client.Recv: connecting to derp-2 (sfo)

Feb 02 15:03:03 raspberrypi tailscaled[1073]: magicsock: derp-2 connected; connGen=1

Feb 02 15:03:03 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 52 tcp ok

Feb 02 15:03:03 raspberrypi tailscaled[1073]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:59646} 52 ok out

Feb 02 15:03:03 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 40 tcp non-syn

Feb 02 15:03:03 raspberrypi vhusbdarm64[4527]: 100.86.165.76 connected as connection 1 (Standard TCP)

Feb 02 15:03:15 raspberrypi tailscaled[1073]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:59646} 85 ok out

Feb 02 15:03:21 raspberrypi tailscaled[1073]: magicsock: endpoints changed: 72.33.2.116:14148 (stun), 72.33.2.116:41641 (stun4localport), 10.140.183.183:41641 (local)

Feb 02 15:03:23 raspberrypi tailscaled[1073]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:59646} 85 ok out

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: new full-speed USB device number 5 using xhci_hcd

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: New USB device found, idVendor=044f, idProduct=b67e, bcdDevice= 1.01

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: Product: Thrustmaster TMX GIP Racing Wheel

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: Manufacturer: Thrustmaster

Feb 02 15:03:30 raspberrypi kernel: usb 1-1.2: SerialNumber: 0000FC2A4DC9E28C

Feb 02 15:03:30 raspberrypi vhusbdarm64[4527]: Found Full speed device [044f:b67e] "Thrustmaster, Thrustmaster TMX GIP Racing Wheel" at address 112

Feb 02 15:03:30 raspberrypi vhusbdarm64[4527]: Executed "" for onReset.044f.b67e

Feb 02 15:03:30 raspberrypi vhusbdarm64[4527]: Device 112 [044f:b67e] BOUND to connection 1

Feb 02 15:03:30 raspberrypi mtp-probe[4547]: checking bus 1, device 5: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2"

Feb 02 15:03:30 raspberrypi mtp-probe[4547]: bus: 1, device: 5 was not an MTP device

Feb 02 15:03:31 raspberrypi vhusbdarm64[4527]: Executed "" for onReset.044f.b67e

Feb 02 15:03:32 raspberrypi vhusbdarm64[4527]: Device 112 [044f:b67e] SURPRISE UNBOUND from connection 1

Feb 02 15:03:32 raspberrypi vhusbdarm64[4527]: Unmanaging device 112 [044f:b67e]

Feb 02 15:03:32 raspberrypi kernel: usb 1-1.2: USB disconnect, device number 5

Feb 02 15:03:33 raspberrypi kernel: usb 1-1.2: new full-speed USB device number 6 using xhci_hcd

Feb 02 15:03:33 raspberrypi kernel: usb 1-1.2: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00

Feb 02 15:03:33 raspberrypi kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

Feb 02 15:03:33 raspberrypi kernel: usb 1-1.2: Product: Thrustmaster FFB Wheel

Feb 02 15:03:33 raspberrypi kernel: usb 1-1.2: Manufacturer: Thrustmaster

Feb 02 15:03:33 raspberrypi mtp-probe[4565]: checking bus 1, device 6: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2"

Feb 02 15:03:33 raspberrypi mtp-probe[4565]: bus: 1, device: 6 was not an MTP device

Feb 02 15:03:33 raspberrypi vhusbdarm64[4527]: Found Full speed device [044f:b65d] "Thrustmaster, Thrustmaster FFB Wheel" at address 112

Feb 02 15:03:33 raspberrypi vhusbdarm64[4527]: Executed "" for onReset.044f.b65d

Feb 02 15:03:33 raspberrypi vhusbdarm64[4527]: Device 112 [044f:b65d] BOUND to connection 1

Feb 02 15:03:33 raspberrypi vhusbdarm64[4527]: Executed "" for onReset.044f.b65d

Feb 02 15:03:33 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 97 tcp non-syn

Feb 02 15:03:43 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:03:53 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:04:03 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:04:13 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 40 tcp non-syn

Feb 02 15:04:23 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:04:33 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 97 tcp non-syn

Feb 02 15:04:43 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ea2580 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:04:43 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:04:53 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 85 tcp non-syn

Feb 02 15:05:02 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ea30e0 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:05:03 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 97 tcp non-syn

Feb 02 15:05:13 raspberrypi tailscaled[1073]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:59646} 40 ok out

Feb 02 15:05:16 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ea2580 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:05:16 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ee4900 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:05:16 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ea3100 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:05:20 raspberrypi vhusbdarm64[4527]: Error 22 discarding urb 0x3ea25e0 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2, Invalid argument (abort endpoint)

Feb 02 15:05:23 raspberrypi tailscaled[1073]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:59646} 40 ok out

Feb 02 15:05:33 raspberrypi tailscaled[1073]: Accept: TCP{100.86.165.76:59646 > 100.75.82.10:7575} 40 tcp non-syn

#11

Interesting, maybe it is mtp-probe That really should not be running and might be sending something to the wheel.

 

Could you disable that kernel module

#12

Didn't seem to fix it, I added a udev rule to prevent mtp-probe from interacting with the wheel, here's the log when connecting:

 

Feb 04 00:28:56 raspberrypi vhusbdarm64[13624]: >>> Starting VirtualHere USB Server v4.6.2 (Built: Dec 14 2023, 10:46:05)<<<

Feb 04 00:28:56 raspberrypi systemd[1]: Started virtualhere.service - VirtualHere Server.

Feb 04 00:28:56 raspberrypi vhusbdarm64[13624]: Using configuration /usr/local/etc/virtualhere/config.ini

Feb 04 00:28:56 raspberrypi sudo[13620]: pam_unix(sudo:session): session closed for user root

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Server licensed to=unlicensed max_devices=1

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Using large URB's

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Listening on all network interfaces at TCP port 7575

Feb 04 00:28:56 raspberrypi avahi-daemon[552]: Files changed, reloading.

Feb 04 00:28:56 raspberrypi avahi-daemon[552]: Loading service file /services/vhusbd.service.

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Claiming 1 ports on hub /dev/bus/usb/001/001

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Claiming 4 ports on hub /dev/bus/usb/001/002

Feb 04 00:28:56 raspberrypi vhusbdarm64[13625]: Claiming 4 ports on hub /dev/bus/usb/002/001

Feb 04 00:28:57 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 40 tcp non-syn

Feb 04 00:28:57 raspberrypi vhusbdarm64[13625]: 100.86.165.76 connected as connection 1 (Standard TCP)

Feb 04 00:28:57 raspberrypi avahi-daemon[552]: Service "VirtualHere USB Sharing" (/services/vhusbd.service) successfully established.

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: new full-speed USB device number 6 using xhci_hcd

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: New USB device found, idVendor=044f, idProduct=b67e, bcdDevice= 1.01

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: Product: Thrustmaster TMX GIP Racing Wheel

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: Manufacturer: Thrustmaster

Feb 04 00:29:06 raspberrypi kernel: usb 1-1.3: SerialNumber: 0000FC2A4DC9E28C

Feb 04 00:29:06 raspberrypi vhusbdarm64[13625]: Found Full speed device [044f:b67e] "Thrustmaster, Thrustmaster TMX GIP Racing Wheel" at address 113

Feb 04 00:29:06 raspberrypi vhusbdarm64[13625]: Executed "" for onReset.044f.b67e

Feb 04 00:29:06 raspberrypi vhusbdarm64[13625]: Device 113 [044f:b67e] BOUND to connection 1

Feb 04 00:29:06 raspberrypi vhusbdarm64[13625]: Executed "" for onReset.044f.b67e

Feb 04 00:29:07 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 97 tcp non-syn

Feb 04 00:29:07 raspberrypi vhusbdarm64[13625]: Device 113 [044f:b67e] SURPRISE UNBOUND from connection 1

Feb 04 00:29:07 raspberrypi vhusbdarm64[13625]: Unmanaging device 113 [044f:b67e]

Feb 04 00:29:07 raspberrypi kernel: usb 1-1.3: USB disconnect, device number 6

Feb 04 00:29:08 raspberrypi kernel: usb 1-1.3: new full-speed USB device number 7 using xhci_hcd

Feb 04 00:29:08 raspberrypi kernel: usb 1-1.3: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00

Feb 04 00:29:08 raspberrypi kernel: usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0

Feb 04 00:29:08 raspberrypi kernel: usb 1-1.3: Product: Thrustmaster FFB Wheel

Feb 04 00:29:08 raspberrypi kernel: usb 1-1.3: Manufacturer: Thrustmaster

Feb 04 00:29:08 raspberrypi vhusbdarm64[13625]: Found Full speed device [044f:b65d] "Thrustmaster, Thrustmaster FFB Wheel" at address 113

Feb 04 00:29:08 raspberrypi vhusbdarm64[13625]: Executed "" for onReset.044f.b65d

Feb 04 00:29:08 raspberrypi vhusbdarm64[13625]: Device 113 [044f:b65d] BOUND to connection 1

Feb 04 00:29:09 raspberrypi vhusbdarm64[13625]: Executed "" for onReset.044f.b65d

Feb 04 00:29:17 raspberrypi tailscaled[1052]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:61559} 40 ok out

Feb 04 00:29:27 raspberrypi tailscaled[1052]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:61559} 40 ok out

Feb 04 00:29:31 raspberrypi vhusbdarm64[13625]: Error 22 discarding urb 0x75a98a0 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3, Invalid argument (abort endpoint)

Feb 04 00:29:37 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 40 tcp non-syn

Feb 04 00:29:47 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 85 tcp non-syn

Feb 04 00:29:57 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 40 tcp non-syn

Feb 04 00:30:07 raspberrypi tailscaled[1052]: Accept: TCP{100.86.165.76:61559 > 100.75.82.10:7575} 40 tcp non-syn

Feb 04 00:30:17 raspberrypi tailscaled[1052]: Accept: TCP{100.75.82.10:7575 > 100.86.165.76:61559} 40 ok out

#13

Something interesting to note, I was able to get it working with VirtualHere by binding and connecting the wheel first using USBIP and then unbinding from usbip and connecting through VirtualHere. It seems that once you get past the Thrustmaster GIP Racing Wheel device and then the Thrustmaster FFB Wheel device on usbip ittl show up as Thrustmaster TMX Wheel and then you can disconnect usbip and connect it through virtualhere. It seems that for some reason virtualhere isn't able to get the wheel past the Thrustmaster FFB Wheel state.

The only issue with this method is that once connected through VirtualHere, force feedback wasn't working, the wheel would try to stay centered at all times.

#14

Any ideas for the force feedback issue? I tried to see if maybe that was a previous issue somewhere in the forum but I couldn't find anything.

#15

No i dont know the problem sorry

#16

was looking through windows logs and i saw this, i get two errors when the Thrustmaster FFB Wheel device shows up, here they are:


Error 430: Device USB\VID_044F&PID_B65D\2&3b7c36a2&0&1 requires further installation.

Error 442: Device USB\VID_044F&PID_B65D\2&3b7c36a2&0&1 was not migrated due to partial or ambiguous match.

Last Device Instance Id: USB\VID_045E&PID_028E&IG_05\2&166e66fa&0&05
Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Location Path: 
Migration Rank: 0xF000FFFF0000F122
Present: false
Status: 0xC0000719

hoping this provides some more info about this issue?

 

also just wondering, from the logs I sent above, are these errors an issue?

Feb 04 00:29:31 raspberrypi vhusbdarm64[13625]: Error 22 discarding urb 0x75a98a0 for device /sys//devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3, Invalid argument (abort endpoint)

#17

Those messages on windows are fine. Could you update your kernel on the pi4 to 6.6 and see if that helps

sudo rpi-update

#19

Randomly today it worked for one connection? It connected finally as Thrustmaster TMX Racing Wheel and I was able to get the driver window to show, but the Force Feedback still didn't function. Unfortunately, I accidentally disconnected it soon after and every connection after that didn't work, same as before. I was able to get the server logs for the moment it actually connected properly, but I don't really see anything special here.

 

 Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: new full-speed USB device number 14 using xhci_hcd

Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: New USB device found, idVendor=044f, idProduct=b67e, bcdDevice= 1.01

Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3

Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: Product: Thrustmaster TMX GIP Racing Wheel

Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: Manufacturer: Thrustmaster

Feb 22 18:04:10 raspberrypi kernel: usb 1-1.2: SerialNumber: 0000FC2A4DC9E28C

Feb 22 18:04:10 raspberrypi vhusbdarm64[768]: Found Full speed device [044f:b67e] "Thrustmaster, Thrustmaster TMX GIP Racing Wheel" at address 112

Feb 22 18:04:10 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b67e

Feb 22 18:04:10 raspberrypi vhusbdarm64[768]: Device 112 [044f:b67e] BOUND to connection 12

Feb 22 18:04:11 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b67e

Feb 22 18:04:12 raspberrypi vhusbdarm64[768]: Device 112 [044f:b67e] SURPRISE UNBOUND from connection 12

Feb 22 18:04:12 raspberrypi vhusbdarm64[768]: Unmanaging device 112 [044f:b67e]

Feb 22 18:04:12 raspberrypi kernel: usb 1-1.2: USB disconnect, device number 14

Feb 22 18:04:13 raspberrypi kernel: usb 1-1.2: new full-speed USB device number 15 using xhci_hcd

Feb 22 18:04:13 raspberrypi kernel: usb 1-1.2: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00

Feb 22 18:04:13 raspberrypi kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

Feb 22 18:04:13 raspberrypi kernel: usb 1-1.2: Product: Thrustmaster FFB Wheel

Feb 22 18:04:13 raspberrypi kernel: usb 1-1.2: Manufacturer: Thrustmaster

Feb 22 18:04:13 raspberrypi vhusbdarm64[768]: Found Full speed device [044f:b65d] "Thrustmaster, Thrustmaster FFB Wheel" at address 112

Feb 22 18:04:13 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b65d

Feb 22 18:04:13 raspberrypi vhusbdarm64[768]: Device 112 [044f:b65d] BOUND to connection 12

Feb 22 18:04:13 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b65d

Feb 22 18:04:18 raspberrypi tailscaled[1041]: Accept: TCP{100.86.165.76:61883 > 100.75.82.10:7575} 40 tcp non-syn

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: USB disconnect, device number 15

Feb 22 18:04:22 raspberrypi vhusbdarm64[768]: Device 112 [044f:b65d] SURPRISE UNBOUND from connection 12

Feb 22 18:04:22 raspberrypi vhusbdarm64[768]: Unmanaging device 112 [044f:b65d]

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: new full-speed USB device number 16 using xhci_hcd

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: New USB device found, idVendor=044f, idProduct=b67f, bcdDevice= 1.00

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: Product: Thrustmaster TMX Racing Wheel

Feb 22 18:04:22 raspberrypi kernel: usb 1-1.2: Manufacturer: Thrustmaster

Feb 22 18:04:22 raspberrypi vhusbdarm64[768]: Found Full speed device [044f:b67f] "Thrustmaster, Thrustmaster TMX Racing Wheel" at address 112

Feb 22 18:04:22 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b67f

Feb 22 18:04:22 raspberrypi vhusbdarm64[768]: Device 112 [044f:b67f] BOUND to connection 12

Feb 22 18:04:23 raspberrypi vhusbdarm64[768]: Executed "" for onReset.044f.b67f

Feb 22 18:04:28 raspberrypi tailscaled[1041]: Accept: TCP{100.86.165.76:61883 > 100.75.82.10:7575} 85 tcp non-syn

#20

I don't know how I never tried this before but I setup the raspberry pi on a reverse client connection to my home pc through a self hosted VPN at my home and it connects reliably now, I can actually get the device to show up as TMX Racing Wheel. Looks like Tailscale has been causing this device issue since the beginning.

 

I still have the issue of my wheel not having any force feedback, but I think I'll move that to its own support thread, I don't think thats related to my other issues. Thank you!

#21

Wow, ok weird. What is the latency on the connection between client and server. (Right click USB Hubs->About->Statistics)


Maybe with a lower latency  the firmware inside the wheel switches modes ok

 

#22

around 70-80ms with occasional spikes to 150 or 200. my direct vpn does about 50-60ms consistently. must have been the latency, the speed itself on tailscale was great. I think the problem is also that tailscale wasn’t able to do direct routing, it had to route me through another server, not sure why.