# [Solved] Laptop touchpad not recognized

## nevro

Hi everybody,

I've just get a new laptop: ASUS Zenbook ProUX501UW FY102T and after installing Gentoo the touchpad is not recognized. I've spent days googling and test a LOT of solutions but nothing worked.

What I've tried:

- test kernel from 4.3 to 4.9 (from official github this one)

- tried tons of parameters into kernel boot like noloop, nopnp, nomux, reset etc..

- installing synaptics, evdev, libinput 

- Live CD ubuntu 14, 15 (16 freeze at the boot), latest fedora, arch linux: no one get a working touchpad

- compile the whole list of i2c drivers and load them as modules or in-built

It seems a lot of people got/is getting this problem, some patches have been pushed into the kernel to solve their problem but nothing worked for my case. 

Before posting into kernel bugzilla and report this as a kernel bug, I would like your advices, maybe you will have some ideas that I did not try or something I made wrong. I cannot use my laptop without touchpad..

Here the important information:

```

emerge --info

Portage 2.3.0 (python 3.4.3-final-0, default/linux/amd64/13.0, gcc-4.9.3, glibc-2.22-r4, 4.5.0 x86_64)

=================================================================

System uname: Linux-4.5.0-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.2

KiB Mem:    16328772 total,  15579488 free

KiB Swap:          0 total,         0 free

Timestamp of repository gentoo: Sat, 15 Oct 2016 05:30:01 +0000

sh bash 4.3_p48

ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1

ccache version 3.2.4 [enabled]

app-shells/bash:          4.3_p48::gentoo

dev-lang/perl:            5.22.2::gentoo

dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo

dev-util/ccache:          3.2.4::gentoo

dev-util/cmake:           3.5.2-r1::gentoo

dev-util/pkgconfig:       0.28-r2::gentoo

sys-apps/baselayout:      2.2::gentoo

sys-apps/openrc:          0.21.7::gentoo

sys-apps/sandbox:         2.10-r1::gentoo

sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo

sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo

sys-devel/binutils:       2.25.1-r1::gentoo

sys-devel/gcc:            4.9.3::gentoo

sys-devel/gcc-config:     1.7.3::gentoo

sys-devel/libtool:        2.4.6::gentoo

sys-devel/make:           4.1-r1::gentoo

sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)

sys-libs/glibc:           2.22-r4::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA MakeMKV-EULA dlj-1.1 AdobeFlash-10.1 googleearth Nero-EULA-US PUEL Oracle-BCLA-JavaSE AdobeFlash-10.3 AdobeFlash-11.x Intel-SDP"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=native -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

FFLAGS="-march=native -O2 -pipe"

GENTOO_MIRRORS="http://gentoo.gossamerhost.com http://gentoo.mirrors.ovh.net/gentoo-distfiles/"

LANG="en_US.utf8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j9"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"

PORTAGE_TMPDIR="/var/tmpportage/"

USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo ccache cdda cdr chromecast cli consolekit cracklib crypt cups cxx dbus device-mapper dri dts dvd dvdr emboss encode exif fam ffmpeg flac fortran gdbm gif gphoto2 gpm gtk gtk2 gtk3 gudev iconv ipv6 java6 jpeg laptop lcms libnotify lm_sensors mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl nsplugin ogg opengl openmp pam pango pcre pdf pic png policykit ppds qt3 qt3support qt4 readline samba sdl seccomp session spell sse sse2 sse3 sse4 ssl startup-notification svg tcpd thunar tiff truetype udev udisks unicode upower usb vaapi vdpau vorbis wma-fixed wxwidgets x264 x265 xattr xcb xfce xml xv xvid zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core unixd socache_shmcb actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="keyboard evdev synaptics mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr fr_FR en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia" XFCE_PLUGINS="brightness clock trash" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

```

```

# lspci 

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)

00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)

00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)

00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)

00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)

00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)

00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)

00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)

00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)

00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)

00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)

00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)

00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)

00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)

00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)

00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)

01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

02:00.0 Unassigned class [ff00]: Alcor Micro Device 6621

03:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)

3d:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)

```

```

# libinput-list-devices 

Device:           Power Button

Kernel:           /dev/input/event2

Group:            1

Seat:             seat0, default

Capabilities:     keyboard 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      n/a

Nat.scrolling:    n/a

Middle emulation: n/a

Calibration:      n/a

Scroll methods:   none

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   n/a

Rotation:         n/a

Device:           Video Bus

Kernel:           /dev/input/event3

Group:            2

Seat:             seat0, default

Capabilities:     keyboard 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      n/a

Nat.scrolling:    n/a

Middle emulation: n/a

Calibration:      n/a

Scroll methods:   none

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   n/a

Rotation:         n/a

Device:           Video Bus

Kernel:           /dev/input/event4

Group:            2

Seat:             seat0, default

Capabilities:     keyboard 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      n/a

Nat.scrolling:    n/a

Middle emulation: n/a

Calibration:      n/a

Scroll methods:   none

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   n/a

Rotation:         n/a

Device:           Sleep Button

Kernel:           /dev/input/event1

Group:            3

Seat:             seat0, default

Capabilities:     keyboard 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      n/a

Nat.scrolling:    n/a

Middle emulation: n/a

Calibration:      n/a

Scroll methods:   none

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   n/a

Rotation:         n/a

Device:           Logitech USB-PS/2 Optical Mouse

Kernel:           /dev/input/event7

Group:            4

Seat:             seat0, default

Capabilities:     pointer 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      disabled

Nat.scrolling:    disabled

Middle emulation: disabled

Calibration:      n/a

Scroll methods:   button

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   flat *adaptive

Rotation:         n/a

Device:           AT Translated Set 2 keyboard

Kernel:           /dev/input/event6

Group:            5

Seat:             seat0, default

Capabilities:     keyboard 

Tap-to-click:     n/a

Tap-and-drag:     n/a

Tap drag lock:    n/a

Left-handed:      n/a

Nat.scrolling:    n/a

Middle emulation: n/a

Calibration:      n/a

Scroll methods:   none

Click methods:    none

Disable-w-typing: n/a

Accel profiles:   n/a

Rotation:         n/a

```

```

# cat /proc/bus/input/devices 

I: Bus=0019 Vendor=0000 Product=0005 Version=0000

N: Name="Lid Switch"

P: Phys=PNP0C0D/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0

U: Uniq=

H: Handlers=event0 evbug 

B: PROP=0

B: EV=21

B: SW=1

I: Bus=0019 Vendor=0000 Product=0003 Version=0000

N: Name="Sleep Button"

P: Phys=PNP0C0E/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1

U: Uniq=

H: Handlers=kbd event1 evbug 

B: PROP=0

B: EV=3

B: KEY=4000 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000

N: Name="Power Button"

P: Phys=LNXPWRBN/button/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2

U: Uniq=

H: Handlers=kbd event2 evbug 

B: PROP=0

B: EV=3

B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000

N: Name="Video Bus"

P: Phys=LNXVIDEO/video/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input3

U: Uniq=

H: Handlers=kbd event3 evbug 

B: PROP=0

B: EV=3

B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000

N: Name="Video Bus"

P: Phys=LNXVIDEO/video/input0

S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:12/LNXVIDEO:01/input/input4

U: Uniq=

H: Handlers=kbd event4 evbug 

B: PROP=0

B: EV=3

B: KEY=3e000b00000000 0 0 0

I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

S: Sysfs=/devices/platform/pcspkr/input/input6

U: Uniq=

H: Handlers=kbd event5 evbug 

B: PROP=0

B: EV=40001

B: SND=6

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

S: Sysfs=/devices/platform/i8042/serio0/input/input5

U: Uniq=

H: Handlers=sysrq kbd leds event6 evbug 

B: PROP=0

B: EV=120013

B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe

B: MSC=10

B: LED=7

I: Bus=0003 Vendor=046d Product=c045 Version=0110

N: Name="Logitech USB-PS/2 Optical Mouse"

P: Phys=usb-0000:00:14.0-6/input0

S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/0003:046D:C045.0001/input/input7

U: Uniq=

H: Handlers=mouse0 event7 evbug 

B: PROP=0

B: EV=17

B: KEY=ff0000 0 0 0 0

B: REL=143

B: MSC=10

```

```

# xinput list

⎡ Virtual core pointer                       id=2   [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer                 id=4   [slave  pointer  (2)]

⎜   ↳ Logitech USB-PS/2 Optical Mouse            id=10   [slave  pointer  (2)]

⎣ Virtual core keyboard                      id=3   [master keyboard (2)]

    ↳ Virtual core XTEST keyboard                id=5   [slave  keyboard (3)]

    ↳ Power Button                               id=6   [slave  keyboard (3)]

    ↳ Video Bus                                  id=7   [slave  keyboard (3)]

    ↳ Video Bus                                  id=8   [slave  keyboard (3)]

    ↳ Sleep Button                               id=9   [slave  keyboard (3)]

    ↳ AT Translated Set 2 keyboard               id=11   [slave  keyboard (3)]

```

```

# lsmod 

Module                  Size  Used by

i2c_emev2               3856  0

i2c_designware_pci      3715  0

i2c_designware_platform     4610  0

i2c_designware_core     7279  2 i2c_designware_pci,i2c_designware_platform

x86_pkg_temp_thermal     5367  0

iwlmvm                224940  0

iwlwifi               160977  1 iwlmvm

efivarfs                6055  1

```

```

# grep keyboard /var/log/kern.log 

Oct 18 01:40:28 masamune kernel: [    0.461005] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input5

# grep mouse /var/log/kern.log

Oct 18 01:40:28 masamune kernel: [    0.369936] usbcore: registered new interface driver idmouse

Oct 18 01:40:28 masamune kernel: [    0.420508] mousedev: PS/2 mouse device common for all mice

```

Thanks for your help!Last edited by nevro on Tue Oct 18, 2016 7:36 pm; edited 1 time in total

----------

## Logicien

Have-you try Gpm the console copy and paste mouse daemon? It have several drivers options you can try. If it work, you can use it as a repetitor for Xorg. It's the only thing I see you haven't try. No output tell the mark of your touchpad. Is it a Synaptics, an Elantec, do you know?

----------

## nevro

No I've no idea about of the mark of the touchpad. It seems that the touchpad and keyboard are on the same chip and controlled by the i8042 controller:

```

# cat /var/log/kern.log | grep i8042

Oct 18 10:58:03 masamune kernel: [    0.000000] Kernel command line: root=/dev/nvme0n1p5 rootfstype=ext4 raid=noautodetect acpi_osi= i8042.nopnp

Oct 18 10:58:03 masamune kernel: [    0.343160] i8042: PNP detection disabled

Oct 18 10:58:03 masamune kernel: [    0.347758] i8042: Detected active multiplexing controller, rev 1.1

Oct 18 10:58:03 masamune kernel: [    0.350008] serio: i8042 KBD port at 0x60,0x64 irq 1

Oct 18 10:58:03 masamune kernel: [    0.350013] serio: i8042 AUX0 port at 0x60,0x64 irq 12

Oct 18 10:58:03 masamune kernel: [    0.350036] serio: i8042 AUX1 port at 0x60,0x64 irq 12

Oct 18 10:58:03 masamune kernel: [    0.350055] serio: i8042 AUX2 port at 0x60,0x64 irq 12

Oct 18 10:58:03 masamune kernel: [    0.350074] serio: i8042 AUX3 port at 0x60,0x64 irq 12

Oct 18 10:58:03 masamune kernel: [    0.440930] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input5

```

----------

## Roman_Gruber

With a brand new hardware and using an antique kernel is definitely not a good approach.

Please try something recent and stable release from kernel.org. e.g. gentoo-sources 4.8.2

Usually touchpads are connnected wtih PS2 or usb protocol. And need some kernel settings and synaptics, and also the correct input devices in your make.conf for the X server

--

Well my opinion:

use experimental use flag on gentoo sources and enable skylake optimizations.

Use ~amd64 to get latest optimizations for your brand new hardware

the ~amd64 is far better choice because you have brand new hardware and needed anyway for latest webbrowser, nvidia binary drivers ...

--

 *Quote:*   

> ACCEPT_LICENSE="* -@EULA MakeMKV-EULA dlj-1.1 AdobeFlash-10.1 googleearth Nero-EULA-US PUEL Oracle-BCLA-JavaSE AdobeFlash-10.3 AdobeFlash-11.x Intel-SDP" 

 

Is nonsense as

* means everything, so use * or list up every license

--

when the box comes with windows, read out there how the touchpad is connected to the mainboardLast edited by Roman_Gruber on Tue Oct 18, 2016 12:03 pm; edited 1 time in total

----------

## nevro

 *Roman_Gruber wrote:*   

> With a brand new hardware and using an antique kernel is definitely not a good approach.
> 
> Please try something recent and stable release from kernel.org. e.g. gentoo-sources 4.8.2
> 
> Usually touchpads are connnected wtih PS2 or usb protocol. And need some kernel settings and synaptics, and also the correct input devices in your make.conf for the X server
> ...

 

I agree, I started by emerging the 4.8 and tried then a lot of kernels. The one I mentionned in myinfo is the last one.

----------

## Roman_Gruber

I was still editing my post, please see above. I just had a look on your emerge info and overlooked the line that you tried every new kernel release.

So what does 

```
lshw
```

```
dmesg
```

```
cat /var/log/messages 
```

 says?

any line regarding somethig not recognized? something else which may be helpful?

----------

## nevro

Update:

I've used the latest Ubuntu LiveCD and it works!

Here the report:

```

I: Bus=0018 Vendor=0b05 Product=0101 Version=0100

N: Name="FTE1001:00 0B05:0101"

P: Phys=i2c-FTE1001:00

S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-FTE1001:00/0018:0B05:0101.0001/input/input9

U: Uniq=

H: Handlers=mouse0 event8 

B: PROP=0

B: EV=17

B: KEY=30000 0 0 0 0

B: REL=103

B: MSC=10

```

```

ubuntu@ubuntu:~$ uname -r

4.4.0-31-generic

```

I've seen over various threads that designware was patched a lot to get touchpad working then not working etc..It seems this kernel owns a working one. But how to get the driver and be sure it is part of the 4.4.0.31 (or make a diff and applied a patch into my 4. :Cool: 

----------

## Roman_Gruber

You should copy over the config. AFAIK there was somewhere the kernel config in use in another place too.

Check first if you get the kernel config with this

```
zcat /proc/config.gz 

```

----------

## nevro

 *Roman_Gruber wrote:*   

> You should copy over the config. AFAIK there was somewhere the kernel config in use in another place too.
> 
> Check first if you get the kernel config with this
> 
> ```
> ...

 

Okay, I get it working now on Gentoo. I've taken the config and the linux-source via the live cd (apt-get install linux-source) and use it as a new kernel into Gentoo.

I've the pad working. It remains a few things to fix but this one was the big one. It is a kernel regression.

Thanks for your help !!

----------

