[coreboot] Keyboard not working on Thinkpad X60/T60

Sven Schnelle svens at stackframe.org
Sat May 7 20:48:45 CEST 2011


Kevin O'Connor <kevin at koconnor.net> writes:

> On Wed, May 04, 2011 at 10:16:17AM +0200, Sven Schnelle wrote:
>> >>> Will do. But right now i have the problem that the Keyboard isn't
>> >>> working on cold boot - seabios is probably started so early that some
>> >>> hardware parts are not finished with reset or similar things.
> [...]
>> I've just modified seabios to resend commands when 0xfe is received as a
>> quick hack. It makes my keyboard working again. I'm not sure if SeabIOS
>> should handle 0xfe as RESEND or not - have not monitored much Keyboards,
>> and don't know wether this has any side effects.
>
> Some ps2 ports send NAK (0xfe) when there is no keyboard plugged in.
> The detection for NAK was added so that it doesn't take a full second
> to recognize that no keyboard is present.  The patch you sent would
> loop infinitely in this situation.

Yes, the patch was only for testing purposes. :)

I feared that are controllers out there that behave like this, so i have
to find another solution.

> It's possible to have ps2_send_byte() attempt a resend on each NAK and
> use the timer to detect when to stop.  However, that will re-introduce
> the problem of having to wait a second when there is no keyboard
> present.

Yes.

> Do you know how long it takes for your keyboard to become responsive?
> (You can pass "-n" to tools/readserial.py to have it report wall times
> instead of adjusted times.)

It takes something about 0.8s, according to serial output. I've already
monitored the EC registers, but there seems to be no bit that
can be used as indicator wether EC is ready for Keyboard action or not.

> Have you considerd using a USB keyboard?  :-)

Well - it's a Thinkpad. :-)

> BTW, if you want to improve boot time, setting
> CONFIG_THREAD_OPTIONROMS should help.

I already have that option set. ;)

Sven.




More information about the coreboot mailing list