On Sun, Feb 05, 2017 at 01:02:55PM +0100, Paul Menzel wrote:
Am Freitag, den 03.02.2017, 12:11 -0500 schrieb Kevin O'Connor:
On Thu, Feb 02, 2017 at 09:21:17PM +0100, Paul Menzel wrote:
With that, I get a non-working keyboard in SeaBIOS, when loading SeaBIOS without timeout from GRUB. Then the problem can be reproduced each time despite having the file `etc/ps2-keyboard-spinup` with 3 seconds in CBFS.
i8042 self test failed (got fa not 0x55)
Could it be that the keyboard is in an „unclean“ state from GRUB, which also still probed it?
Does the patch below help?
[…]
Yes, it does.
Tested-by: Paul Menzel paulepanter@users.sourceforge.net
Matt, John - any chance you can see if the patch below also fixes issues you were seeing with ps2 keyboards on some of the chromebooks?
-Kevin
--- a/src/hw/ps2port.c +++ b/src/hw/ps2port.c @@ -449,11 +449,22 @@ ps2_check_event(void) static void ps2_keyboard_setup(void *data) { - /* flush incoming keys */ + // flush incoming keys (also verifies port is likely present) int ret = i8042_flush(); if (ret) return;
+ // Disable keyboard / mouse and drain any input they may have sent + ret = i8042_command(I8042_CMD_KBD_DISABLE, NULL); + if (ret) + return; + ret = i8042_command(I8042_CMD_AUX_DISABLE, NULL); + if (ret) + return; + ret = i8042_flush(); + if (ret) + return; + // Controller self-test. u8 param[2]; ret = i8042_command(I8042_CMD_CTL_TEST, param);