Tag Archives: sentelic touchpad

Quick howto for the most stable Linux kernel with Zenbook

Quick howto for everyone having Asus UX31e aka Zenbook and wants the most stable vanilla kernel with long-time battery life and working touchpad made by Sentelic.
This should work for every Debian based distro, but has been tested only on the latest Linux Mint 12 (aka Lisa).
Tutorial is aimed mainly at beginners and should work in a copy&paste manner.

Of course you have to change every occurence of linux-3.2.4 to whichever version you’re going to install.
Just make sure that all commands are entered in the correct directories, prompts should look similar to these from examples.
You will need about 10GB of free disk space.

Let’s install some dependencies first:

fenio@zenbook ~ $ sudo apt-get install build-essential kernel-package fakeroot libncurses5-dev git iasl

Now let’s download and unpack the latest kernel (3.2.4 at the time it was written):

fenio@zenbook ~ $ mkdir kernel
fenio@zenbook ~ $ cd kernel
fenio@zenbook ~/kernel $ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.4.tar.bz2
fenio@zenbook ~/kernel $ tar jxvf linux-3.2.4.tar.bz2

Now we take current kernel configuration and put in the kernel tree:

fenio@zenbook ~/kernel $ cp /boot/config-`uname -r` linux-3.2.4/.config

Now we have to download the latest driver for Sentelic touchpad (this is why we needed git as a dependency):

fenio@zenbook ~/kernel $ git clone git://github.com/saaros/sentelic.git
fenio@zenbook ~/kernel $ cp sentelic/src/sentelic.* linux-3.2.4/drivers/input/mouse/

It’s time to fix broken DSDT table (part of ACPI). This is why we had iasl in dependencies.

fenio@zenbook ~/kernel $ wget http://files.benesovi.eu/ux31e/ux31e_dsdt.dsl
fenio@zenbook ~/kernel $ iasl -tc ux31e_dsdt.dsl

And include it in our kernel configuration:

fenio@zenbook ~/kernel $ sed -ie 's/# CONFIG_ACPI_CUSTOM_DSDT is not set/CONFIG_ACPI_CUSTOM_DSDT=y/g' linux-3.2.4/.config 
fenio@zenbook ~/kernel $ sed -ie "s@CONFIG_ACPI_CUSTOM_DSDT_FILE.*@CONFIG_ACPI_CUSTOM_DSDT_FILE=\"`pwd`/ux31e_dsdt.hex\"@g" linux-3.2.4/.config

Now ensure that all our options are set up correctly (you can change some other options if you want).
If you don’t want to change anything then simply exit saving configuration.

fenio@zenbook ~/kernel $ cd linux-3.2.4/
fenio@zenbook ~/kernel/linux-3.2.4 $ make menuconfig

We’re ready to start compilation now!

fenio@zenbook ~/kernel/linux-3.2.4 $ fakeroot make-kpkg clean
fenio@zenbook ~/kernel/linux-3.2.4 $ fakeroot make-kpkg --jobs=4 --initrd --append-to-version=-fenio --revision=20120204 kernel_image kernel_headers modules_image

Of course you can change “append-to-version” option for something own.

In the meantime (kernel compilations takes about one hour) you can modify Grub options to enable powersaving features RC6:

fenio@zenbook ~ $ sudo sed -ie 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX="i915.powersave=1 i915.semaphores=1 i915.i915_enable_rc6=1"/g' /etc/default/grub

Be sure to do that before installation of kernel, otherwise you will have to run update-grub.

After compilation you can finally install your new kernel:

fenio@zenbook ~/kernel/linux-3.2.4 $ sudo dpkg -i ../*.deb

Reboot and you’re done!

Feel free to comment this tutorial if something went wrong.