# HP 500 notebook touchpad

## dandor

Hi all,

recently i came by a new HP-500 notebook. Everything works perfectly on my gentoo except the synaptics touchpad. I suspect that the linux kernel does not support this device,because I have no entry  in  /proc/bus/input/devices for the touchpad. Of course the evdev psmouse mousedev modules are loaded. some errors appear in dmesg, but I couldn't solve them with the recommended i8042 related kernel options. 

```

Failed to disable AUX port, but continuing anyway... Is this a SiS?

If AUX port is really absent please use the 'i8042.noaux' option.

serio: i8042 KBD port at 0x60,0x64 irq 1

mice: PS/2 mouse device common for all mice
```

[/code]

the lack of kernel support results in missing mouseX entries under /dev/input and therefore neither the mouse nor the synaptics driver of the xorg server recognize the device. I have tried several linux based livecds without success. However the freebsd based freesbie livecd handles the touchpad correctly. I have tried several kernel versions with no success (2.6.10, 2.6.16 and 2.6.18 ). the external usb mouse works correctly. 

Has anybody succeeded to configure the touchpad with this  notebook? Thanks in advance for the answers.

----------

## mebu

First thing to make sure is that have you set:

```
INPUT_DEVICES="keyboard mouse synaptics"
```

..in your '/etc/make.conf' file before emerging xorg

If you have not then you may wish to recompile xorg

Another thing to try out is by changing the '/etc/X11/xorg.conf' file of the mouse device, like the following:

For generic mouse - used as standard.

```
Section "InputDevice"

   Driver     "mouse"

   Identifier     "mouse0"

   Option   "Device"     "/dev/input/mice"

   Option   "Protocol"   "auto-dev"

 EndSection
```

For Synaptics - touchpads

```
Section "InputDevice"

   Driver     "synaptics"

   Identifier     "TouchPad"

   Option   "Device"     "/dev/psaux"

   Option   "Protocol"   "auto-dev"

 EndSection
```

I hope this helps

----------

## dandor

Hi,

Thanks for your answer, finally i solved the problem. I needed to do a little kernel hacking to make the touchpad work. The problemmatic file is the  drivers/input/serio/i8042.c in the linux kernel source. The ps/2 port detection routine erroneously thinks that there is no ps/2 port for the touchpad in my hp500 notebook. This routine resides in function  i8042_check_aux(). After I put a 

```
return 0;
```

 line in the beginning of the body of this function the touchpad worked correctly. 

If anybody has the same problem,here is the patch for 2.6.18 kernels to disable the erroneous port detection routine.

```

--- /usr/src/linux-2.6.18-gentoo-r4/drivers/input/serio/i8042.c 2006-12-19 13:25:35.000000000 +0100

+++ /usr/src/linux/drivers/input/serio/i8042.c  2007-01-03 23:12:21.000000000 +0100

@@ -604,6 +604,9 @@

        unsigned char param;

        static int i8042_check_aux_cookie;

 

+printk("eger detektalas megkerulese\n");

+return 0;

+

 /*

  * Check if AUX irq is available. If it isn't, then there is no point

  * in trying to detect AUX presence.

@@ -628,7 +631,6 @@

 

        param = 0x5a;

        if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != 0x5a) {

-

 /*

  * External connection test - filters out AT-soldered PS/2 i8042's

  * 0x00 - no error, 0x01-0x03 - clock/data stuck, 0xff - general error

```

----------

## j-m

Fixed in gentoo-sources-2.6.21-r1  :Cool: 

----------

## dandor

Yeah! Much better solution than my workaround.  :Smile: 

----------

