public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.3-bk7 i8042 does not work on a genuine i386 ibm ps/2 model 70.
@ 2004-02-29 14:32 Eric W. Biederman
  2004-03-03 10:13 ` Vojtech Pavlik
  0 siblings, 1 reply; 7+ messages in thread
From: Eric W. Biederman @ 2004-02-29 14:32 UTC (permalink / raw)
  To: linux-kernel, Vojtech Pavlik


The i8042 driver attempts to detect if IBM PC compatiblity mode i.e.
I8042_CTR_XLATE is enabled.  Unfortunately on a genuine IBM PS/2, (a pc
incompatible :) this does not work. 

In i8042_controller_init if I disable the detection of the keyboard
not being in XLATE mode everything works fine.

/*
 * If the chip is configured into nontranslated mode by the BIOS, don't
 * bother enabling translating and be happy.
 */     
#if 0

	if (~i8042_ctr & I8042_CTR_XLATE)
		i8042_direct = 1;
#endif


The value of i8042_initial_ctr is 0x25 in case that helps.

I am not certain where to proceed from here.

The piece I am certain about is that the keyboard controller has
traditionally been a tiny microcontroller on PCs so that there is a
wide variance in the commands and the exact format that they support.
And so far every data sheet I have looked at the documentation is
slightly different.  The only real intel datasheet I could find was
for the i8741A.  And it does not document the traditional interface
implemented but the i8042, because that was done in firmware.

This machine is primarily a test machine to make certain my code
works on older hardware.  So I am willing try any interesting or
likely patches.

My primary problem is that the code does not do the conservative
thing and assume the BIOS setup the machine in PC compatible mode,
and only when certain XLATE mode is implemented by the i8042 act on
that information.  Instead the code is assumes it knows how the
hardware works when in fact it does not.  

One solution might be check to assume XLATE mode is always enabled
unless the underlying hardware matches a known list of superio chips.

It is extremely evil to try and use a machine when the scancodes are
misinterpreted.

Eric

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-03-04  6:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-29 14:32 2.6.3-bk7 i8042 does not work on a genuine i386 ibm ps/2 model 70 Eric W. Biederman
2004-03-03 10:13 ` Vojtech Pavlik
2004-03-03 14:05   ` David Weinehall
2004-03-03 14:12     ` Vojtech Pavlik
2004-03-03 18:51   ` Eric W. Biederman
2004-03-03 20:30     ` Eric W. Biederman
2004-03-04  6:45       ` [PATCH] 2.6.4-rc1 make i8042 " Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox