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

Simagic wheelbases #3

Open
JacKeTUs opened this issue May 16, 2024 · 2 comments
Open

Simagic wheelbases #3

JacKeTUs opened this issue May 16, 2024 · 2 comments
Assignees
Labels
need testing pidff pidff protocol wheelbase Wheelbase stuff

Comments

@JacKeTUs
Copy link
Owner

JacKeTUs commented May 16, 2024

Simagic followed USB HID spec up until v159 firmware. After that, with version 171, in around august 2023, they moved to something proprietary.
Now from firmware 171 (SimPro 2) there is two .dll files: simpro_1.dll and simpro_2.dll, which appears to be the userspace FFB kernel driver1. They are registered in a system with CLSID = 148CC31A-2476-4F1A-84AC-8A51B275DAA7.

At first glance protocol between the wheel and these drivers is the same as PID protocol, but reports are shifted to the right for 1 byte, and that first byte is set to 0x01. Also, now USB descriptor does not contain any effect identifiers, as well as report id's, etc, all of that seems to be hardcoded in simpro_1.dll and simpro_2.dll.

Sigma Cortex, a converter for Simagic wheelbases, which allows it to work with PlayStation, released a firmware update2 at that time, which enabled FFB on new and old firmware.

Another thing to considerate - there is 4 (four!) devices with the same VID/PID: M10, Alpha Mini, Alpha, Alpha U. M10 software support is ended on fw159, So driver for Linux should be able to tell them apart and enable/disable protocol adaptations for <=159 and >=171 firmwares.

Further testing / reverse-engineering required.

Footnotes

  1. https://learn.microsoft.com/en-us/windows-hardware/drivers/hid/force-feedback-device-driver-interface

  2. https://www.facebook.com/permalink.php?story_fbid=pfbid0zCwdaeKvLkZEMTa1a3oAVF1J2HyiekzUGWAvt3KmHdj6CFguHH8bDAFmip1XTcEVl&id=100090148879187

@JacKeTUs JacKeTUs self-assigned this May 16, 2024
@JacKeTUs JacKeTUs added pidff pidff protocol need testing wheelbase Wheelbase stuff labels May 16, 2024
@scernst13
Copy link

Not sure if this is allowed but I'll make the question here and a statement as a user curious about switching from Fanatec to Simagic on EndeavourOS.
Assuming that the product is shipped with base level firmware (I'd assume its probably V159 or lower) does this mean that your current project will work with the base once everything is downloaded and installed? (Sorry I was having some trouble understanding/following your table).

And then in relation to the device having the Same VID/PID, I wonder if it has something to do with the observations that Boosted Media had made in his review/comparison of all three Alpha Units. He had mentioned outside of strength of FFB (and by extension the dynamic range) pretty much all felt the same (possibly implying that really the only differentiation is the motor powering the unit). I've probably summed that up misrepresenting something, so I'm not sure how much this will help (unfortunately I don't have the time to really help test/develop things due to my day job otherwise I'd probably jump in and aid with the development & testing).

@JacKeTUs
Copy link
Owner Author

JacKeTUs commented Jul 3, 2024

Hey, i think newer units will ship with newer firmware
Can't tell much about different revisions of Alpha units, besides that all three of these will use exact same VID/PID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need testing pidff pidff protocol wheelbase Wheelbase stuff
Projects
None yet
Development

No branches or pull requests

2 participants