You are not logged in.
Pages: 1
Hi there!
I am somewhat unsuccessfully trying to get my elantech touchpad to work under arch. I own a Fujitsu U745 and have a dualboot setup running with Windows 7 and Arch. Under Windows I have three modes for the touchpad that I can switch between using FN+F4: off, on, off when another mouse is detected. I have tried to set each option in Windows, then reboot and see if it makes a difference under arch: it doesn't. I have also tried to shutdown the laptop from Windows entirely in order to get rid of any residues from firmware loaded into the memory and then boot arch: also no difference. The touchpad simply does not react to any input.
I have installed xf86-input-synaptics and xinput.
I have copied /usr/share/X11/xorg.conf.d/50-synaptics.conf to /etc/X11/xorg.conf.d/ as described in the wiki.
I have using GNOME and have thus tried deactivating the mouse plugin in GNOME sessions-daemon via dconf-editor as indicated in the wiki.
As all of these steps showed no difference: the touchpad does still not respond to anything, I have also tried installing elantech-asustouchpad-dkms from the AUR, but again: no success.
I have then tried to unload and reload the kernel module psmouse:
# modprobe -r psmouse
# modprobe psmouse proto=imps
again: no success
I have also done the same without any specific protocol:
# modprobe -r psmouse
# modprobe psmouse
But again: no success.
Is there anything I could do to get my touchpad to work?
Here is some info from xinput and synclient:
xinput list
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=13 [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)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ FJ Camera id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
synclient
synclient
Parameter settings:
LeftEdge = 90
RightEdge = 2181
TopEdge = 70
BottomEdge = 1234
FingerLow = 1
FingerHigh = 1
MaxTapTime = 180
MaxTapMove = 115
MaxDoubleTapTime = 100
SingleTapTimeout = 180
ClickTime = 100
EmulateMidButtonTime = 75
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 52
HorizScrollDelta = 52
VertEdgeScroll = 0
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 0
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0763942
TouchpadOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 0
RBCornerButton = 0
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 2
TapButton3 = 3
ClickFinger1 = 1
ClickFinger2 = 1
ClickFinger3 = 1
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 10
PalmMinZ = 200
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
GrabEventDevice = 0
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 13
VertHysteresis = 13
ClickPad = 0
I'd be grateful for any hints and suggestions as to what might be the problem here or what else I could do to get that elantech touchpad working. Thanks!
Last edited by stefanotis (2016-02-23 14:10:19)
Offline
synclient
synclient Parameter settings: .... FingerLow = 1 FingerHigh = 1 ....
With those two values the same will it ever see any press?
Also see this post to see if it is sending events https://bbs.archlinux.org/viewtopic.php … 2#p1157972
Offline
stefanotis wrote:synclient
synclient Parameter settings: .... FingerLow = 1 FingerHigh = 1 ....
With those two values the same will it ever see any press?
Also see this post to see if it is sending events https://bbs.archlinux.org/viewtopic.php … 2#p1157972
I changed those synclient settings. Unfortunately it had no effect. When reviewing your suggested post I came across the Idea to check the FN-Button functionality under fedora live. It seems some users were successful in activating their touchpads with a FN-Button combination under fedora and were then able to use the touchpad under arch, too. But again, the touchpad does not work under fedora, not even when testing the FN+F4 Button combination. I am completely lost...
Last edited by stefanotis (2015-11-27 10:44:11)
Offline
I found the source of the problem!
There is a kernel commit solving it (http://kernel.opensuse.org/cgit/kernel- … 0dd1806371)
Under /sys/devices/platform/i8042/serio2/ I found a file named crc_enabled. I changed its content from "0x00" to "1" which immediatily fired up the touchpad - it is working fine now!
The only questions I have left are
(1) The commit seems to have been applied on Nov 6, when will I be able to install a kernel that includes the patch?
(2) For the meantime: How can I make these changes permanent?
Last edited by stefanotis (2015-11-27 13:33:08)
Offline
I found the source of the problem!
There is a kernel commit solving it (http://kernel.opensuse.org/cgit/kernel- … 0dd1806371)
Under /sys/devices/platform/i8042/serio2/ I found a file named crc_enabled. I changed its content from "0x00" to "1" which immediatily fired up the touchpad - it is working fine now!
The only questions I have left are
(1) The commit seems to have been applied on Nov 6, when will I be able to install a kernel that includes the patch?
https://git.kernel.org/cgit/linux/kerne … 91e671db2d
Pulled during the 4.4 merge window but it was also sent to the stable series but I can not see it in https://git.kernel.org/cgit/linux/kerne … .git/tree/ currently.
(2) For the meantime: How can I make these changes permanent?
Via Sysctl
or rebuild the kernel with the patch applied
Offline
https://git.kernel.org/cgit/linux/kerne … 91e671db2d
Pulled during the 4.4 merge window but it was also sent to the stable series but I can not see it in https://git.kernel.org/cgit/linux/kerne … .git/tree/ currently.
So I might just wait for kernel 4.4. then. Thank you!
I rebooted today. As expected
cat /sys/devices/platform/i8042/serio2/crc_enabled
returned "0x00".
I changed the value back to "1" so it returned "0x01" but nothing changed. I have no idea why the touchpad is refusing to work, now that I have set crc_enabled to 1.
Offline
Try rebuilding the 4.2.5 kernel with the patch applied?
Offline
Thank you very much for your help!
However, I couldn't really get my way around (a) rebuildung the kernel as I could not find the kernel option and (b) using sysctl, again, because I couldn't find the appropriate kernel option.
So instead, I did some research and found out I need another kernel parameter in /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet i8042.nomux=1 i8042.reset"
Additionally, I wrote a script that changes the content of the "crc_enabled" file (/etc/touchpadcrc.sh):
#!/bin/sh
echo "1" > /sys/devices/platform/i8042/serio1/crc_enabled
When run as root, it works everytime. The touchpad works just fine.
So I also wrote a systemd service file in order to have /etc/touchpadcrc.sh run on boot:
[Unit]
Description=Run /etc/touchpadcrc.sh which enables crc_enabled under /sys/devices...
#Requires=gdm.service
#After=gdm.service[Service]
Type=idle
ExecStart=/etc/touchpadcrc.sh
RemainAfterExit=yes
Note: I fiddled aroung with "Requires" and "After" in order for the service to be run after gdm has started, but it didn't work. So I changed the "Type" to idled, as this should start the service after everything else has been completed. However, for whatever reason, the service does not get started. I have no idea why.
When I login to GNOME, I can manually start the service via
# systemctl start touchpadcrc
and voilá, the touchpad works fine.
Does anyone have an idea as to why the service does not start?
Offline
Thank you very much for your help!
However, I couldn't really get my way around (a) rebuildung the kernel as I could not find the kernel option and (b) using sysctl, again, because I couldn't find the appropriate kernel option.
About (a) I do not understand which kernel option you are referring to
About (b) that was my mistake as you noticed the option can not be set via sysctl
So instead, I did some research and found out I need another kernel parameter in /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet i8042.nomux=1 i8042.reset"
Additionally, I wrote a script that changes the content of the "crc_enabled" file (/etc/touchpadcrc.sh):
#!/bin/sh
echo "1" > /sys/devices/platform/i8042/serio1/crc_enabledWhen run as root, it works everytime. The touchpad works just fine.
So I also wrote a systemd service file in order to have /etc/touchpadcrc.sh run on boot:
[Unit]
Description=Run /etc/touchpadcrc.sh which enables crc_enabled under /sys/devices...
#Requires=gdm.service
#After=gdm.service[Service]
Type=idle
ExecStart=/etc/touchpadcrc.sh
RemainAfterExit=yesNote: I fiddled aroung with "Requires" and "After" in order for the service to be run after gdm has started, but it didn't work. So I changed the "Type" to idled, as this should start the service after everything else has been completed. However, for whatever reason, the service does not get started. I have no idea why.
When I login to GNOME, I can manually start the service via
# systemctl start touchpadcrc
and voilá, the touchpad works fine.
Does anyone have an idea as to why the service does not start?
Where is that service file located?
There is no install section for that service file so how did you enable it?
Offline
Thanks again loqs!
I kind of solved the problem by simply running /etc/touchpadcrc.sh after each boot.
Since the Update to Kernel 4.4, the problem has been solved.
Thank you though!
Offline
Pages: 1