Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1153381 - Synaptics clickpad on Lenovo T440s does not work properly after kernel update on Fedora 20
Summary: Synaptics clickpad on Lenovo T440s does not work properly after kernel update...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 20
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Josh Boyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-10-15 22:47 UTC by Vladimir
Modified: 2014-11-03 05:22 UTC (History)
9 users (show)

Fixed In Version: kernel-3.17.2-300.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-28 06:42:37 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
current settings - the last section was attempt to prevent multiple driver initialization, but has no effect (deleted)
2014-10-15 22:47 UTC, Vladimir
no flags Details
Regular 1 finger click in the middle of touchpad on working kernel (deleted)
2014-10-16 09:52 UTC, Vladimir
no flags Details
click with 2 fingers - registered as right click on working kernel (deleted)
2014-10-16 09:53 UTC, Vladimir
no flags Details
click with 3 fingers - registered as middle click on working kernel (deleted)
2014-10-16 09:53 UTC, Vladimir
no flags Details
one finger click withhout finger lifting off the touchpad completely and then click again (finger lifted from touchpad only after second click) (deleted)
2014-10-16 09:56 UTC, Vladimir
no flags Details
simple click with one finger on new - not working kernel (deleted)
2014-10-16 09:57 UTC, Vladimir
no flags Details
click with 2 fingers - ignored by new - not working kernel (deleted)
2014-10-16 09:58 UTC, Vladimir
no flags Details
click with 3 fingers - ignored by new - not working kernel (deleted)
2014-10-16 09:58 UTC, Vladimir
no flags Details
one finger click withhout finger lifting off the touchpad completely and then click again (finger lifted from touchpad only after second click) (deleted)
2014-10-16 09:59 UTC, Vladimir
no flags Details

Description Vladimir 2014-10-15 22:47:27 UTC
Created attachment 947359 [details]
current settings - the last section was attempt to prevent multiple driver initialization, but has no effect

Description of problem:
When using kernel 3.16.3.200.fc20.x86_64, clickpad/touchpad works perfectly fine. After updating kernel to version 3.16.4.200.fc20.x86_64, most of the multi touch features of the clickpad stop working. The virtual buttons still do function. The one finger click on any area that is not in the buttons section behaves differently from the previous version. Using the older version, the mouse press would be registered by clicking the clickpad without the need of lifting finger completely of the surface after pushing down. Now the mouse release action is registered only after the clickpad is pressed, released and finger removed from the surface. This behavior is awkward and the previous one was much more usable. The two finger scrolling still works, but I am unable to do a right button click by two finger click and middle mouse button click by three finger click.

The attachments is 50-synaptics.conf 
I do have intentionally disabled(commented) emulated software buttons as I prefer using just multi touch features of the clickpad.




Version-Release number of selected component (if applicable):
Using Fedora 20 KDE on Lenovo T440s

$ synclient -V
1.7.6

synclient -l
Parameter settings:
    LeftEdge                = 1310
    RightEdge               = 4826
    TopEdge                 = 2220
    BottomEdge              = 4636
    FingerLow               = 21
    FingerHigh              = 26
    MaxTapTime              = 180
    MaxTapMove              = 218
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 99
    HorizScrollDelta        = 99
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0403307
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 1
    RBCornerButton          = 1
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 0
    TapButton2              = 0
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 2
    CircularScrolling       = 0
    CircScrollDelta         = 0.01
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 0.4
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 24
    VertHysteresis          = 24
    ClickPad                = 1
    RightButtonAreaLeft     = 0
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 0
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0


How reproducible:
Always - I can switch between those 2 kernels and it works on the older and doesn't work on the newer

Steps to Reproduce:
1. Update to 3.16.4.200.fc20.x86_64 kernel
2. Boot up system
3.

Actual results:
Touchpad behaves differently and some features do not work

Expected results:
Touchpad retains same functionality as it had in previous kernel version

Additional info:

Comment 1 Hans de Goede 2014-10-16 08:37:43 UTC
Can you please do:
sudo yum install evemu
sudo evemu-record

Then in evemu-record see which device you need, then press CTRL + C:

and run:

sudo evemu-record /dev/input/event# &> filename.log

Replacing # with the number for your touchpad. Then create a recording of one of the troublesome event sequences, e.g.:

sudo evemu-record /dev/input/event# &> click-in-middle-of-pad-working-kernel.log

Then click / press-down the pad in the middle followed by releasing it, and then press CTRL+C to complete the recording. Do this for the event sequences you're having issues with on both the old and the new kernel and then attach the generated files here please.

Regards,


Hans

Comment 2 Vladimir 2014-10-16 09:52:11 UTC
Created attachment 947537 [details]
Regular 1 finger click in the middle of touchpad on working kernel

Comment 3 Vladimir 2014-10-16 09:53:17 UTC
Created attachment 947538 [details]
click with 2 fingers - registered as right click on working kernel

Comment 4 Vladimir 2014-10-16 09:53:54 UTC
Created attachment 947539 [details]
click with 3 fingers - registered as middle click on working kernel

Comment 5 Vladimir 2014-10-16 09:56:04 UTC
Created attachment 947540 [details]
one finger click withhout finger lifting off the touchpad completely and then click again (finger lifted from touchpad only after second click)

Comment 6 Vladimir 2014-10-16 09:57:26 UTC
Created attachment 947542 [details]
simple click with one finger on new - not working kernel

