TouchPad not detectable in Linux.

HansS

New Member
Credits
163
The touchpad on a Fujitsu LifeBook E5510 is not detectable. I have tried with a couple kernels (f.ex. 5.9.11) and tried various modules etc. Live ISO's from Fedora and Ubuntu did not have the touchpad working either...
Here is what I get with xinput:

Fujitsu ~ # xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Wireless Receiver Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Fujitsu FUJ02E3 id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Intel HID 5 button array id=9 [slave keyboard (3)]
↳ Intel HID events id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ FJ Camera: IR Camera id=13 [slave keyboard (3)]
↳ FJ Camera: FJ Camera id=14 [slave keyboard (3)]

Anyone with any ideas or places I can go to get help? I am thinking that probably a new driver is needed for the Linux kernel. (The touchpad works fine in the BIOS)
 


HansS

New Member
Credits
163
You can try adding "i8042.notimeout" to GRUB (beside the quiet splash bit) and then run `sudo update-grub` and reboot.
I have tried i8042.reset and now i8042.notimeout, adding those to the "linux /vmlinuz..." lines in the grub.cfg (i guess it add up to the same), but none of that has changed anything.
 

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
16,143
I have tried i8042.reset and now i8042.notimeout, adding those to the "linux /vmlinuz..." lines in the grub.cfg (i guess it add up to the same), but none of that has changed anything.
Yeah, I wasn't sure if it'd work. I know it has worked for previous iterations. You did remember to run the 'sudo update-grub' bit, correct? I've known a number of folks who overlooked that step, so I figure I'll double check.
 

Lord Boltar

Active Member
Credits
2,698
Check to see if the following packages are installed or not, if not install them - hope this helps
xserver-xorg-input-libinput
xserver-xorg-input-evdev
xserver-xorg-input-mouse
xserver-xorg-input-synaptics
 

HansS

New Member
Credits
163
Yeah, I wasn't sure if it'd work. I know it has worked for previous iterations. You did remember to run the 'sudo update-grub' bit, correct? I've known a number of folks who overlooked that step, so I figure I'll double check.
Well I just edit /boot/grub/grub.cfg (which I guess is the result of the update-grub part) and reboot.
 

HansS

New Member
Credits
163
Check to see if the following packages are installed or not, if not install them - hope this helps
xserver-xorg-input-libinput
xserver-xorg-input-evdev
xserver-xorg-input-mouse
xserver-xorg-input-synaptics
Yes, sure have those, but xinput needs to identify the touchpad for the xserver to load the correct driver like synaptics or libinput. And as mentioned, it was not detected by Ubuntu or Fedora live iso's.
It looks very much like a kernel issue to me.
 

Lord Boltar

Active Member
Credits
2,698
I have tried i8042.reset and now i8042.notimeout, adding those to the "linux /vmlinuz..." lines in the grub.cfg (i guess it add up to the same), but none of that has changed anything.
Think it should be
GRUB_CMDLINE_LINUX="i8042.notimeout i8042.nomux"
 

KGIII

Super Moderator
Staff member
Gold Supporter
Credits
16,143
Well I just edit /boot/grub/grub.cfg (which I guess is the result of the update-grub part) and reboot.
You have to put that text where it says quiet splash (you can leave the quiet splash there, or remove it if you want) and then run 'sudo update-grub' for it to work. If you can't figure it out, copy your entire grub file and paste it in between the code tags and someone here will edit it for you. Then, once you write it over the original, you need to run 'sudo update-grub' from the terminal. So as to not need things like chroot, do this from the OS itself and not a live OS - use your keyboard to make the edits and navigate the system.

For example:

sudo nano /etc/default/grub

Then edit it, save it, update it, and reboot.

Like:

Think it should be
GRUB_CMDLINE_LINUX="i8042.notimeout i8042.nomux"
This.
 

HansS

New Member
Credits
163
Okay! So, the grub stuff has helped, but now it seems i have another problem... From my Xorg log...

