Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!sdd.hp.com!think.com!ames!sun-barr!cs.utexas.edu!uunet!news.univie.ac.at!chx400!klarenbe From: klarenbe@chx400.switch.ch (Paul Klarenberg) Subject: Solution to vectra hang problem. Message-ID: <1992Oct16.110720.12533@chx400.switch.ch> Summary: Solution to vectra hang problem. Keywords: HP, Vectra, boot, hang, copyright Organization: Swiss Academic and Research Network SWITCH Date: Fri, 16 Oct 1992 11:07:20 GMT Lines: 29 [I'm posting this for a friend] The solution to the Vectra 386/20N hang after copyright. I tracked it down to a problem in pcprobe, the probe routine for the console. As Terry Lambert pointed out in his reply to my first posting a fix for the 'hang after copyright' is in the beta testkit. As I only have the alfa-3 version (2-sep 92) I do not know exactly what the fix in the beta-kit is.. But placing a DELAY(1000) inbetween outb(KBOUTP, CMDBYTE); and kbd_CMD(KBC_RESET); in pcprobe (file ..../isa/pccons.c) solves the problem. Ok but now the *why*! I looked in the Bios Technical Reference Manual for the Vectra 386/20N, but nothing is said about the time the keyboardcontroller (8042 micro controller) takes to execute a command. The 8042 is a single chip microcontroller that executes a program stored in an embedded ROM (16K). The program controls the keyboard and several settings of the main board (password, fast reset for mode switching etc..) On a 386/20N it also controls the built in bus mouse. The routines kbc_8042cmd() and kbd_cmd() in pccons.c only test if the command has been removed from the inputregister of the controller. They do not test that the command finished executing inside the controller. So I think the problem is that the keyboard controller locks up because two commands are given too soon after each other. Reinier Kleipool Reinier.Kleipoo@HPITCB.hp.hp.400net.nl Reinier Kleipool /HPITCB/85