Comment 7 Vladimir 2014-10-16 09:58:09 UTC
Created attachment 947543 [details]
click with 2 fingers - ignored by new - not working kernel

Comment 8 Vladimir 2014-10-16 09:58:58 UTC
Created attachment 947544 [details]
click with 3 fingers - ignored by new - not working kernel

Comment 9 Vladimir 2014-10-16 09:59:39 UTC
Created attachment 947545 [details]
one finger click withhout finger lifting off the touchpad completely and then click again (finger lifted from touchpad only after second click)

Comment 10 Vladimir 2014-10-16 10:20:37 UTC
(In reply to Hans de Goede from comment #1)
> Can you please do:
> sudo yum install evemu
> sudo evemu-record
> 
> Then in evemu-record see which device you need, then press CTRL + C:
> 
> and run:
> 
> sudo evemu-record /dev/input/event# &> filename.log
> 
> Replacing # with the number for your touchpad. Then create a recording of
> one of the troublesome event sequences, e.g.:
> 
> sudo evemu-record /dev/input/event# &>
> click-in-middle-of-pad-working-kernel.log
> 
> Then click / press-down the pad in the middle followed by releasing it, and
> then press CTRL+C to complete the recording. Do this for the event sequences
> you're having issues with on both the old and the new kernel and then attach
> the generated files here please.
> 
> Regards,
> 
> 
> Hans

Hello,

I have recorded all the affected touchpad actions and uploaded their logs as attachments.
To specify the "one finger click withhout finger lifting off the touchpad completely and then click again (finger lifted from touchpad only after second click)" logs:
1. press the touchpad with one finger
2. release the touchpad keeping the finger on the surface all the time
3. move my finger to another location on the touchpad
4. press the touchpad again
5. release the touchpad and remove finger

On the older working kernel, the process is registerd as a left mouse button click, then mouse movement and finaly another click.
On the newer not working kernel, the process is registered as a left mouse button press down (not click, just the press down action) then mouse movement and then the second click is completely ignored and when the finger leaves the surface, that completes the first click.

Sorry about the description of the finger move attachments having the same name - the file names are correct though.

Thank you,

Vladimir

Comment 11 Hans de Goede 2014-10-16 13:13:34 UTC
Hi,

So this is likely caused by this patch:

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/input/mouse/synaptics.c?id=5715fc764f7753d464dbe094b5ef9cffa6e479a4

Which is then only synaptics patch between 3.16.3 and 3.16.4, looking at the traces, I think that the kernel is misdetecting your device as a forcepad.

Can you do (directly after boot) :

dmesg | grep synaptics

And copy and paste the output here ?

Thanks,

Hans

Comment 12 Vladimir 2014-10-16 19:39:18 UTC
Yes, that sounds reasonably. I was also thinking that the device is probably recognized wrong after the update.

Here is the dmesg output:

$ dmesg | grep synaptics
[    1.972759] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x12e800, board id: 2962, fw id: 2560
[    1.972766] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0


Vladimir

Comment 13 Vladimir 2014-10-20 10:11:15 UTC
Hello,

just a little update, after updating to kernel 3.16.6-200.fc20.x86_64 using YUM update the issue is still present.

Comment 14 Hans de Goede 2014-10-22 14:45:16 UTC
(In reply to Vladimir from comment #12)
> Yes, that sounds reasonably. I was also thinking that the device is probably
> recognized wrong after the update.
> 
> Here is the dmesg output:
> 
> $ dmesg | grep synaptics
> [    1.972759] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id:
> 0x1e2b1, caps: 0xd001a3/0x940300/0x12e800, board id: 2962, fw id: 2560
> [    1.972766] psmouse serio1: synaptics: serio: Synaptics pass-through port
> at isa0060/serio1/input0
> 
> 
> Vladimir

Ah yes, this is caused by your touchpad being misdetected as a forcepad, and in the mean time this has already been fixed upstream by this commit:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=aa972409951e0675e07918620427517cad5090e0

Josh, can you cherry pick this into the Fedora kernels (till it finds its way into stable) ?

Comment 15 Josh Boyer 2014-10-22 16:41:47 UTC
Added.  Thanks!

Comment 16 Fedora Update System 2014-10-23 12:11:04 UTC
kernel-3.16.6-202.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/kernel-3.16.6-202.fc20

Comment 17 Fedora Update System 2014-10-23 12:14:36 UTC
kernel-3.17.1-303.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/kernel-3.17.1-303.fc21

Comment 18 Fedora Update System 2014-10-23 16:21:28 UTC
Package kernel-3.17.1-303.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-3.17.1-303.fc21'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-13536/kernel-3.17.1-303.fc21
then log in and leave karma (feedback).

Comment 19 Fedora Update System 2014-10-25 12:20:11 UTC
kernel-3.17.1-304.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/kernel-3.17.1-304.fc21

Comment 20 Fedora Update System 2014-10-28 06:42:37 UTC
kernel-3.16.6-202.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Vladimir 2014-10-28 12:36:44 UTC
After installing updated kernel-3.16.6-202.fc20, everything works great.

Thank you.

Comment 22 Fedora Update System 2014-10-31 11:30:55 UTC
kernel-3.17.2-300.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/kernel-3.17.2-300.fc21

Comment 23 Fedora Update System 2014-11-03 05:22:26 UTC
kernel-3.17.2-300.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


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