From owner-freebsd-current Fri Jan 28 2:15:36 2000 Delivered-To: freebsd-current@freebsd.org Received: from outmail.utsunomiya-u.ac.jp (outmail.utsunomiya-u.ac.jp [160.12.196.3]) by hub.freebsd.org (Postfix) with ESMTP id E5B9E14DDD for ; Fri, 28 Jan 2000 02:15:33 -0800 (PST) (envelope-from yokota@zodiac.mech.utsunomiya-u.ac.jp) Received: from zodiac.mech.utsunomiya-u.ac.jp (IDENT:B14dtphAPBT80KXnvRCSq3Fk1zhBANE3@zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1]) by outmail.utsunomiya-u.ac.jp (8.9.3/3.7Wpl2) with ESMTP id SAA10794 for ; Fri, 28 Jan 2000 18:26:19 +0900 (JST) Received: from zodiac.mech.utsunomiya-u.ac.jp (zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1]) by zodiac.mech.utsunomiya-u.ac.jp (8.7.6+2.6Wbeta7/3.4W/zodiac-May96) with ESMTP id SAA04893; Fri, 28 Jan 2000 18:31:57 +0900 (JST) Message-Id: <200001280931.SAA04893@zodiac.mech.utsunomiya-u.ac.jp> To: current@freebsd.org Cc: yokota@zodiac.mech.utsunomiya-u.ac.jp Subject: Keyboard problem (was: Re: Problems installing FreeBSD 4.0 20000125-CURRENT) Date: Fri, 28 Jan 2000 18:31:56 +0900 From: Kazutaka YOKOTA Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Ok, guys. This is another patch for the atkbd driver. I expect this one is better than my previous one. Remove the previous patch and try this one instead. Stress the keyboard (like hitting the Return key twice when booting the system), and see if it works. Thank you. Kazu >> I have on a number of occasions had my laptop boot with a >> non-functional keyboard. Sometimes the keyboard is just locked; other >> times it generates garbage. Never managed to isolate the >> circumstances in which this happened (but it didn't happen with a >> kernel from last September or there-abouts). Haven't had it happen on >> a desktop or server yet. > >I have seen this on numerious occasion, but have never tracked it down >to any one specific thing. All on desktop and servers, but thats >only because we don't do laptops. > >I have not seen it in quite some time (about a month), so I am thinking >it has probably been unknowingly fixed someplace. I'll keep an eye >out for it. > >-- >Rod Grimes - KD7CAX @ CN85sl - (RWG25) rgrimes@gndrsh.dnsmgr.net Index: atkbd.c =================================================================== RCS file: /src/CVS/src/sys/dev/kbd/atkbd.c,v retrieving revision 1.22 diff -u -r1.22 atkbd.c --- atkbd.c 2000/01/20 13:32:53 1.22 +++ atkbd.c 2000/01/28 02:11:50 @@ -1084,8 +1097,11 @@ return ENXIO; } + /* temporarily block data transmission from the keyboard */ + write_controller_command(kbdc, KBDC_DISABLE_KBD_PORT); + /* flush any noise in the buffer */ - empty_both_buffers(kbdc, 10); + empty_both_buffers(kbdc, 100); /* save the current keyboard controller command byte */ m = kbdc_get_device_mask(kbdc) & ~KBD_KBD_CONTROL_BITS; @@ -1133,8 +1148,11 @@ return EIO; } + /* temporarily block data transmission from the keyboard */ + write_controller_command(kbdc, KBDC_DISABLE_KBD_PORT); + /* save the current controller command byte */ empty_both_buffers(kbdc, 200); c = get_controller_command_byte(kbdc); if (c == -1) { /* CONTROLLER ERROR */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message