36

I just newly bought an ASUS laptop. The touchpad works fine on Windows, then I installed Ubuntu 18.04. The touchpad however does not work.

  • touchpad works fine on Windows 10
  • touchpad does not work on a live ubuntu USB
  • fn key works on Ubuntu
  • touchpad including left/right click does not work on Ubuntu 18.04
  • touchpad does not seem to show up on xinput

Here is xinput

user@TUF-GAMING-FX504GD-FX80GD:~$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=12   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=13   [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)]
    ↳ Asus Wireless Radio Control               id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Video Bus                                 id=9    [slave  keyboard (3)]
    ↳ Power Button                              id=10   [slave  keyboard (3)]
    ↳ Sleep Button                              id=11   [slave  keyboard (3)]
    ↳ USB2.0 HD UVC WebCam: USB2.0 HD           id=14   [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=17   [slave  keyboard (3)]

Here is synclient.

user@TUF-GAMING-FX504GD-FX80GD:~$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?

Here is my device list.

user@TUF-GAMING-FX504GD-FX80GD:~$ cat /proc/bus/input/devices
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/input0
U: Uniq=
H: Handlers=kbd event0 
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=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

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/input2
U: Uniq=
H: Handlers=event2 
B: PROP=0
B: EV=21
B: SW=1

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/input3
U: Uniq=
H: Handlers=kbd event3 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4 leds 
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

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/input7
U: Uniq=
H: Handlers=kbd event5 
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:13/LNXVIDEO:01/input/input8
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0003 Vendor=046d Product=c52f Version=0111
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:14.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:046D:C52F.0001/input/input9
U: Uniq=
H: Handlers=mouse0 event7 
B: PROP=0
B: EV=17
B: KEY=ffff0000 0 0 0 0
B: REL=143
B: MSC=10

I: Bus=0003 Vendor=046d Product=c52f Version=0111
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:14.0-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:046D:C52F.0002/input/input10
U: Uniq=
H: Handlers=kbd event8 
B: PROP=0
B: EV=1f
B: KEY=3007f 0 0 483ffff17aff32d bf54444600000000 1 130f938b17c000 677bfad9415fed 9ed68000004400 10000002
B: REL=40
B: ABS=100000000
B: MSC=10

I: Bus=0019 Vendor=1043 Product=0000 Version=0000
N: Name="Asus Wireless Radio Control"
P: Phys=asus-wireless/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/ATK4002:00/input/input11
U: Uniq=
H: Handlers=rfkill kbd event9 
B: PROP=0
B: EV=3
B: KEY=80000000000000 0 0 0

I: Bus=0003 Vendor=13d3 Product=5666 Version=0322
N: Name="USB2.0 HD UVC WebCam: USB2.0 HD"
P: Phys=usb-0000:00:14.0-7/button
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/input/input12
U: Uniq=
H: Handlers=kbd event10 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Asus WMI hotkeys"
P: Phys=asus-nb-wmi/input0
S: Sysfs=/devices/platform/asus-nb-wmi/input/input13
U: Uniq=
H: Handlers=rfkill kbd event11 
B: PROP=0
B: EV=100013
B: KEY=1000000080000 0 800000000000 0 0 a1606f00900000 8200027800501000 e000000000000 0
B: MSC=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Front Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input14
U: Uniq=
H: Handlers=event12 
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input15
U: Uniq=
H: Handlers=event13 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input16
U: Uniq=
H: Handlers=event14 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input17
U: Uniq=
H: Handlers=event15 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input18
U: Uniq=
H: Handlers=event16 
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=10"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input19
U: Uniq=
H: Handlers=event17 
B: PROP=0
B: EV=21
B: SW=140

Here is my kernel version.

user@TUF-GAMING-FX504GD-FX80GD:~$ uname -a
Linux TUF-GAMING-FX504GD-FX80GD 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

As you can see my touchpad is not detected at all, nor is it even detected as some "generic mouse". I'm surprised that the fn key works tho.

Of course I tried the "fn + f10" combo to enable the touchpad, no luck.

After some googling and fixing attemps, my grub looks like this.

user@TUF-GAMING-FX504GD-FX80GD:~$ sudo cat /etc/default/grub
[sudo] password for user: 
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="i8042.nopnp quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Any help appreciated, I really need to use my touchpad. I'm now using a wireless mouse. I can post more specs if necessary.

  • The latest updates upgraded the kernel to 4.15.0-72-generic. But it has issues with Synaptics touchpad drivers and all of sudden after the restart, the touchpad stopped working. So downgraded to 4.15.0-70 and my touchpad started working again. – Ravi Misra Dec 06 '19 at 18:05

6 Answers6

28
  1. Try the below command. If it does not show your touchpad then Ubuntu does not support it.

    less /proc/bus/input/devices
    
  2. After that or if you have already done step 3 you can try

    sudo rmmod i2c_hid
    sudo modprobe i2c_hid
    
  3. If it is showing your touchpad you have to edit the configuration file for GRUB.

    sudo nano /etc/default/grub
    

    and replace

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    with

    GRUB_CMDLINE_LINUX_DEFAULT="i8042.reset quiet splash"
    

    save the file and exit, then run

     sudo update-grub
    

    and restart your laptop.

Jatin-CBS
  • 667
  • less /proc/bus/input/devices unfortunately doesn't show any "touchpad", guess I'm out of luck – christopher_pk May 30 '18 at 06:42
  • yes then ubuntu dont support the touch-pad. these problems i never got on dell laptops as it support ubuntu well. – Jatin-CBS May 30 '18 at 06:44
  • Great answer and worked flawlessly. Many thanks. Now here is the next part, how to tail this problem and report to the ubuntu? – benjamin button Jun 24 '18 at 18:26
  • Well, hardware support is increasing everyday you can attach a mouse as a supplement. – Jatin-CBS Sep 24 '18 at 22:11
  • same issue, my TUF504 doesn't list a trackpad or touchpad on /proc/bus/input/devices I thought, getting a recent kernel might help but it did nothing. is support lickely to come, and is yes, when? – tatsu Jan 24 '19 at 14:02
  • 2
    mine touch pad is not listed too, but it was working before on ubuntu 18.04 – Vasil Valchev May 17 '19 at 20:01
  • Dell laptop doesn't work. – acgbox Dec 14 '19 at 23:22
  • sudo nano /etc/default/grub == worked for me. – Manish Goswami Dec 15 '19 at 13:24
  • @VasilValchev : I had the same problem with my Asus Zenbook, it was working properly for 3-4 months and then it stopped working and xinput list and also cat /proc/bus/input/devices | grep -i name didn't show touchpad/trackpad. But after doing distribution-upgrade from ubuntu 18.04.4 to to ubuntu 20.4 LTS , my trackpad started working, after using step 2 from the above answer. And now, I can see my touchpad name : Name="ASUE1407:00 04F3:310D Touchpad" – aspiring1 Jun 27 '20 at 14:57
  • thanks its works also in RHEL 8.4 using kernel 5 – haidarvm Jul 05 '21 at 13:50
7

Installing below package will resolve the touchpad issues on Ubuntu 18.04.

sudo apt install xserver-xorg-input-synaptics

On my laptop also touchpad was not working after installing ubuntu 18.04. After installing this package issue got resolved.

rashok
  • 349
  • 3
  • 7
4

shot in the dark... i literally JUST pulled updates and it started working for me!

maybe try updating now?

it's not 100% functionality and sometimes it turns off for some reason but it works!

tatsu
  • 3,107
  • 2
    Hello, I can confirm that pulling updates worked for me last night! Looks like Ubuntu finally has support for my touchpad – christopher_pk Feb 07 '19 at 05:48
1

This is how I solved the issue for an HP 250 G5 laptop.

  1. Open the terminal and then run:

    $ cd /etc/default

  2. Now edit the grub file, which you can find in the default folder:

    $ sudo nano grub

  3. Inside the grub file, which should be now opened in a text editor, change the GRUB_CMDLINE_LINUX_DEFAULT from whatever it is to:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ivrs_ioapic[32]=00:14.0"

  4. Save the changes you made to the grub file.

  5. Update the grub file:

    $ sudo update-grub

  6. Restart your computer.

  7. Go to the Mouse and Touchpad section in your computer settings and make sure the option for touchpad is on.

Now it should work. This is the source of the solution above.

  • Works after clear boot on Dell Venue 11 at kernel 5.2.0-8.2-liquorix-amd64. But if sudden loose of connection because of broken contact with transformer's keyboards, the following macro will be used to reset the USB bus (see my answer). – v_mil Aug 15 '19 at 18:24
  • Dell laptop doesn't work. – acgbox Dec 14 '19 at 23:21
  • this worked for me on a Carbon x1 last generation – lourencoj Jan 23 '20 at 10:16
1

The answers, described in this post, do not solve the problem in Ubuntu 18.04.x, because the problem is a kernel 4.15.0-72 failure (There may be other old kernels with the same problem)

Solution: Waiting for the release of a new official Ubuntu kernel update or use another kernel (Higher preferably)

1.You can use ukuu to kernel upgrade/downgrade

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt install ukuu
ukuu-gtk

2.You can use hwe from PPA:

sudo add-apt-repository ppa:canonical-hwe-team/ppa
sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 

PD: kernel HWE is not compatible with some Iptables modules and may generate other problems.

Source: Touchpad, Vboxdrv, Secure Boot HWE en Ubuntu 18.04

acgbox
  • 2,200
0

For me, re-binding the USB bus is helpful for Dell Venue 11 on the kernel 5.2.0-8.2-liquorix-amd64 (on 4.15.0-58-generic the touchpad operates normally). If somthing wrong, computer can loose interface (!!!) if there are no alternative input devices (ps/2, touchscreen). Please, use it at your own risk!

To find the proper kernel module, run lspci -k. Find USB. Remember the corresponding kernel module, for example, xhci_hcd (the first letter is dependent on the controller speed). If different USB controllers, record all modules.

Run the command lsusb | grep root. If no output, try lsusb and find the root hubs. The interesting IDs are Bus x Device y. (usually, Bus 001 Device 001, Bus 002 Device 001 etc).

Run sudo lsusb -v -s x:y | grep iSerial (replace x and y with the IDs, leading zeros are not necessary). The interesting IDs in the output are zzzz:zz:zz.z. If there is only one controller with different speeds, the IDs will be identical.

Write the following macro as root replacing zzzz:zz:zz.z with the actual ID and xhci_hcd with the corresponding module: run sudo gedit (or other text editor). Copy-paste

#!/bin/bash
echo -n "zzzz:zz:zz.z" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
sleep 1 
echo -n "zzzz:zz:zz.z" | tee /sys/bus/pci/drivers/xhci_hcd/bind

Save it to /bin/usbreset. Do not close the editor until success. If the editor asks about external change of the file, always answer to reload. Please, ensure that the IDs and the modules are the same (!!!) in both lines, otherwise the computer will hang! Please, carefully check for misprints.

Set the macro as executable:

sudo chown root:root /bin/usbreset
sudo chmod 775 /bin/usbreset

(if failure, close the editor and retry). Save all work (if any). Run sudo usbreset, enter password. USB will freeze and restart after some seconds (for me approx. 10...15 seconds).

If there are multiple controllers, try the first. If no effect, replace the IDs in the macro, save and retry sudo usbreset until touchpad will start or all controllers will be tested.

If USB will freeze without restarting, somthing is wrong. If no alternative input, only the reset button or pressing the power button for 4 seconds will be helpful.

If the solution will not help, please close the editor and remove the macro sudo rm /bin/usbreset.

If success, try to add the macro as startup application (with gksu, if present, or sudo - in terminal). Or run it on demand (lost touchpad).

v_mil
  • 489