Friday, September 30, 2011

Gateway NV75S02u Touchpad + Ubuntu Natty

Ubuntu Natty (2.6.38-11-generic) doesn't seem to embrace the ELAN Smart Pad on the Gateway NV75S02u. This can be confirmed:

xinput list

Under "Virtual core pointer", it lists a "PS/2 wheel mouse" and no touchpad.

After much searching, I found a fix. I don't know who to attribute it to or how I'd ever find it again, but it worked like a charm so I'm going to reproduce it and give credit to anyone who speaks up.

The original

Step 1

IMPORTANT: BACK UP THE EXISTING MODULE FIRST! You can revert to the .backup copy if things go wrong.

sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup

Step 2

Get the kernel source and headers for your installed kernel along with some prerequisites:

sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev kernel-package fakeroot

Step 3
Now extract the kernel sources to a folder named src in your home directory, where VERSION is the version of your kernel sources. If you aren't sure, just do a ls /usr/src/linux-source*.bz2 to find it:

mkdir ~/src
cd ~/src
tar jxvf /usr/src/linux-source-VERSION.tar.bz2
cd linux-source-VERSION

Then copy your config file in and make oldconfig:

cp /boot/config-`uname -r` .config
make oldconfig

Step 4
Make sure that the elantech option is on:

grep -i elantech .config

It should return this if it is set:

If it is not set it will return:

If the elantech option is not set, run make menuconfig and navigate to Device Drivers->Input device support->Mice and press space on the Elantech PS/2 protocol extension so that it has an asterisk like this:[*]. Then press the right arrow and enter repeatedly to back out of the menus, and then answer YES to save your config.

Step 5
Get and apply the patches:

wget -O 01elantech_2.6.38.patch
patch -p1 < 01elantech_2.6.38.patch

Step 6
Next, build the module:

make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko

Step 7
Try the new module to see if it works:

sudo modprobe -r psmouse
sudo insmod drivers/input/mouse/psmouse.ko

If it doesn't work, DO NOT continue to step 8. You can reload the psmouse module and your touchpad will function again:

sudo modprobe -r psmouse
sudo modprobe psmouse

There are no permanent changes to your system until step 8 below.

Step 8
Note: This step will make a persistent change to your system.

If the patched module worked, you can move it into its place in /lib/modules/ if you want to keep using it:

sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko

It'd be a good idea to try this copy of the module to make sure it works:

sudo modprobe -r psmouse
sudo modprobe psmouse

If for some reason your touchpad will not work after following these directions, move the backup back into place and you should be fine:

sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko
sudo modprobe -r psmouse
sudo modprobe psmouse

That's it. xinput list now shows an ETPS/2 Elantch ETF1059 Click-Pad.

Again, thanks whoever! You're a lifesaver!

Labels: ,


Blogger Colin said...

in ubuntu 11.10 oneric the elan tech touchpad appears to be identified, but the gestures that work with windows do not seem to be supported..

have you had any lucking getting touchpad gestures working?

9:29 AM  

Post a Comment

Links to this post:

Create a Link

<< Home