-
-
Notifications
You must be signed in to change notification settings - Fork 39.6k
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
Fixed NKRO issue caused by HID_SET_PROTOCOL on Chibios platform #17588
Conversation
Fixed zero length hid interrupt report issue at endpoint other than EP0
Weak approval, untested. |
Looks like there are two separate fixes here:
|
I did some more research, something is ambiguous in USB spec, but seems zero-length packet is not an issue, I will remove the change of zero length packet. 5.7.3 Interrupt Transfer Packet Size Constraints
When an interrupt transfer is complete, the Host Controller retires the current IRP and advances to the next IRP. If a data payload is received that is larger than expected, the interrupt IRP will be aborted/retired and the pipe will stall future IRPs until the condition is corrected and acknowledged. 5.8.3 Bulk Transfer Packet Size Constraints
When a bulk transfer is complete, the Host Controller retires the current IRP and advances to the next IRP. If a data payload is received that is larger than expected, all pending bulk IRPs for that endpoint will be aborted/retired." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Been using, doesn't seem to break anything, at least.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
keymap_config.nkro
should follow the SET_PROTOCOL
request, so I think this change is wrong.
https://wiki.osdev.org/USB_Human_Interface_Devices#.22SetProtocol.22_request
faux's comment seems to point towards it being incorrect, revoking
qmk_firmware/tmk_core/protocol/host.c Lines 68 to 78 in fc0bf67
Current issue is if the |
Move to next quarter for a day-one merge. Can sort out the problems during the develop cycle. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As previously mentioned -- tested and found no issue. Giving the develop cycle a chance to iron out issues with other people.
Description
NKRO is forced to turn on by mistake when receiving HID_SET_PROTOCOL.
Types of Changes
Issues Fixed or Closed by This PR
Checklist