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
TOGGLE error handling #2
Comments
On the error data should be ignored and do nothing on data toggle bit. felis#438 ---- If the IN data was error-free but there was a data toggle mismatch (the DATA0 or DATA1 PID send by the peripheral did not match the endpoint toggle value), the SIE sends the ACK handshake, but it does not complement the data toggle or assert the RCVDAVIRQ. The SIE sets HRSL = 0110 (Toggle Error) for this condition. This situation would happen if the peripheral received a corrupted ACK handshake from the previous IN transfer. In this case the host ignores the data in the RCVDATA FIFO, because it represents data that the peripheral mistakenly resent when it missed the last ACK handshake. By ACK-ing the transfer and not updating its own toggle bit, the SIE causes the peripheral to complement its toggle bit, thus forcing the data toggle mechanism back into sync. ---- MAX3421 Programming Guide p.13
On the error data should be ignored and do nothing on data toggle bit. felis#438 ---- If the IN data was error-free but there was a data toggle mismatch (the DATA0 or DATA1 PID send by the peripheral did not match the endpoint toggle value), the SIE sends the ACK handshake, but it does not complement the data toggle or assert the RCVDAVIRQ. The SIE sets HRSL = 0110 (Toggle Error) for this condition. This situation would happen if the peripheral received a corrupted ACK handshake from the previous IN transfer. In this case the host ignores the data in the RCVDATA FIFO, because it represents data that the peripheral mistakenly resent when it missed the last ACK handshake. By ACK-ing the transfer and not updating its own toggle bit, the SIE causes the peripheral to complement its toggle bit, thus forcing the data toggle mechanism back into sync. ---- MAX3421 Programming Guide p.13
|
Confirmed the problem on Rosewill RK-9200BR was solved with tmk/tmk_keyboard@e7aa9e5 on 2020-12-27. Problem: |
|
MAX3421 Programming Guide p.11
|
|
Fixed at 352f79f |
On the error data should be ignored and do nothing on data toggle bit.
tmk/tmk_keyboard#657
MAX3421 Programming Guide p.13
felis#438 (felis@a361b72)
The text was updated successfully, but these errors were encountered: