Making the touchpad work on a HP Pavilion Chromebook in Ubuntu 14.04 and 14.10

For Ubuntu 14.04 you have to add the following to /etc/rc.local before “exit 0”:

modprobe -r chromeos_laptop
modprobe i2c-i801
modprobe chromeos_laptop

For Ubuntu 14.10 you also have to add a “sleep 1” after loading the i2c module, so it would in this case read:

modprobe -r chromeos_laptop
modprobe i2c-i801
sleep 1
modprobe chromeos_laptop

Then copy /usr/share/X11/xorg.conf.d/50-synaptics.conf to /etc/X11/xorg.conf.d/51-synaptics.conf and edit it adding the following lines to the inputclass section named “touchpad catchall”:

Option "FingerHigh" "5"
Option "FingerLow" "5"

Reboot, and there you have it!

Join the conversation


  1. John, hypothetically speaking, if one were to be assisting someone else with a switch to custom firmware, and not check to see that we had the correct .rom file to flash, would it be possible to use a Bus Pirate to resurrect this particular device? As it stands now, the device is completely borked. No activity of any kind through any ports at all on powerup. I see a picture on one of your posts where you have this same motherboard connected to what appears to be an SOIC clip of some kind attached to the IC near the battery on the underside of the motherboard. ( Any insights and opinions regarding this process would be very much appreciated.

    1. What device have you got, and what ROM did you flash? It may not be completely bricked, just the display.

      Why didn’t you use the script to automatically determine and download the best version for you?

  2. Device is the HP Pavilion 14 Chromebook (Butterfly). Rom flashed was the version for the HP Chromebook 14. Device seems to be completely bricked, as far as I can tell. USB drives inserted into all ports show no signs of being powered. Black screen, device is “on” as long as the battery is inserted and the lid is open. We didn’t use the script, because we were working on it in an area without an active internet connection. The rom was already on a thumbdrive. Yes, I know. We should have just waited and used the script.

    1. In that case it is completely bricked. :D

      Also, Flashrom would’ve warned you when you tried to flash a ROM with a different product name in, and you must’ve used the “force” option. Just goes to show you shouldn’t always use the force (Luke).

      The guide to unbricking the 550 is relevant for the HP Pavilion Chromebook also, only difference is the location of the SPI chip, which you can see in You’ll have to unscrew the motherboard and flip it as it’s on the underside. If you notice that the pin assignment I’m using with in the picture is different, it’s because I have a Dediprog SF100 (kindly donated by Google) which is a faster, but 5 times more expensive alternative to the Bus Pirate. Happy unbricking!

  3. Hello Sir, I’d like to thank you for all your useful tips :)

    Your method works just fine on ubuntu but not on elementary os, I’m very attached to oes, do you know how to make the touchpad works on it ?
    I have a HP Pavilion 14-c001ef14.

    Thank you !

    1. Considering Elementary OS is based on Ubuntu it “should” work. You’d be quicker to ask on the Elementary OS forums. I take it you did reboot? Also can you check /etc/rc.local has the executable bit set “x”? You should probably point them at this post so they see what you’re trying to do, and how it might need to be tweaked for their setup.

  4. I did your manip several times on ubuntu, xubuntu and even on the latest beta of elementary os (freya), it’s always works !
    But I can’t on froyo, don’t understand why :(

    I’m gonna take your advise and aks for help on the dedicated forum ;)
    Thanks again =)

    1. I am going to guess that the location of rc.local has moved. In CentOS and Fedora it’s in /etc/rc.d/rc.local

      If you have to create the file you need to make it executable “chmod +x rc.local” and remember to put “#!/bin/sh” at the start, or it won’t work either.

  5.  This does not seem to be working on my falco assuming there is not something i am missing can you help please? I believe I have followed the instructions properly but there’s no response from the touchpad at all

    1. This article is for the HP Pavilion Chromebook, aka Butterfly *not* Falco. To get the touchpad working on Falco, you need *either* one of the distro specific scripts to compile the correct modules *or* to download and compile a 3.17 release candidate kernel (I’m doing the latter with CentOS 7 now for the last few months, and it’s rock-solid).

  6. Unfortunately didn’t work for me. Now my cursor just disappears when I move the touchpad. Even if I use synergy to use my other mouse, it is an invisible cursor. Plugging in a mouse and unplugging it brings the cursor back.

    For 14.10, the /etc/X11/xorg.conf.d directory does not exist

  7. Thanks for all of your work! I recently flashed your ROM on my Samsung Series 5 chromebook. Everything went well except that the trackpad and bluetooth are not currently working. I went through all of your posts on here, and other than the FAQ section mentioning grounding the trackpad I haven’t seen something specific to the Samsung Series 5. If you could steer me in the right direction that would be great, if not that’s fine too! Thanks.

    1. I think you must mean the Series 5 550 *not* the Series 5, as they have completely different hardware, and the latter is not mutually compatible with any of my ROM’s.

      I need a little more context here. Which distro are you trying to get working?

  8. Thank you for the work on chromebooks, I’ve wanted to ‘upgrade’ my HP 14 for years, I finally got it done.
    I’ve installed Xubuntu 17.10, and..
    1. Added rc.local (executable)
    2. added the xorg.conf.d file with options
    3. rebooted (several times)
    still no touchpad. :( I’m googling, but I thought I might ping an old thread for new advice.

    1. Is it the HP Pavilion Chromebook or the HP Chromebook 14 though? This article wouldn’t be relevant to the latter, but what’s possible is that the sensitivity is set so low by default that the pad doesn’t “appear” to work, but if you use the click buttons or press really hard when moving your finger on the pad, it will work. Is that the case with you?

Leave a comment