i8042 and AUX not detected with acpi=on.

From: Sebastian Piechocki
Date: Mon Jan 24 2005 - 09:42:38 EST


Hello,
i'm owner of P10-824 (its the same as yours 792, difference is that 824
is some kind of German version). I had problem with touchpad,
tried many kernel versions with no positive result. The computer is ATI
RS300 based with ATI IXP and Mobility Radeon 9700.
The problem lies in the i8042.c driver in kernel. It is very strange,
because with kernel option acpi=off touchpad is detected, sorry, ps/2
port AUX is detected and touchpad too. But if acpi=on only keyboard is
detected by i8042 driver no AUX. I resolved this problem by debuging
driver and change the code.
I found that driver is checking AUX existence sending loop command to
controller. Unfortunately this ends with timeout, no response was send.
The driver know about such problems with loop command and retries
detecting by another command that with toshiba mouse controller fails.
The details:
In method:
i8042_check_aux

There is:
param = 0x5a;
if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != 0xa5)
{

/*
* External connection test - filters out AT-soldered PS/2 i8042's
* 0x00 - no error, 0x01-0x03 - clock/data stuck, 0xff - general error
* 0xfa - no error on some notebooks which ignore the spec
* Because it's common for chipsets to return error on perfectly
functioning
* AUX ports, we test for this only when the LOOP command failed.
*/

if (i8042_command(&param, I8042_CMD_AUX_TEST)
|| (param && param != 0xfa && param != 0xff))
return -1;
}

I have commented the line with return -1.
I know that this solution is very stupid, but works fine.
I use 2.6.11-rc1-mm1 kernel, and my touchpad is detected as ALPS.

I think this is some special situation, that need extra detection
possibility? Am I right?
--
Sebastian Piechocki
sebekpi@xxxxxxxxxxxxxx
-
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/