Re: /dev/psaux troubles with 2.2.2

Johan =?iso-8859-1?Q?Myr=E9en?= (johan.myreen@setec.fi)
Thu, 11 Mar 1999 10:08:22 +0000


Vojtech Pavlik wrote:

> What about trying another detection method?

> The current driver uses the 0xD3 - Write to AUX output buffer command to
> detect the AUX presence. This is a feature that is not critical for a
> working PS/2 implementation and thus doesn't have to be implemented in every
> i8042 BIOS.
>
> There are other commands that relate to the AUX port and are more likely to
> be implemented:
>
> 0xA9 - AUX interface test. Should return 0x00 if OK. If doesn't return
> anything, there is no AUX interface. Some AMIKEY i8042's can return
> the cache flag (0x00) here, but as far as I know this is limited to
> 80286 machines only.

As you said yourself, the problem with the PS/2 AUX interface is that
there are so many different implementations out there. I have followed
the original spec, the "Personal System/2 Hardware Interface Technical
Reference - AT-Bus Systems" published by IBM. That document does not
mention the "AUX interface test" (0xA9) at all. It also does not allow
the "Write to AUX output buffer" to be optional.

There may be other, conflicting specifications out there and a lot of
systems adhering to them, but with my 6+ years of fighting with the PS/2
aux port, I'm pretty confident that you will bump into controllers that
don't implement 0xA9 either.

> 0xA7 + 0xA8 - Enable + Disable AUX interface. This, if AUX is present,
> should toggle the AUX Disable bit (bit 5) in the i8042
> control register.

My documentation treats the AUX Disable bit as a write-only bit.

But OK, thanks for the tip, I think a safe way to proceed is to change
the test to first do a 0xA9 command, and if that fails, try what we do
now.

Johan Myréen
jem@iki.fi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/