[ 4.220] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse1)
[ 4.220] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[ 4.220] (II) LoadModule: "synaptics"
[ 4.221] (II) Loading /usr/lib64/xorg/modules/input/synaptics_drv.so
[ 4.221] (II) Module synaptics: vendor="X.Org Foundation"
[ 4.221] compiled for 1.20.8, module version = 1.9.1
[ 4.221] Module class: X.Org XInput Driver
[ 4.221] ABI class: X.Org XInput driver, version 24.1
[ 4.221] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech Touchpad'
[ 4.221] (**) ETPS/2 Elantech Touchpad: always reports core events
[ 4.221] (**) Option "Device" "/dev/input/mouse1"
[ 4.241] (EE) synaptics: ETPS/2 Elantech Touchpad: Synaptics driver unable to detect protocol
[ 4.241] (EE) PreInit returned 11 for "ETPS/2 Elantech Touchpad"
[ 4.241] (II) UnloadModule: "synaptics"
[ 4.292] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event15)
[ 4.292] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[ 4.292] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech Touchpad'
[ 4.292] (**) ETPS/2 Elantech Touchpad: always reports core events
[ 4.292] (**) Option "Device" "/dev/input/event15"
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: x-axis range 0 - 2943 (res 31)
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: y-axis range 0 - 1747 (res 31)
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: pressure range 0 - 255
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: finger width range 0 - 15
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: buttons: left right double triple
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: Vendor 0x2 Product 0xe
[ 4.313] (**) Option "VertScrollDelta" "-111"
[ 4.313] (**) Option "HorizScrollDelta" "-111"
[ 4.313] (**) Option "VertEdgeScroll" "on"
[ 4.313] (**) Option "TapButton1" "1"
[ 4.313] (**) Option "CircularScrolling" "on"
[ 4.313] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[ 4.313] (**) ETPS/2 Elantech Touchpad: always reports core events
[ 4.329] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input10/event15"
[ 4.329] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD, id 12)
[ 4.329] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) MinSpeed is now constant deceleration 2.5
[ 4.329] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) MaxSpeed is now 1.75
[ 4.329] (**) synaptics: ETPS/2 Elantech Touchpad: (accel) AccelFactor is now 0.058
[ 4.329] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[ 4.329] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 1
[ 4.329] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[ 4.329] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[ 4.329] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found

It seems the protocol detection error above is what prohibits the mousepad from working, though I have no idea how to resolve that...

synclient does report positively with settings
 

HansS

New Member
Credits
163
With libinput instead of Synaptics i get:

[ 4.219] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse1)
[ 4.219] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad"
[ 4.219] (II) Using input driver 'libinput' for 'ETPS/2 Elantech Touchpad'
[ 4.219] (**) ETPS/2 Elantech Touchpad: always reports core events
[ 4.219] (**) Option "Device" "/dev/input/mouse1"
[ 4.219] (**) Option "_source" "server/udev"
[ 4.238] (II) mouse1 - not using input device '/dev/input/mouse1'.
[ 4.238] (EE) libinput: ETPS/2 Elantech Touchpad: Failed to create a device for /dev/input/mouse1
[ 4.238] (EE) PreInit returned 2 for "ETPS/2 Elantech Touchpad"
[ 4.238] (II) UnloadModule: "libinput"

From dmsg:
[ 3.950258] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5d0f02)
[ 3.986164] psmouse serio1: elantech: Synaptics capabilities query result 0x51, 0x16, 0x0d.
[ 4.022146] psmouse serio1: elantech: Elan sample query result 02, 85, 86
[ 4.224271] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input10
[ 4.225953] mousedev: PS/2 mouse device common for all mice
 

HansS

New Member
Credits
163
Might want to have a look here
I downloaded it and checked it out, but it seems to be an old (2014) iteration of what currently is in drivers/input/mouse in the 5.9.11 kernel.
 

hobbit1

New Member
Credits
64
Found this thread while looking for a solution for the same problem. What worked for me was forcing the system to load the i2c_hid kernel module.

Quick test: "modprobe i2c_hid" => touchpad started working immediately.
For a permanent solution add a respective config line containing "i2c_hid" in e.g. /etc/modules-load.d/e5510-touchpad.conf
 
