Re: Strange atkbd messages with missing keyboard

From: Vojtech Pavlik
Date: Fri Feb 13 2004 - 13:58:54 EST


On Fri, Feb 13, 2004 at 01:27:46PM -0500, Dmitry Torokhov wrote:
> On Friday 13 February 2004 08:12 am, Meelis Roos wrote:
> > > Meelis, can you please enable DEBUG in i8042.c, so that I can check
> > > where these unexpected NAKs come from?
> >
> > Here is full dmesg (though probably only the serio and atkbd lines are
> > interesting).
> >
>
> > drivers/input/serio/i8042.c: d4 -> i8042 (command) [3]
> > drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [3]
> > drivers/input/serio/i8042.c: d4 -> i8042 (command) [109]
> > drivers/input/serio/i8042.c: ed -> i8042 (parameter) [109]
> > drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 12, timeout) [122]
> > drivers/input/serio/i8042.c: 60 -> i8042 (command) [122]
> > drivers/input/serio/i8042.c: 54 -> i8042 (parameter) [122]
> > drivers/input/serio/i8042.c: fe <- i8042 (interrupt, aux, 12, timeout) [240]
> > atkbd.c: Unknown key pressed (raw set 0, code 0x17e on isa0060/serio1).
> > atkbd.c: Use 'setkeycodes 7e <keycode>' to make it known.
>
> I see that we are not getting a NAK when querying ID but getting it while
> setting LEDs (or even writing to the control register later). It seems
> like controller's timeout is longer than our internal one so we getting
> timeout signal from keyboard (which we convert to a NAK) too late.

We don't convert it to a NAK, it comes as a NAK byte from the controller
(generated by the controller), and with the timeout flag set.

> I wonder if changing timeout in atkbd_sendbyte to 400 or 500 ms will
> cure the problem.

It probably would, but it also would slow down the detection. I think we
can simply ignore bytes with the timeout flag set in the atkbd_interrupt
function when we're not expecting an ACK/NAK.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/