PS2 Device Reset on 2nd port always produces success.
Posted: Sun Mar 20, 2016 5:29 pm
I have been working on a PS2 driver for my OS and ran into an interesting result.
On my Older desktop, When i attempt to Reset the device on the 2nd port, i always get a success response regardless of whether there is a device connected to it.
I know what your thinking... SEND COMMAND D4!. Yes im doing that. Even if i have both ports unplugged, the 2nd port still reports success.
I have tested my PS2 init procedure on 2 desktop machines and this only happens on the older one.
When i have a mouse connected to the 2nd port, i get data as expected.
Anyone have any ideals why the controller might pretend there's a device connected? Or perhaps the response is coming from a USB controller, though i Don't have any USB devices connected...
Here are my logging's for Device Reset on 2 different desktop PCs:
PC1 is a slightly newer system.
No Device
PC1 - Endless 0xFE (Resend Command)
PC2 - 0xFA (ACK) Followed By 0xFC (Self Test Failed). 2nd Port always Success...
With Device Connected
PC1 - 0xFA (ACK) Followed By 0xAA (Self Test Passed)
PC2 - 0xFA (ACK) Followed By 0xAA (Self Test Passed)
On the "8042" PS/2 Controller wiki page, sortie commented:
On my Older desktop, When i attempt to Reset the device on the 2nd port, i always get a success response regardless of whether there is a device connected to it.
I know what your thinking... SEND COMMAND D4!. Yes im doing that. Even if i have both ports unplugged, the 2nd port still reports success.
I have tested my PS2 init procedure on 2 desktop machines and this only happens on the older one.
When i have a mouse connected to the 2nd port, i get data as expected.
Anyone have any ideals why the controller might pretend there's a device connected? Or perhaps the response is coming from a USB controller, though i Don't have any USB devices connected...
Here are my logging's for Device Reset on 2 different desktop PCs:
PC1 is a slightly newer system.
No Device
PC1 - Endless 0xFE (Resend Command)
PC2 - 0xFA (ACK) Followed By 0xFC (Self Test Failed). 2nd Port always Success...
With Device Connected
PC1 - 0xFA (ACK) Followed By 0xAA (Self Test Passed)
PC2 - 0xFA (ACK) Followed By 0xAA (Self Test Passed)
On the "8042" PS/2 Controller wiki page, sortie commented:
I think the wiki page should probably be updated to say the Reset Device command may send its response in any order, since it seems that's the case.Potential wiki error, the 0xFF reset device command seems to respond 0xAA and then 0xFA on self-test success, and PS/2_Keyboard agrees. --Sortie 14:15, 27 April 2015 (CDT)