Subject: Keyboard lockup on startup fix(?)
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: None <Mark_Weaver@brown.edu>
List: current-users
Date: 02/09/1994 14:26:29
I created a patchfile for the kernel sources between Dec-16 and
Feb-06, and it turns out the only functional change to pccons.c over
that time was the removal of part of the keyboard-reset code
(presumably so that keyboards no longer need to be plugged in during
startup).
It turns out that putting this code back in seems to fix the
"keyboard-freeze-on-boot" problem for my Gateway 2000 keyboard. I
can't be sure, since the freeze doesn't always happen, but I tried
power-cycling and booting NetBSD without touching the keyboard about 8
times without a hitch.
Here's a unidiff:
diff -u src/sys/arch/i386/isa/pccons.c.mhw1 src/sys/arch/i386/isa/pccons.c
--- src/sys/arch/i386/isa/pccons.c.mhw1 Tue Feb 1 05:25:16 1994
+++ src/sys/arch/i386/isa/pccons.c Wed Feb 9 13:50:12 1994
@@ -241,7 +241,7 @@
if (kbd_cmd(KBC_RESET) != 0)
printf("Timeout for keyboard reset command\n");
-#if 0
+#if 1
/* Wait for the first response to reset and handle retries */
while ((response = kbd_response()) != KBR_ACK) {
if (response < 0) {
I realize that this isn't a good fix, but for now it will help a lot
of people. At some point I'll investigate how to do this properly.
Mark
--------------------------------------------------------------------
Email: Mark_Weaver@brown.edu | Brown University
PGP Key: finger mhw@cs.brown.edu | Dept of Computer Science
------------------------------------------------------------------------------