Last edited:

HansS

New Member
Credits
163
Found this thread while looking for a solution for the same problem. What worked for me was forcing the system to load the i2c_hid kernel module.

Quick test: "modprobe i2c_hid" => touchpad started working immediately.
For a permanent solution add a respective config line containing "i2c_hid" in e.g. /etc/modules-load.d/e5510-touchpad.conf
What laptop do you have? I tried i2c_hid and it didn't work.
Can you give a listing from lsmod of what modules connected with i2c_hid are loaded and if there are other i2c modules present?
 

hobbit1

New Member
Credits
64
Model: Fujitsu LIFEBOOK E5510 (VFY:E5510MC5DMDE)
OS: Lubuntu 18.04.5 LTS

output from lsmod:

Module Size Used by
uas 28672 0
usb_storage 77824 3 uas
cmac 16384 1
joydev 28672 0
hid_multitouch 28672 0
hid_generic 16384 0
8250_dw 16384 0
snd_hda_codec_hdmi 61440 1
snd_sof_pci 20480 0
bnep 24576 2
intel_rapl_msr 20480 0
snd_sof_intel_hda_common 65536 1 snd_sof_pci
snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_intel_byt 20480 1 snd_sof_pci
mei_hdcp 24576 0
snd_sof_intel_ipc 20480 1 snd_sof_intel_byt
snd_sof 98304 4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
snd_sof_xtensa_dsp 16384 1 snd_sof_pci
intel_rapl_common 24576 1 intel_rapl_msr
snd_hda_ext_core 28672 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
x86_pkg_temp_thermal 20480 0
intel_powerclamp 20480 0
iwlmvm 385024 0
snd_hda_codec_realtek 126976 1
snd_soc_acpi_intel_match 32768 2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_acpi 16384 2 snd_sof_pci,snd_soc_acpi_intel_match
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek
coretemp 20480 0
mac80211 851968 1 iwlmvm
kvm_intel 253952 0
kvm 655360 1 kvm_intel
snd_soc_core 241664 3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
ledtrig_audio 16384 3 snd_hda_codec_generic,snd_hda_codec_realtek,snd_sof
nls_iso8859_1 16384 2
libarc4 16384 1 mac80211
rapl 20480 0
intel_cstate 20480 0
snd_compress 24576 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 49152 3
snd_intel_dspcfg 24576 3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
input_leds 16384 0
uvcvideo 94208 0
snd_hda_codec 135168 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
videobuf2_vmalloc 20480 1 uvcvideo
videobuf2_memops 20480 1 videobuf2_vmalloc
wmi_bmof 16384 0
serio_raw 20480 0
btusb 57344 0
snd_hda_core 90112 9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
iwlwifi 339968 1 iwlmvm
btrtl 24576 1 btusb
videobuf2_v4l2 24576 1 uvcvideo
snd_hwdep 20480 1 snd_hda_codec
btbcm 16384 1 btusb
intel_wmi_thunderbolt 20480 0
btintel 24576 1 btusb
snd_pcm 102400 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
videobuf2_common 53248 2 videobuf2_v4l2,uvcvideo
cdc_mbim 20480 0
bluetooth 544768 28 btrtl,btintel,btbcm,bnep,btusb
cdc_wdm 24576 2 cdc_mbim
videodev 217088 3 videobuf2_v4l2,uvcvideo,videobuf2_common
cdc_ncm 36864 1 cdc_mbim
snd_timer 36864 1 snd_pcm
snd 86016 16 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
usbnet 45056 2 cdc_mbim,cdc_ncm
soundcore 16384 1 snd
mc 53248 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
mii 16384 1 usbnet
ecdh_generic 16384 2 bluetooth
ecc 32768 1 ecdh_generic
cfg80211 712704 3 iwlmvm,iwlwifi,mac80211
mei_me 40960 1
mei 102400 3 mei_hdcp,mei_me
intel_lpss_pci 20480 0
intel_lpss 16384 1 intel_lpss_pci
idma64 20480 0
virt_dma 20480 1 idma64
mac_hid 16384 0
ucsi_acpi 16384 0
typec_ucsi 40960 1 ucsi_acpi
typec 45056 1 typec_ucsi
fujitsu_laptop 24576 0
acpi_tad 16384 0
sparse_keymap 16384 1 fujitsu_laptop
acpi_pad 184320 0
sch_fq_codel 20480 2
i2c_hid 28672 0
hid 126976 3 i2c_hid,hid_multitouch,hid_generic
parport_pc 40960 0
ppdev 24576 0
lp 20480 0
parport 53248 3 parport_pc,lp,ppdev
ip_tables 32768 0
x_tables 40960 1 ip_tables
autofs4 45056 2
algif_skcipher 16384 0
af_alg 24576 1 algif_skcipher
dm_crypt 36864 1
i915 1982464 2
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
aesni_intel 372736 3
i2c_algo_bit 16384 1 i915
crypto_simd 16384 1 aesni_intel
drm_kms_helper 184320 1 i915
nvme 45056 3
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
syscopyarea 16384 1 drm_kms_helper
glue_helper 16384 1 aesni_intel
sysfillrect 16384 1 drm_kms_helper
sdhci_pci 53248 0
psmouse 151552 0
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
e1000e 253952 0
drm 491520 4 drm_kms_helper,i915
cqhci 28672 1 sdhci_pci
ahci 40960 0
nvme_core 102400 5 nvme
sdhci 65536 1 sdhci_pci
libahci 32768 1 ahci
wmi 32768 2 intel_wmi_thunderbolt,wmi_bmof
pinctrl_cannonlake 36864 1
video 49152 2 fujitsu_laptop,i915
pinctrl_intel 28672 1 pinctrl_cannonlake
 

HansS

New Member
Credits
163
Model: Fujitsu LIFEBOOK E5510 (VFY:E5510MC5DMDE)
OS: Lubuntu 18.04.5 LTS

output from lsmod:

Module Size Used by
fujitsu_laptop 24576 0
sparse_keymap 16384 1 fujitsu_laptop
...
hid_multitouch 28672 0
hid_generic 16384 0
i2c_hid 28672 0
hid 126976 3 i2c_hid,hid_multitouch,hid_generic
...
pinctrl_cannonlake 36864 1
pinctrl_intel 28672 1 pinctrl_cannonlake
After a thorough review of the modules list presented and mine, I have some few ideas as to what can be the difference, and what can be tried...
I guess that the kernel in Lubuntu 18.04.5 LTS is kernel v. 5.4?
I see that the pinctrl_cannonlake module is in use, does it still work if those pinctrl modules are not present?
Does it work if the fujitsu_laptop module is not present?
Is there any special boot parameters besides "i8042.notimeout i8042.nomux" to the kernel in grub.conf?
Is any firmware being loaded?
If I make hid a module it has a different size from 126976 as above, which can be due to different kernel versions or that Lubuntu have some modifications to the code...
 

hobbit1

New Member
Credits
64
Just a standard Lubuntu 18.04.5 install, no changes besides the mentioned loading of ic2_hid, hwe-kernel 5.4 (same as in Ubuntu 20.04).

I don´t have the machine at hand to do further testing right now.
 

HansS

New Member
Credits
163
Just a standard Lubuntu 18.04.5 install, no changes besides the mentioned loading of ic2_hid, hwe-kernel 5.4 (same as in Ubuntu 20.04).

I don´t have the machine at hand to do further testing right now.
I tried a Lubuntu 18.04 live iso, but it seems that they don't give out the kernel source they use?
And there was no i2c_hid module to load to try it out. Maybe I can just install a package to get it?
 
Last edited:

hobbit1

New Member
Credits
64
What happens if you do a 'sudo modprobe i2c_hid' from within the live environment? Which iso did you try exactly, 18.04 or 18.04.5? Can you also check with the latest 'ubuntu-20.04.2.0-desktop-amd64.iso'?
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Members online


Top