[Bug 51873] Joy.cpl crashes on the FFB tab when the FFB device is selected in the drop down list

WineHQ Bugzilla wine-bugs at winehq.org
Sun Nov 14 10:53:10 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=51873

--- Comment #19 from Ivo Ivanov <logos128 at gmail.com> ---
Created attachment 71043
  --> https://bugs.winehq.org/attachment.cgi?id=71043
Simucube_2_logs.tar.gz

Attached logs with usb captured traffic from Simucube 2 on a Windows machine.
There are two logs from Automobilista 2 and BeamNG. Added also two Wine logs
(+dinput) from the same games. Just for a reference what's being called in
dinput. BeamNG's wine log is from proton (joystick_sdl), since it's FFB is not
yet functioning in Wine due to the not supported GetEffectStatus.

It's evident from the captured data, that only the reports that are explicitly
set through the flags operand in SetParameters, are being send by the PID
driver.

For example Automobilsta 2 calls repeatedly SetParameters with
DIEP_TYPESPECIFICPARAMS + DIEP_GAIN (0x104). In result the PID driver sends Set
Effect Report and Set Constant Force Report. They probably set the gain to it's
max value every time, which results in 400Hz rate of not needed Set Effect
Reports with exactly the same values.

BeamNG calls SetParameters repeatedly with just DIEP_TYPESPECIFICPARAMS
(0x100), which results in only Set Constant Reports being send by the PID
driver.
They send a lot of Set Constant Reports which are exactly the same without ever
playing them. The first Start report command is on frame 21943.

Also we can note that there are no envelope reports at all, since this
parameter is not used by these games - they never set DIEP_ENVELOPE in any
SetParameters call.

Some handy filters for WireShark (for examining the usb traffic data):
- filter only the Output reports - (usb.transfer_type == 0x1) &&
(usb.endpoint_address.direction == 0) && (usb.src == "host")
- filter only the Input reports - (usb.transfer_type == 0x1) &&
(usb.endpoint_address.direction == 1) && (usb.dst == "host")

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list