Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 May 1996 19:30:54 +1000
From:      Mark Hannon <mark@seeware.DIALix.oz.au>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        jkh@time.cdrom.com, freebsd-current@FreeBSD.ORG
Subject:   Re: bad keyboard reset routine? 
Message-ID:  <199605260930.TAA00369@putte.seeware.DIALix.oz.au>
In-Reply-To: Your message of "Sat, 25 May 1996 20:29:54 %2B1000." <199605251029.UAA13162@godzilla.zeta.org.au> 

next in thread | previous in thread | raw e-mail | index | archive | help

Hi,

I made the following changes to syscons.c:

gotack:
        DELAY(10);
        j = 1000;               /* Wait at most 10 ms (supposedly). */
        while ((inb(KB_STAT) & KB_BUF_FULL) == 0 && --j > 0) DELAY(10);
        DELAY(10);
        val = inb(KB_DATA);
        if (val == KB_ACK && --i > 0)
            goto gotack;
        printf("scprobe: Keyboard reset sent %d times\n", 1000-i);
        if (val != KB_RESET_DONE)
            printf("scprobe: keyboard RESET failed (result = 0x%02x)\n", val);
    }

ie, I stepped the number of retries to 1000, the following was the result:

putte:~> dmesg | grep sc
scprobe: Keyboard reset sent 13 times
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>

The keyboard works now.

Rgds/mark
-- 
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Mark Hannon,| FreeBSD - Free Unix for your PC| mark@seeware.DIALix.oz.au|
| Melbourne,  | PGP key available by fingering | epamha@epa.ericsson.se   |
| Australia   | seeware@melbourne.DIALix.oz.au |                          |
+-=-=-=-=-=-=-+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605260930.TAA00369>