Bug 556229 - Elantech touchpad is erroneously recognized as a Logitech ImPS/2 mouse
Elantech touchpad is erroneously recognized as a Logitech ImPS/2 mouse
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
12
All Linux
low Severity medium
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-01-17 05:26 EST by Diego
Modified: 2010-09-01 04:10 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-09-01 04:10:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Output of cat /proc/bus/input/devices with no external mouse attached. (2.12 KB, application/octet-stream)
2010-01-17 05:26 EST, Diego
no flags Details
dmidecode output (11.76 KB, text/plain)
2010-01-17 05:27 EST, Diego
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Novell 558225 None None None Never

  None (edit)
Description Diego 2010-01-17 05:26:16 EST
Created attachment 384898 [details]
Output of cat /proc/bus/input/devices with no external mouse attached.

Description of problem:
Elantech synaptics touchpad works but is not recognized as such, so synclient isn't able to change options.
Running synclient from command line results in:
synclient -l                                     
Couldn't find synaptics properties. No synaptics driver loaded?

Version-Release number of selected component (if applicable):
xorg-x11-drv-synaptics-1.2.1-1.fc12.x86_64

How reproducible:
always

Steps to Reproduce:
1. Just try to run synclient, you'll run into the "No synaptics driver loaded?" message.

Additional info:
The problems is described in detail here:
https://bugzilla.novell.com/show_bug.cgi?id=558225
and here:
http://forums.opensuse.org/hardware/laptop/425305-disable-touchpad-tapping-opensuse-11-2-gnome.html

Mi laptop is not identical, but is quite similar. It's however an ASUS PRO5DIJ but dmidecode tells it'a a
Manufacturer: ASUSTeK Computer Inc.
Product Name: K50IJ

I'm going to attach dmidecode output and cat /proc/bus/input/devices.
Comment 1 Diego 2010-01-17 05:27:05 EST
Created attachment 384899 [details]
dmidecode output
Comment 2 Peter Hutterer 2010-02-01 00:47:13 EST
This is a kernel issue. The newer elantech touchpads don't seem to work correctly with the current driver and stay in the mouse emulation mode. We don't have a fix for this yet, afaik.
Comment 4 Tapani Mattila 2010-07-08 15:03:04 EDT
This looks like a duplicate of #549065
Comment 5 Chuck Ebbert 2010-07-09 08:22:02 EDT
The fixes from comment #3 are in kernel-2.6.34, which will be available for F-13 soon.
Comment 6 Jonathan 2010-08-11 08:29:12 EDT
I'm running F13 with 2.6.34.3-37.fc13.x86_64 from updates-testing.
The Elantech trackpad is still recognized as a Logitech ps/2 mouse.
Comment 7 Diego 2010-08-11 12:25:53 EDT
(In reply to comment #6)
> I'm running F13 with 2.6.34.3-37.fc13.x86_64 from updates-testing.
> The Elantech trackpad is still recognized as a Logitech ps/2 mouse.    

Same here on 2.6.34.1-29.fc13.x86_64:
synclient -l
Couldn't find synaptics properties. No synaptics driver loaded?

Is there some additional things to do other than upgrading the kernel? Are only some models supported?
Comment 8 Jonathan 2010-08-11 15:16:10 EDT
Not sure. I think the synaptics driver never loads as it thinks there is no touchpad present, but it would load if the touchpad was detected correctly. 
I also tried this that I found on some forums, connected to kernel 2.6.34:
echo "options psmouse force_elantech=1" | sudo tee -a /etc/modprobe.d/psmouse.conf
 which to my limited understanding should tell psmouse module to assume that what it found is an "Elantech" no matter what the detection comes up with but that didn't change a thing for me.

There was also mentioned to "rmmod psmouse && modprobe psmouse" but this was refused by my system as: rmmod psmouse
ERROR: Module psmouse does not exist in /proc/modules

or "modprobe -r psmouse && modprobe -v psmouse"
refused as: modprobe -r psmouse
FATAL: Module psmouse is builtin

As my knowledge is limited, I hope someone that really knows stuff chimes in. Not sure if kernel options or blacklist would help. I am considering blacklisting something at boot, the way they load proprietary graphics drivers.
Comment 9 Chuck Ebbert 2010-08-11 15:29:54 EDT
(In reply to comment #8)
> Not sure. I think the synaptics driver never loads as it thinks there is no
> touchpad present, but it would load if the touchpad was detected correctly. 
> I also tried this that I found on some forums, connected to kernel 2.6.34:
> echo "options psmouse force_elantech=1" | sudo tee -a
> /etc/modprobe.d/psmouse.conf
>  which to my limited understanding should tell psmouse module to assume that
> what it found is an "Elantech" no matter what the detection comes up with but
> that didn't change a thing for me.
> 

Since psmouse is built in, you would need to add "psmouse.force_elantech=1" to the kernel command line instead.
Comment 10 Jonathan 2010-08-11 17:13:16 EDT
And there came the knowledge I was short of :-)

Adding "psmouse.force_elantech=1" to the kernel command line did identify the touchpad as a touchpad and the proper drivers are loaded. I guess this is still a bug as the detection is not working correctly but this is a usable workaround. 

F13 with kernel 2.6.34.1-29.fc13.x86_64 from repo updates-testing on an Asus UL50VT with Elantech touchpad.
Comment 11 Diego 2010-08-12 05:51:58 EDT
(In reply to comment #9)
> Since psmouse is built in, you would need to add "psmouse.force_elantech=1" to
> the kernel command line instead.    

I created a file:
/etc/modprobe.d/psmouse.conf
with this contents:
options psmouse force_elantech=1

But it doesn't work... anything else I can try?
Comment 12 Jonathan 2010-08-12 07:02:16 EDT
Yes, as Chuck Ebbert wrote(In reply to comment #11)
> (In reply to comment #9)
> > Since psmouse is built in, you would need to add "psmouse.force_elantech=1" to
> > the kernel command line instead.    
> 
> I created a file:
> /etc/modprobe.d/psmouse.conf
> with this contents:
> options psmouse force_elantech=1
> 
> But it doesn't work... anything else I can try?    

Yes, as stated in comment #9, you would need to add "psmouse.force_elantech=1" to the kernel command line. That means editing /boot/grub/grub.conf OR editing the corresponding line in the menu before boot if you just do this once to test it.

The grub menu entries look like this:
title Fedora (2.6.34.3-37.fc13.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.34.3-37.fc13.x86_64 psmouse.force_elantech=1
	initrd /initramfs-2.6.34.3-37.fc13.x86_64.img

Where I've inserted "psmouse.force_elantech=1". However, you probably need to run a kernel 2.6.34 or above for this option to work. I would suggest that you wait a few days for kernel 2.6.34 to mature. I tried 2.6.34.3-37.fc13.x86_64 yesterday from repo updates-testing and it crashed to often to be useful.
Comment 13 Diego 2010-08-30 06:55:02 EDT
(In reply to comment #12)
> Yes, as stated in comment #9, you would need to add "psmouse.force_elantech=1"
> to the kernel command line.

You're right. I thought that the options in modprode.d conf files where valid also for components compiled in the kernel. On the contrary they work only for modules.

So this is fixed in kernel 2.6.34 if using "psmouse.force_elantech=1".
Comment 14 Diego 2010-09-01 04:10:45 EDT
Ok, tried Fedora 14 alpha (kernel 2.6.35-rc6) and it worked without using the force_elantech=1 parameter. So the complete fix is in 2.6.35 and the partial (requires additional manual kernel parameter) is in 2.6.34.

Note You need to log in before you can comment on or make changes to this bug.