Skip to content

fix(gamepad): add delayed authentication for PDP - #200

Draft
ykpmusicstudio wants to merge 4 commits into
dlundqvist:masterfrom
ykpmusicstudio:pdp_initfix
Draft

fix(gamepad): add delayed authentication for PDP#200
ykpmusicstudio wants to merge 4 commits into
dlundqvist:masterfrom
ykpmusicstudio:pdp_initfix

Conversation

@ykpmusicstudio

@ykpmusicstudio ykpmusicstudio commented Apr 26, 2026

Copy link
Copy Markdown

This PR reintroduced a change that should have fixed the issue of stalled PDP controllers, and was proposed in #20 that I badly mishandled in a later merge.

delays authentication after 1st status message, otherwise my gamepad would stall the auth process when starting input and never respond as an event device.
To fix the issue, the auth process is delayed after receiving the 1st status message from the controller, which was the driver behavior as recorded in windows with usbcap.

edit: the delayed auth is not necessary anymore, so this PR now targets the sequence pool for auth messages that shared the global pool instead of using its own unique pool as per GIP spec.

edit: the delayed auth is necessary after all, so it is added again. All AUTH commands are delayed to cope with strange controllers behavior ACK'ing messages as if they are fragmented when they're not.

maybe fixes #199

@ykpmusicstudio

Copy link
Copy Markdown
Author

This is a change that can have side effects, so intensive testing on many gamepads may be needed. I'll try with all the ones I have.

@ykpmusicstudio

Copy link
Copy Markdown
Author

Tested on 3 gamepads:

  • under control PDP gamepad (vendor=0x20d6, product=0xa01a)
  • original XBox controller (BDA/vendor=0x20d6, product=0x200)
  • Rematch Xbox Wired Controller (vendor=0x0e6f, product=0x0306)

@ykpmusicstudio
ykpmusicstudio marked this pull request as draft April 27, 2026 17:20
@ykpmusicstudio

Copy link
Copy Markdown
Author

Fix for #199 still pending

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

Successfully merging this pull request may close these issues.

ThrustMaster XB1 Spectra Pro (24c6:592a) - controller connects but produces no input events, periodic disconnects

1 participant