Latest kernel makes Sentelic touchpad misbehave

Bug #990260 reported by Chris D
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
linux (Ubuntu)
Incomplete
Medium
Unassigned

Bug Description

The latest kernel update in 12.04 brought with it a backported driver for Sentelic touchpads. However, this driver is causing extremely erratic behaviour. Particularly, two-finger scrolling causes web pages/etc to jump around eratically. Two-finger tap to right click is also not working.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-24-generic 3.2.0-24.37
ProcVersionSignature: Ubuntu 3.2.0-24.37-generic 3.2.14
Uname: Linux 3.2.0-24-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu6
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: chris 1834 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xdfe00000 irq 51'
   Mixer name : 'Intel CougarPoint HDMI'
   Components : 'HDA:10ec0269,10431427,00100100 HDA:80862805,80860101,00100000'
   Controls : 18
   Simple ctrls : 8
Date: Sat Apr 28 12:36:37 2012
HibernationDevice: RESUME=UUID=a3bef776-b855-4e08-9446-d3185096bdac
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120328)
MachineType: ASUSTeK Computer Inc. UX31E
ProcEnviron:
 LANGUAGE=en_AU:en
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic root=UUID=7cac513d-ae5d-4d38-aa3d-a09fb2dbada3 ro pcie_aspm=force elevator=noop quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-24-generic N/A
 linux-backports-modules-3.2.0-24-generic N/A
 linux-firmware 1.79
SourcePackage: linux
StagingDrivers: rts5139 mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/26/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: UX31E.210
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: UX31E
dmi.board.vendor: ASUSTeK Computer Inc.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK Computer Inc.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrUX31E.210:bd12/26/2011:svnASUSTeKComputerInc.:pnUX31E:pvr1.0:rvnASUSTeKComputerInc.:rnUX31E:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0:
dmi.product.name: UX31E
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK Computer Inc.

Revision history for this message
Chris D (cdekter) wrote :
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Chris D (cdekter) wrote :

I have a version of the driver that works perfectly, however the delta between my sentelic.c and the one in the linux-source-3.2.0 package is quite large, as it's not based on the in-tree version of the Sentelic driver. That said I'd be willing trying to merge the two together if it seems worthwhile.

Revision history for this message
Patrik Kullman (nomego) wrote :

I also experience this behavior, just scrolling some text in GEdit.
It's usually fine at slower speeds but once you want to get somewhere fast, everything starts jumping around.

It would also be great to be able to "throw" text away (scrolling continues for a while after fingers are released).
If possible, a way to invert the scrolling direction for two-finger scroll would be nice since it's actually more natural once you get used to it.

Revision history for this message
Eero Nevalainen (enevalainen) wrote :

What annoys me in particular in the new Sentelic behaviour is just the bad recognition of a simple tap on the pad. It seems to me that almost half of the taps are not recognized...

Revision history for this message
Chris D (cdekter) wrote :

The attached archive contains versions of sentelic.c and sentelic.h that are drop-in replacements for the versions provided in the standard kernel. This version of the driver, for me at least, works far better than the one currently in teh standard kernel. I have attempted to reduce the delta between my version and the standard one as much as possible, however the core packet processing and initialisation routines are too different to be reconciled easily. I'm not sure where Ubuntu's version of the driver came from, but it seems to have been substantially rewritten from the version I obtained from saaros/sentelic on githut a few months ago.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Do you recall the specific kernel version where you were not having this particular problem?

Also, would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.4kernel[1] (Not a kernel in the daily directory). Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag(Only that one tag, please leave the other tags). This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text.

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-rc4-precise/

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Leks13 (leks-13) wrote :

I use:
I: Bus=0011 Vendor=0002 Product=000f Version=0000
N: Name="FSPPS/2 Sentelic FingerSensingPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input9
U: Uniq=
H: Handlers=mouse0 event9
B: PROP=8
B: EV=b
B: KEY=2420 0 30000 0 0 0 0 0 0 0 0
B: ABS=2608000 3
Until kernel 3.2.0-24-generic touchpad it was defined as a mouse, configured in the settings of the mouse. Worked boundary scrolling. Multi-touch is not working.
With this Kernel 3.2.0-24 touchpad appeared in the settings, became multi-function, but the boundary was lost scrolls.
Dvuhpaltsevy scrolling works. Also in the middle of the strip under the scrolling on the touchpad appeared a place that throws the pointer in the upper left corner.

Sorry, I do not speak in English. The original message in Russian here - http://forum.ubuntu.ru/index.php?topic=189999.0

Revision history for this message
Leks13 (leks-13) wrote :

I tested my touchpad in linux-image-3.4.0-030400rc4-generic. It works bad, as in 3.2.0-24.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

This issue appears to be an upstream bug, since you tested the latest upstream kernel. Would it be possible for you to open an upstream bug report at bugzilla.kernel.org [1]? That will allow the upstream Developers to examine the issue, and may provide a quicker resolution to the bug.

If you are comfortable with opening a bug upstream, It would be great if you can report back the upstream bug number in this bug report. That will allow us to link this bug to the upstream report.

[1] https://wiki.ubuntu.com/Bugs/Upstream/kernel

Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

I use at Ubuntu 12.04:
I: Bus=0011 Vendor=0002 Product=000f Version=0000
N: Name="FSPPS/2 Sentelic FingerSensingPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input9
U: Uniq=
H: Handlers=mouse0 event9
B: PROP=8
B: EV=b
B: KEY=2420 0 30000 0 0 0 0 0 0 0 0
B: ABS=2608000 3
Until kernel 3.2.0-24-generic touchpad it was defined as a mouse, configured in the settings of the mouse. Worked boundary scrolling. Multi-touch is not working.
With this Kernel 3.2.0-24 touchpad appeared in the settings, became multi-function, but the boundary was lost scrolls.
Dvuhpaltsevy scrolling works. Also in the middle of the strip under the scrolling on the touchpad appeared a place that throws the pointer in the upper left corner.

Now I tested kernel 3.4-rc4 and it`s have bug. Touchpad works very bad.

Revision history for this message
Leks13 (leks-13) wrote :
Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :
Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

FYI - "Dvuhpaltsevy" means "double-finger".

Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #0)
> I use at Ubuntu 12.04:
[...]
> Until kernel 3.2.0-24-generic touchpad it was defined as a mouse, configured
> in
> the settings of the mouse. Worked boundary scrolling. Multi-touch is not
> working.
> With this Kernel 3.2.0-24 touchpad appeared in the settings, became
> multi-function, but the boundary was lost scrolls.

  If I understand it correctly, two finger(dvuhpaltsevy?) scrolling and edge(boundary) scrolling are mutually exclusive. That is, once you enabled two finger scrolling, edge scrolling will be disabled.

> Dvuhpaltsevy scrolling works. Also in the middle of the strip under the
> scrolling on the touchpad appeared a place that throws the pointer in the
> upper
> left corner.
>
> Now I tested kernel 3.4-rc4 and it`s have bug. Touchpad works very bad.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

But it is not working. Edge scroll does not work, and with two finger scrolling area in the middle of the touchpad, which is used for normal scrolling transition occurs in the upper left corner. It is this section of the touchpad is not working properly, which is very annoying.

I would also like to return back midle scrolling, because two-finger scrolling is awkward to me. I like the behavior that was when the touchpad is defined as a mouse.
Now I use the old kernel.

Sorry for my bad English.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

My original error message in Russian posted here [1]. I'll be glad if someone will add or correct my bug report message in English.

[1] - http://forum.ubuntu.ru/index.php?topic=189999.0

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

(In reply to comment #5)
> My original error message in Russian posted here [1]. I'll be glad if someone
> will add or correct my bug report message in English.
>
> [1] - http://forum.ubuntu.ru/index.php?topic=189999.0

I have really hard time making sense of the original report as well. What is the difference between "краевая прокрутка" and "однопальцевый скроллинг"?

Re: two finger vs. edge scrolling - I am not sure what display manager you are using, but in KDE if two finger scrolling is enabled then edge scrolling is automatically disabled. I am not sure what behavior Gnome/Unity has. It could also be that touchpad dimensions are not quite right.

Re: jumps into upper left corner: where is the scrolling area located? You are saying that it in in the middle of the touchpad, which does not make sense. The scrolling areas are usually marked along the right and/or bottom edge of the touchpad.

Re: "return back midle scrolling" - what is it exactly?

Re: "I like the behavior that was when the touchpad is defined as
a mouse" - boot with psmouse.proto=imps or add "options psmouse proto=imps" (depending on whether psmouse is built into the kernel or is a loadable module).

Thanks.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

>the difference between "краевая прокрутка" and "однопальцевый скроллинг"?
It's the same thing.

>Re: two finger vs. edge scrolling - I am not sure what display manager you are
>using, but in KDE if two finger scrolling is enabled then edge scrolling is
>automatically disabled. I am not sure what behavior Gnome/Unity has. It could
>also be that touchpad dimensions are not quite right.
The boundary value MUST turn off scrolling, but not disabled.
The entire touchpad works correctly (no edge scrolling), but that this part [1] of the pressing one or two fingers sends the cursor in the upper left corner.

>Re: "return back midle scrolling" - what is it exactly?
To work scrolling in one finger mode with midle scrolling. Now it not work.

[1] - Photo of touchpad.
http://dl.dropbox.com/u/3484004/static/SSA45983.JPG
 Red marked area of ​​hitting a finger on which is getting the cursor in the upper left corner.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

>Re: "I like the behavior that was when the touchpad is defined as
>a mouse" - boot with psmouse.proto=imps or add "options psmouse proto=imps"
>(depending on whether psmouse is built into the kernel or is a loadable
>module).
The touchpad is detected as a mouse, and began work as well as in the old core. This behavior suits me. The scroll work.
Thank you!

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

But this is a temporary solution does not eliminate malfunction of the touchpad. Please do not close the bug until it is fixed.

Revision history for this message
Leks13 (leks-13) wrote :

Temporary solution.
Edit /etc/modprobe.d/psmouse.conf and add string "options psmouse proto=imps".
After reboot touchpad will detected as mouse and work as in old kernel.
Edge scroll is work, multitouch - not work.

But this is a temporary solution does not eliminate malfunction of the touchpad. Please do not close the bug until it is fixed.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Hi Leks13,

  Need your help to provide the packet dump generated during edge scrolling. You'll need to rebuild psmouse.ko by adding following two lines at the beginning of drivers/input/mouse/sentelic.c:

#define FSP_DEBUG
#define DEBUG

  Additionally, what's the hardware revision are you using(dmesg | grep Finger)? According to the photo you provided, it doesn't seem like an ASUS UX[23]1 to me.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

> Need your help to provide the packet dump generated during edge scrolling.
>You'll need to rebuild psmouse.ko by adding following two lines at the
>beginning of drivers/input/mouse/sentelic.c:
How can I do?
Can you provide step by step instructions?

>Additionally, what's the hardware revision are you using(dmesg | grep
>Finger)? According to the photo you provided, it doesn't seem like an ASUS
>UX[23]1 to me.
It`s china notebook Quanta UW3(DNS (0136475)).
dmesg | grep Finger
[ 12.748805] psmouse serio1: sentelic: Finger Sensing Pad, hw: 14.1.1, sw: 1.0.0-K
[ 12.813665] input: FSPPS/2 Sentelic FingerSensingPad as /devices/platform/i8042/serio1/input/input6

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

:~$ cat /lib/modules/`uname -r`/kernel/drivers/input/mouse/sentelic.c
cat: /lib/modules/3.2.0-24-generic/kernel/drivers/input/mouse/sentelic.c: File not found
:~$ cd /lib/modules/`uname -r`/kernel/drivers/input/mouse/
:/lib/modules/3.2.0-24-generic/kernel/drivers/input/mouse$ ls
appletouch.ko gpio_mouse.ko logibm.ko psmouse.ko synaptics_i2c.ko
bcm5974.ko inport.ko pc110pad.ko sermouse.ko vsxxxaa.ko

 I do not know what to do. Simply create a new file sentelic.c? And then what?

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #12)
> :~$ cat /lib/modules/`uname -r`/kernel/drivers/input/mouse/sentelic.c
> cat: /lib/modules/3.2.0-24-generic/kernel/drivers/input/mouse/sentelic.c:
> File
> not found
> :~$ cd /lib/modules/`uname -r`/kernel/drivers/input/mouse/
> :/lib/modules/3.2.0-24-generic/kernel/drivers/input/mouse$ ls
> appletouch.ko gpio_mouse.ko logibm.ko psmouse.ko synaptics_i2c.ko
> bcm5974.ko inport.ko pc110pad.ko sermouse.ko vsxxxaa.ko
>
> I do not know what to do. Simply create a new file sentelic.c? And then
> what?

  You'll need to get the full kernel source code to rebuild kernel. https://help.ubuntu.com/community/Kernel/Compile should give you some hints. For example:

 $ apt-get source linux-image-3.2.0-24-generic
 $ sudo apt-get build-dep linux-image-3.2.0-24-generic
 $ cd linux-3.2.0
 $ chmod +x debian/scripts/misc/* debian/scripts/*
 $ debian/rules updateconfigs
 $ vi drivers/input/mouse/sentelic.c # add #define FSP_DEBUG and #define DEBUG
 $ env skipabi=true fakeroot debian/rules binary-generic

 If nothing goes wrong, you should see a installable package such like ../linux-image-3.2.0-24-generic_3.2.0-24.37_i386.deb in the parent directory.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Okay.
When I rebuild and restart in new kernel where I found debug messages?
What I will post to bug report?

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #14)
> Okay.
> When I rebuild and restart in new kernel where I found debug messages?
> What I will post to bug report?

  After booting with the FSP_DEBUG enabled kernel, you should see something like the following in your dmesg when finger is on the FSP:

[ 183.114646] psmouse serio1: sentelic: -0117064ms Absolute packets: 58, 73, 5f, 05; abs_x: 461, abs_y: 381
[ 183.126820] psmouse serio1: sentelic: -0117052ms Absolute packets: 58, 70, 5e, 03; abs_x: 448, abs_y: 379
[ 183.139041] psmouse serio1: sentelic: -0117036ms Absolute packets: 58, 6c, 5e, 0b; abs_x: 434, abs_y: 379
[ 183.151250] psmouse serio1: sentelic: -0117024ms Absolute packets: 58, 69, 5e, 03; abs_x: 420, abs_y: 379
[ 183.163416] psmouse serio1: sentelic: -0117012ms Absolute packets: 58, 66, 5e, 07; abs_x: 409, abs_y: 379
[ 183.175596] psmouse serio1: sentelic: -0117000ms Absolute packets: 58, 64, 5e, 01; abs_x: 400, abs_y: 377
[ 183.199941] psmouse serio1: sentelic: -0116976ms Absolute packets: 58, 00, 00, 00; abs_x: 0, abs_y: 0
[ 183.212173] psmouse serio1: sentelic: -0116964ms Absolute packets: 58, 00, 00, 00; abs_x: 0, abs_y: 0
[ 183.224369] psmouse serio1: sentelic: -0116952ms Absolute packets: 58, 00, 00, 00; abs_x: 0, abs_y: 0

  I'll need the message generated whilst you're performing edge scrolling(particularly the one with "cursor jumping back to top-left corner when moving through the red-mark area").

  Thanks!

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Hmm...
I`m build kernel, install it, reboot to it, but I don`t have a message in dmesg!
Before build a have two files: linux-image-3.2.0-24-generic_3.2.0-24.37_i386.deb, linux-headers-3.2.0-24-generic_3.2.0-24.37_i386.deb. I install this and reboot. I don`t undestand why I don`t have report about touchpad.

My redacted drivers/input/mouse/sentelic.c pasted to http://paste.ubuntu.com/973790/

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

dmesg | grep psmouse
[ 16.503933] psmouse serio1: hgpk: ID: 10 00 64
[ 16.716690] psmouse serio1: sentelic: Finger Sensing Pad, hw: 14.1.1, sw: 1.0.0-K

I have only this, after reboot to my new build kernel.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #16)
> Hmm...
> I`m build kernel, install it, reboot to it, but I don`t have a message in
> dmesg!
[...]
> My redacted drivers/input/mouse/sentelic.c pasted to
> http://paste.ubuntu.com/973790/

  You'll have to put DEBUG & FSP_DEBUG before various #include lines, something like:

#define DEBUG
#define FSP_DEBUG
/*-
 * Finger Sensing Pad PS/2 mouse driver.
 *
 ...

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

My edge scrolling http://paste.ubuntu.com/974487/
In this moment cursor has been moved to left top corner of the screen http://paste.ubuntu.com/974499/

I hope the logs will help.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #19)
> My edge scrolling http://paste.ubuntu.com/974487/

  I presume that you're moving your finger from top-right to bottom-right corner, right? What looks strange to me is that the y coordinate(62) is still far from the red zone, which should be about half of the height(300+) if I read your image correctly.

> In this moment cursor has been moved to left top corner of the screen
> http://paste.ubuntu.com/974499/

  In this dump, was starting from the red zone(line 6 ~ 38) and then moving toward the bottom-right corner?

  Is line 58 ~ 59 the time your finger crossing/entering the red zone?

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

How I tested - I wrote last message in dmesg, moved in top right to bottom right, and posted all before this wrote message.
http://paste.ubuntu.com/975147/

Red zone just below the middle. Figure I depicts a little bit wrong.

>In this dump, was starting from the red zone(line 6 ~ 38) and then moving
toward the bottom-right corner?
>Is line 58 ~ 59 the time your finger crossing/entering the red zone?
I don`t know. I started scrolling around the red zone and ended up after moving the pointer to the red zone in the upper left corner.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73240
testing zone for jumpy cursor

Need Leks13 to test if cursor jumping still occurs when finger is moving on the yellow/blue zone. If cursor still jumps back to top-left corner, please also provide the packet dump.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Yellow zone testing video[1], log[2].

[1] - http://dl.dropbox.com/u/3484004/temp/yellow.AVI
[2] - http://paste.ubuntu.com/979575/

If you move your finger across the touchpad from the top down, then hit the finger at the end of the touchpad the cursor moves sharply up the screen (just up, but not in the top left).

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Blue zone.
The touchpad works strange: sometimes ok, sometimes not. In two pass log sealed touch pad from top to bottom. The first pass - everything is normal, the second - the cursor jumped to the top left corner.
I do not know what the reason, and play it does not always work. Maybe that plays the role of the force pressing or something, but when working for the touchpad are spontaneous movements occur several times per hour and is very annoying.
http://paste.ubuntu.com/979595/

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73249
bash script for retrieving FSP production information

Please post the result returned by this script(sudo bash fsp_sn.sh). Thanks!

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

 sudo sh fsp_sn.sh
[sudo] password for leks13:
fsp_sn.sh: 9: fsp_sn.sh: cannot create /sys/bus/serio/drivers/psmouse/serio*/page: Directory nonexistent
fsp_sn.sh: 10: fsp_sn.sh: cannot create /sys/bus/serio/drivers/psmouse/serio*/getreg: Directory nonexistent
fsp_sn.sh: 12: fsp_sn.sh: cannot create /sys/bus/serio/drivers/psmouse/serio*/getreg: Directory nonexistent
fsp_sn.sh: 14: fsp_sn.sh: cannot create /sys/bus/serio/drivers/psmouse/serio*/getreg: Directory nonexistent
fsp_sn.sh: 17: fsp_sn.sh: cannot create /sys/bus/serio/drivers/psmouse/serio*/page: Directory nonexistent
sn: 0000, 0000, 0000

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Sorry. This is true result:
sudo bash fsp_sn.sh
sn: 4004, 4187, 4210

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73475
patch to filter bad movement

Hi Leks13,

  Please try to see if this patch works for you or not. You'll need to rebuild/re-install the patched kernel source.

  Steps to apply patch(taking comment#13 building steps as an example):

  $ cd linux-3.2.0/drivers/input/mouse
  $ patch < filter_bad_movement.patch

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

No. It`s don`t worked correctly.
Edge srolling - not work.
Jump zone - has come out less often, but sometimes it throws the cursor still.
Two-finger scrolling - not work.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Yes, let them work, defined as a mouse. I was quite happy. Also, it bothers small number of users. Much more often make synaptic touchpad.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #29)
> No. It`s don`t worked correctly.
> Edge srolling - not work.
> Jump zone - has come out less often, but sometimes it throws the cursor
> still.
> Two-finger scrolling - not work.

  Oops, I got it wrong. Please move the "abs_x = GET_ABS_X(packet);" and "abs_y = GET_ABS_Y(packet);" lines after the filter if statement. Something like:

case FSP_PKT_TYPE_ABS:
  if ((packet[0] == 0x48 || packet[0] == 0x49) &&
      packet[1] == 0 && packet[2] == 0) {
          /*
           * filtering out erratic movement which will cause
           * unexpected cursor jumping to top-left corner
           */
          packet[3] &= 0xf0;
  }
  abs_x = GET_ABS_X(packet);
  abs_y = GET_ABS_Y(packet);

  if (packet[0] & FSP_PB0_MFMC) {
    ...

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

I fixed it this[1]. Is that true?
 Just do not want to once again build the core. It's too long on the Atom.

[1] - http://paste.ubuntu.com/1016641/

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

I build kernel, apped #32 patch.
But it work bad.
Two-finger scrolling - work.
Edge scrolling - not work.
Jump zone - has come out less often, but sometimes it throws the cursor still.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

I got an email about the bug, but I can not answer it. The letter is not delivered.
I have this error:
"This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
  <email address hidden>
    SMTP error from remote mail server after RCPT TO:<email address hidden>:
    host yggdrasil.sentelic.com [203.69.18.18]: 554 5.7.1 Service unavailable; Client host [91.219.194.22] blocked using ru.countries.nerd.dk; Your IP is in ru, rejected based on geographical location"

I will reply to the letter publicly in the ticket.

I use Ubuntu 12.04 and $ uname -a
Linux flamme 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:51:22 UTC 2012 i686 i686 i386 GNU/Linux
This is standart kernel in Ubuntu repository.

This is filter_bad_movement.patch - http://paste.ubuntu.com/1017599/
This is sentelic.c no patch - http://paste.ubuntu.com/1017604/
Patch process this - http://paste.ubuntu.com/1017607/
This is sentelic.c after patch - http://paste.ubuntu.com/1017610/

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Great. Tested the new driver - everything works great.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

How does the touchpad work with two finger scroll with patches and a newer kernel? I am currently running Ubuntu 12.04 with kernel 3.2.0-24-generic on an Asus UX21E, and it's basically unusable.

Also "Disable touchpad while typing" does not work either.

Or should I open a separate bug about these issues since the one reported here seems to be solved.

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

(In reply to comment #36)
> How does the touchpad work with two finger scroll with patches and a newer
> kernel? I am currently running Ubuntu 12.04 with kernel 3.2.0-24-generic on
> an
> Asus UX21E, and it's basically unusable.

Please try the patch - we need more testers to make sure it works well before getting the patch applied (

>
> Also "Disable touchpad while typing" does not work either.
>

Disabling touchpad while typing is not done within the kernel so I'd recommend opening the bug with your distro and having them route it properly.

Thanks.

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

Created attachment 73506
Patch to filter out data causing errating movements

The latest version of the patch

Revision history for this message
Leks13 (leks-13) wrote :

Appeared patch to fix my touchpad. Please test it the other owners of similar devices.
https://bugzilla.kernel.org/show_bug.cgi?id=43197#c38

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

I followed this procedure to build the kernel with the latest patch:
 $ apt-get source linux-image-3.2.0-24-generic
 $ sudo apt-get build-dep linux-image-3.2.0-24-generic
 $ cd linux-3.2.0
 $ chmod +x debian/scripts/misc/* debian/scripts/*
 $ debian/rules updateconfigs
 $ vi drivers/input/mouse/sentelic.c # add #define FSP_DEBUG and #define DEBUG
 $ cd linux-3.2.0/drivers/input/mouse
 $ patch < filter_bad_movement.patch
 $ cd -
 $ env skipabi=true fakeroot debian/rules binary-generic
 $ cd ..
 $ sudo dpkg -i linux-headers-3.2.0-24-generic_3.2.0-24.39_amd64.deb linux-image-3.2.0-24-generic_3.2.0-24.39_amd64.deb

This did not improve two finger scroll at all.

Palm detection doesn't work either, which makes typing a hassle. Is this something that is kernel or distro specific?

Also, is there a way to set driver patches without recompiling the entire kernel? Maybe load it like a module or something similar? Compiling the kernel takes a while, which makes testing potential fixes more difficult.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

filter_bad_movement.patch - it`s old wrong patch

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

I used the latest patch ( https://bugzilla.kernel.org/attachment.cgi?id=73506 ), just forgot to change the name to "sentelic.patch" in the comment.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #39)
> $ vi drivers/input/mouse/sentelic.c # add #define FSP_DEBUG and #define
> DEBUG

  Since you already have FSP_DEBUG and DEBUG defined at the beginning of sentelic.c, please do two fingers scrolling first and then use dmesg to get packet dump for analysis. Thanks.

Revision history for this message
In , admin (admin-linux-kernel-bugs) wrote :

Patch work fine in Ubuntu 12.04 on my touchpad(3.2.0-24-generic).

After loading for a comfortable working with edge scrolling needed to run "synclient RightEdge = 900" (the value may change depending on the laptop).

Thank you all for corrected bug.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73511
A dmesg debug report featuring two finger scroll jumping to (x,y)=(0,0)

Note at the end of the log how I am scrolling down a page and (x, y) suddenly resets to abs pos (0, 0).

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73512
(x, y) getting stuck alternating between two sets of coordinates

Notice close to the end how the absolute coordinates shift between two sets of coordinates very quickly:
[ 562.271845] psmouse serio4: sentelic: 00263060ms Absolute packets: 7c, 80, 56, 0f; abs_x: 515, abs_y: 347
[ 562.279471] psmouse serio4: sentelic: 00263068ms Absolute packets: 78, a4, 81, 03; abs_x: 656, abs_y: 519
[ 562.284430] psmouse serio4: sentelic: 00263072ms Absolute packets: 7c, 80, 56, 0a; abs_x: 514, abs_y: 346
[ 562.291770] psmouse serio4: sentelic: 00263080ms Absolute packets: 78, a4, 82, 01; abs_x: 656, abs_y: 521
[ 562.296709] psmouse serio4: sentelic: 00263084ms Absolute packets: 7c, 80, 56, 0d; abs_x: 515, abs_y: 345
[ 562.304887] psmouse serio4: sentelic: 00263092ms Absolute packets: 78, a3, 82, 0a; abs_x: 654, abs_y: 522
[ 562.310118] psmouse serio4: sentelic: 00263096ms Absolute packets: 7c, 80, 56, 09; abs_x: 514, abs_y: 345
[ 562.317782] psmouse serio4: sentelic: 00263104ms Absolute packets: 78, a3, 82, 07; abs_x: 653, abs_y: 523
[ 562.323105] psmouse serio4: sentelic: 00263112ms Absolute packets: 7c, 80, 55, 0f; abs_x: 515, abs_y: 343

This resulted in the web page I was trying to scroll down scrolling up and down very quickly on the spot.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73519
v2 patch to filter out bad movement

Hi Eddie,

  Please revert sentelic.patch and try this one instead. Thanks.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73527
dmesg with latest filter patch (https://bugzilla.kernel.org/attachment.cgi?id=73519) applied

Behavior is a -lot- better; I don't get the crazy up-down-up-down-up-down lockup any longer. However, if I'm scrolling down a long page, it sometimes scrolls to the top of the page all of a sudden, which is very annoying.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #47)
> Behavior is a -lot- better; I don't get the crazy up-down-up-down-up-down
> lockup any longer. However, if I'm scrolling down a long page, it sometimes
> scrolls to the top of the page all of a sudden, which is very annoying.

  Looks to me the jumping was caused by 1446.818497 and 1446.843775. I probably misunderstood how input_mt_report_slot_state() works. Dmitry, should we simply stop calling fsp_set_slot() upon receiving bad movement(0,0) in multi-finger(MFMC) case?

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

I think if a device truly sends garbage data sometimes then we need to completely ignore such packets and not adjust slot state, since contact will "recover" in the next packet(s).

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #47)
[...]
> However, if I'm scrolling down a long page, it sometimes
> scrolls to the top of the page all of a sudden, which is very annoying.

  Interesting... It appears to me that the final 7c, 00, 00, 00 doesn't cause these jumps. Not sure if this is the same with Eddie's observation; however, I can reproduce similar jumping by putting two fingers at two places(in opposite direction. For example, one at the top left and the other at the bottom right corner), hold two fingers for a few seconds, then move both of them away -- now the browser scroll bar starts to roll.

  If that's the case, we probably have to fix the code by _not_ invoking fsp_set_slot() unless two fingers' coordinates are ready. That is, accumulate both fingers' packets and report at once with something like the xxx_report_semi_mt_data() found in other touchpad drivers.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73542
Scroll jumps up and down continously until I remove hand from trackpad

My last comment about the latest patch fixing jumping up and down was wrong. See end of attached dmesg.

This happens while I'm scrolling down and one finger "moves ahead" of the other. In my case I was scrolling down with my right hand, and my middle finger moved from being horizontal with my ring finger to being about 2 centimeters farther down.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73546
v3 patch to filter out bad movement

Hi Eddie,
  Please see if this patch works for you. Thanks.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73554
debug output filter patch 3

Latest patch gives a much better result overall.

However, the crazy fast scroll still occurs sometimes. I have attached a debug report.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #53)
> However, the crazy fast scroll still occurs sometimes.

  How does the crazy fast scroll look like? Does it scroll back all the way to the top most page or just scroll back a short distance?

> I have attached a debug report.

  I can see the Y coordinate of the first finger jumps back from 750 to 597 at 1567.914751. I'm wondering if this could be filtered in the userland as the kernel driver may need more resource to keep the track of movement history before applying certain heuristics to ignore such jumpy packet.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

(In reply to comment #54)
> How does the crazy fast scroll look like? Does it scroll back all the way
> to
> the top most page or just scroll back a short distance?
Both can happen, actually. But the most annoying (and more common) is if you're scrolling down a page and it suddenly goes really fast either to the top or to the bottom of the page (it can also happen).

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Created attachment 73562
dmesg output seems normal, as far as I can tell

I just noticed a slightly disconcerting bug -- after resuming from suspend, I can no longer use two finger scroll. Edge scrolling works normally if I switch to it.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #56)
> I just noticed a slightly disconcerting bug -- after resuming from suspend, I
> can no longer use two finger scroll. Edge scrolling works normally if I
> switch
> to it.

  There's a typo in the v3 patch. Please try to change the 'fgrs = 1' to 'fgrs = 2' after the 'MFMC 1st finger' line and see if it helps:

   } else if (IS_MFMC_FGR1(packet[0])) {
           /* MFMC 1st finger */
           fgrs = 2;

           /*
            * accumulate the coordaintes and proceed to
            * the next run
            */
...

  The above bug should be observable before entering to suspend mode, though.

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

I have notebook DNS X300 (china export)
In windows installed drivers sentelic and work fine.

In linux (Ubuntu 12.04) touchpad not detect. Tap working, scroll not working, configure utils show only mouse.

$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=11 [slave pointer (2)]

$ dmesg |grep PS/2
[ 1.140559] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
[ 1.146588] mousedev: PS/2 mouse device common for all mice
[ 2.551662] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio2/input/input5

$ fspc -h
FSP not detected.

Any patches not helped me

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

I have ubuntu 12.04 amd64 version

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #58)
[...]
> $ dmesg |grep PS/2
> [ 1.140559] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at
> 0x60,0x64 irq 1,12
> [ 1.146588] mousedev: PS/2 mouse device common for all mice
> [ 2.551662] input: ImPS/2 Generic Wheel Mouse as
> /devices/platform/i8042/serio2/input/input5

  Booting with FSP_DEBUG and DEBUG enabled driver could help. Otherwise, you may want to boot with i8042.debug=1 to get the full I/O log.

Revision history for this message
In , limoto94 (limoto94-linux-kernel-bugs) wrote :

I have a MSI CR640 laptop with Sentelic touchpad. It worked well without any scrolling support before 3.4. After upgrading to 3.4, the cursor became jumpy and any scrolling still wasn't working. After applying v3 patch (and modifying one line as said in later comment) from this thread, the cursor doesn't jump, two-finger vertical scrolling partially works (it usually scrolls but when i put finger up, it returns to original position) and edge scrolling doesn't work. I tried changing hscroll attribute in /sys/devices/platform/i8042/serio2, but it didn't do anything.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #61)
[...]
> two-finger vertical scrolling partially works (it usually scrolls but when i
> put finger up, it returns to original position)

  Would you please be more specific about what the 'original position' refers
to? For example, if you do a two-finger vertical scrolling from top-most edge
to bottom-most edge, does the cursor returns all-the-way to top-most edge after
fingers moving away? Or does it scrolls back, say, perhaps 1/10 of current
screen height?

> and edge scrolling doesn't work.

  Which window manager are you using? In Gnome/Unity configuration menu,
two fingers scrolling and edge scrolling are mutual exclusive -- you can only
have one of them activated at any given moment.

  Another possibility of non-working edge scrolling is that pad dimensions
don't match to your physical hardware. To confirm this, you'll need to load
the FSP_DEBUG and DEBUG enabled driver(see comment#39 and comment#18) and
the packet dump will reveal what the max X/Y are when you're putting one finger
on the bottom-right corner.

> I tried changing hscroll attribute in /sys/devices/platform/i8042/serio2,
> but it didn't do anything.

  hscroll only works in relative coordinates mode, which doesn't apply to the
configuration you're running with.

Revision history for this message
In , limoto94 (limoto94-linux-kernel-bugs) wrote :

(In reply to comment #62)
> (In reply to comment #61)
> Would you please be more specific about what the 'original position' refers
> to? For example, if you do a two-finger vertical scrolling from top-most edge
> to bottom-most edge, does the cursor returns all-the-way to top-most edge
> after
> fingers moving away? Or does it scrolls back, say, perhaps 1/10 of current
> screen height?

I'm sorry, I just used it wrong. I put one finger down and moved another, but I need to move both :)
>
> Which window manager are you using? In Gnome/Unity configuration menu,
> two fingers scrolling and edge scrolling are mutual exclusive -- you can only
> have one of them activated at any given moment.
>
I'm using KWin. Are there any problems or should I try the FSP_DEBUG?

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #63)
> I'm using KWin. Are there any problems or should I try the FSP_DEBUG?

  Hmm, KDE accepts both scrolling settings being enabled at the same time.
I don't know if turning two finger scrolling would make any difference.
You can get/set current scrolling state by running synclient or xinput, though:

   $ synclient | grep Scroll # get current scrolling options
   $ synclient VertEdgeScroll=1 # enable vertical edge scrolling
   $ synclient VertTwoFingerScroll=1 # enable vertical two finger scrolling

  If you don't have the time to rebuild the kernel with FSP_DEBUG, tweaking
the RightEdge parameter probably helps but you'll have to guess the value
since you don't have the accurate geometric information(which probably isn't
correct enough in current driver):

   $ synclient | grep RightEdge # get the right edge boundary
   $ synclient RightEdge=?? # reduce the value and see if right edge scrolling can be detected

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 73991
v4 patch to filter out bad movement

Correcting typo for the number of fingers in MFMC 1st finger case. v3 patch will generate staggered report(one vs. two fingers) which will confuse the user land.

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 74431
v5 patch to filter out bad movement

This updated patch revert to the original last_mt_fgrs workaround to allow
finger movement after two to one finger transition taking place.
Hopefully this addresses bug#43591 as well.

Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

I can confirm that the latest patch fixed the issue with two-finger-scroll not working after resuming from suspend. Good job!

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

Created attachment 75601
indeferend i/o log

$ dmesg|grep sentel
[ 2.474127] psmouse serio2: sentelic: READ REG: 0x00 is 0x00 (rc = -1)

$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImExPS/2 Generic Explorer Mouse id=11 [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)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]

Not working scroll and any touchpad configure utils.

Help me please :)
Thanks!

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #68)
> Created an attachment (id=75601) [details]
> indeferend i/o log
[...]
> [ 2.430719] i8042: [337] 91 -> i8042 (command)
> [ 2.430933] i8042: [337] 66 -> i8042 (parameter)
> [ 2.434670] i8042: [338] fe <- i8042 (interrupt, 3, 12)
> [ 2.435926] i8042: [339] 91 -> i8042 (command)
> [ 2.436088] i8042: [339] 88 -> i8042 (parameter)

  Missing the 'fc' response.

> [ 2.466948] i8042: [347] 91 -> i8042 (command)
> [ 2.467524] i8042: [347] f3 -> i8042 (parameter)
> [ 2.470534] i8042: [347] fc <- i8042 (interrupt, 3, 12)

  Should be 'fa' instead.

[ 2.470551] i8042: [347] 91 -> i8042 (command)
[ 2.470766] i8042: [347] f4 -> i8042 (parameter)
[ 2.474091] i8042: [348] fa <- i8042 (interrupt, 3, 12)
[ 2.474127] psmouse serio2: sentelic: READ REG: 0x00 is 0x00 (rc = -1)

  It looks to me that EC response is one byte slower. Will there be any
difference if you increase FSP_CMD_TIMEOUT2 from 30 to something larger
(ex: 2500)?

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

(In reply to comment #69)
> (In reply to comment #68)
> > Created an attachment (id=75601) [details] [details]
> > indeferend i/o log
> [...]
> > [ 2.430719] i8042: [337] 91 -> i8042 (command)
> > [ 2.430933] i8042: [337] 66 -> i8042 (parameter)
> > [ 2.434670] i8042: [338] fe <- i8042 (interrupt, 3, 12)
> > [ 2.435926] i8042: [339] 91 -> i8042 (command)
> > [ 2.436088] i8042: [339] 88 -> i8042 (parameter)
>
> Missing the 'fc' response.
>
> > [ 2.466948] i8042: [347] 91 -> i8042 (command)
> > [ 2.467524] i8042: [347] f3 -> i8042 (parameter)
> > [ 2.470534] i8042: [347] fc <- i8042 (interrupt, 3, 12)
>
> Should be 'fa' instead.
>
> [ 2.470551] i8042: [347] 91 -> i8042 (command)
> [ 2.470766] i8042: [347] f4 -> i8042 (parameter)
> [ 2.474091] i8042: [348] fa <- i8042 (interrupt, 3, 12)
> [ 2.474127] psmouse serio2: sentelic: READ REG: 0x00 is 0x00 (rc = -1)
>
> It looks to me that EC response is one byte slower. Will there be any
> difference if you increase FSP_CMD_TIMEOUT2 from 30 to something larger
> (ex: 2500)?

did not help

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #70)
> (In reply to comment #69)
> > It looks to me that EC response is one byte slower. Will there be any
> > difference if you increase FSP_CMD_TIMEOUT2 from 30 to something larger
> > (ex: 2500)?
>
> did not help

  Please post i8042.debug dump, thanks.

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

Created attachment 75651
dmesg log after timeout 2500

My dmesg after FSP_CMD_TIMEOUT2=2500 in drivers/input/mouse/sentelic.c and recompile

Revision history for this message
In , patrik.kullman (patrik.kullman-linux-kernel-bugs) wrote :

How far off is this to hit mainline kernel?

Even if the patch isn't perfect, shouldn't current improvements be eligible for 3.6?

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

Created attachment 75741
patch for upstream submission

Patch based on v5 with additional S-O-B and Tested-by tags for Dmitry's review.

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

This patch has not helped me, too. Have to throw the laptop in the trash :(

Revision history for this message
In , kernel-bugzilla.3.atliang (kernel-bugzilla.3.atliang-linux-kernel-bugs) wrote :

(In reply to comment #75)
> This patch has not helped me, too. Have to throw the laptop in the trash :(

[ 2.327464] i8042: [308] 91 -> i8042 (command)
[ 2.327733] i8042: [309] 66 -> i8042 (parameter)
[ 2.330645] i8042: [309] fe <- i8042 (interrupt, 3, 12)
[ 2.330652] i8042: [309] 91 -> i8042 (command)
[ 2.330876] i8042: [309] 88 -> i8042 (parameter)
[...]
[ 4.825925] i8042: [934] 91 -> i8042 (command)
[ 4.826090] i8042: [934] f3 -> i8042 (parameter)
[ 4.829576] i8042: [934] fc <- i8042 (interrupt, 3, 12)

  According to the above log, driver failed to detect the hardware because command
88 timed out.

  I'm afraid that this patch won't help you as the problem you're running into
seems to be EC related. There are a few MUX error in your log:

[ 1.227636] i8042: [33] 90 -> i8042 (command)
[ 1.228579] i8042: [33] f2 -> i8042 (parameter)
[ 1.233864] i8042: [35] MUX error, status is 25, data is fc
[ 1.233875] i8042: [35] fe <- i8042 (interrupt, 2, 12, timeout)
[ 1.233931] i8042: [35] 90 -> i8042 (command)
[ 1.235031] i8042: [35] ed -> i8042 (parameter)
[ 1.240302] i8042: [36] MUX error, status is 25, data is fc
[ 1.240313] i8042: [36] fe <- i8042 (interrupt, 2, 12, timeout)

  Not sure if there are any other i8042 knobs to workaround this problem. Perhaps
Dmitry can shed some light for us?

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

(In reply to comment #76)
>
> I'm afraid that this patch won't help you as the problem you're running
> into
> seems to be EC related. There are a few MUX error in your log:
>
> [ 1.227636] i8042: [33] 90 -> i8042 (command)
> [ 1.228579] i8042: [33] f2 -> i8042 (parameter)
> [ 1.233864] i8042: [35] MUX error, status is 25, data is fc
> [ 1.233875] i8042: [35] fe <- i8042 (interrupt, 2, 12, timeout)
> [ 1.233931] i8042: [35] 90 -> i8042 (command)
> [ 1.235031] i8042: [35] ed -> i8042 (parameter)
> [ 1.240302] i8042: [36] MUX error, status is 25, data is fc
> [ 1.240313] i8042: [36] fe <- i8042 (interrupt, 2, 12, timeout)
>
> Not sure if there are any other i8042 knobs to workaround this problem.
> Perhaps
> Dmitry can shed some light for us?

There are lots of boxes that have iffy MUX implementation, try booting with i8042.nomux to disable the active multiplexing and stay in legacy mode.

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :

Thank you!!! After add parameter i8024.nomux, my touchpad works.

 $ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ FSPPS/2 Sentelic FingerSensingPad id=11 [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)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

Pavel, could you please open a separate bug and post output of dmidecode for your box?

Revision history for this message
In , pavelbbb (pavelbbb-linux-kernel-bugs) wrote :
Revision history for this message
In , elischa03 (elischa03-linux-kernel-bugs) wrote :

Hi, is this still actual? when this will get upstream?

i've got a Medion Akoya P6631 Laptop with Sentelic Touchpad:

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ FSPPS/2 Sentelic FingerSensingPad id=13 [slave pointer (2)]

i also had this erratic movements and jumps to the upper left corner also scrolling didn't work neither edge nor two-finger...

i rebuilt this kernel:

$ uname -r
3.2.0-29-generic-pae

by:

 $ apt-get source linux-image-3.2.0-29-generic-pae
 $ sudo apt-get build-dep linux-image-3.2.0-29-generic-pae
 $ cd linux-3.2.0
 $ chmod +x debian/scripts/misc/* debian/scripts/*
 $ debian/rules updateconfigs
 $ cd drivers/input/mouse

then i first applied this patch: http://markmail.org/thread/l5jmpiioajfcffyo as for fsp_drv_ver[] = "1.0.0-K" i had...
and afterwards the last patch from this thread

 $ patch < *.patch
 $ cd -
 $ env skipabi=true fakeroot debian/rules binary-generic-pae
 $ cd ..
 $ sudo dpkg -i linux-headers-3.2.0-29-generic-pae_3.2.0-29.46_i386.deb
linux-image-3.2.0-29-generic-pae_3.2.0-29.46_i386.deb
 $ sudo reboot

after this my touchpad doesn't has this erratic movements anymore and all options from touchpad settings work except 'disable when typing' and 'sensitivity' i couldn't figure out rightly...

but edge scrolling was a bit difficult to hit / unresponsive... so i additionally made this changes:

$ synclient | grep Edge
    LeftEdge = 38
    RightEdge = 929
    TopEdge = 38
    BottomEdge = 673
    VertEdgeScroll = 1
    HorizEdgeScroll = 1
    EdgeMotionMinZ = 30
    EdgeMotionMaxZ = 160
    EdgeMotionMinSpeed = 1
    EdgeMotionMaxSpeed = 96
    EdgeMotionUseAlways = 0
    AreaLeftEdge = 0
    AreaRightEdge = 0
    AreaTopEdge = 0
    AreaBottomEdge = 0
$ synclient RightEdge=900
$ synclient BottomEdge=650

with this mods my touchpad nearly works perfectly :) thanks a lot!

so some minor bugs i have: sometimes it generates a rigth-click or double-click(for marking an area) at scroll beginning and one time it scrolled very very fast but that's all not that problem

so i hope i did everything right especially for kernel (like modules or so or as i'm in need of the additional bumblebee driver for nvidia optimus support) but i think everything should be the same as before just with touchpad support? am i right???

as last question: how do i make this edge modification remaining after reboot?

thanks in advance

all the best

elibl

Revision history for this message
In , florian (florian-linux-kernel-bugs) wrote :

A patch referencing this bug report has been merged in Linux v3.6-rc7:

commit 30ebb7fa0e3e92145b859ad6e44aa6dc636b4103
Author: Tai-hwa Liang <email address hidden>
Date: Wed Sep 19 11:10:47 2012 -0700

    Input: sentelic - filter out erratic movement when lifting finger

Revision history for this message
In , patrik.kullman (patrik.kullman-linux-kernel-bugs) wrote :

Using 3.6 final from kernel.ubuntu.com/~kernel-ppa/mainline/ I still have erratic movement with my Sentelic touchpad.

It either scrolls to top, scrolls the reverse direction when lifting the fingers, continues scrolling same/reverse direction after lifting the fingers, or flickers intently when trying to hold the fingers still in the middle of a scroll.

Is there any kernel change that hasn't been merged yet, any patch that is outside the scope of the kernel, any configuration that needs to be done with synclient or is Ubuntu building their kernels in a way that ignores these fixes?

Changed in linux:
status: Confirmed → Fix Released
Revision history for this message
In , eddie.dunn (eddie.dunn-linux-kernel-bugs) wrote :

Patrik,

Have you tried running with a kernel you patched yourself? If it works, then the issue is probably because Ubuntu somehow ignored the fixes.

Revision history for this message
In , fenio (fenio-linux-kernel-bugs) wrote :

Is this fix supposed to work also with Sentelic touchpad in UX31?
I tried 3.6.5 kernel and it still doesn't work. Even with i8024.nomux kernel parameter.

It works however with driver from https://github.com/saaros.

Revision history for this message
In , elischa03 (elischa03-linux-kernel-bugs) wrote :

it's a pity that this patch is still not applied to mainline cause it's an essential bugfix (for my touchpad) without the use is very annoying.

so please ubuntu people/ mainline maintainer submit this patch!!!

built now custom kernel 3.5.0 with this patch for ubuntu 12.10

for other people with sentelic touchpad just build your own kernel the way i did 5 posts above it should work for the most the same way

all the best

Revision history for this message
In , florian (florian-linux-kernel-bugs) wrote :

(In reply to comment #86)
> it's a pity that this patch is still not applied to mainline cause it's an
> essential bugfix (for my touchpad) without the use is very annoying.

Which patch do you mean?
I just checked and I guess you seem to mean patch https://bugzilla.kernel.org/attachment.cgi?id=75741 ?

Can you verify my guess is indeed correct?

@Dimitry: the patch I mentioned above indeed is not yet in mainline... Oversight?

Changed in linux:
status: Fix Released → Confirmed
Revision history for this message
In , elischa03 (elischa03-linux-kernel-bugs) wrote :

(In reply to comment #87)
> Can you verify my guess is indeed correct?

completely ;)

Revision history for this message
In , fenio (fenio-linux-kernel-bugs) wrote :

Could someone in charge make a statement which kernel is going to include this patch?

Revision history for this message
In , fenio (fenio-linux-kernel-bugs) wrote :

Looks like we've got progress.
With vanilla version 3.7.1 of the kernel touchpad doesn't work but as a bonus it's not possible to patch it with driver from https://github.com/saaros cause there are errors during compilation.

I'm back to 3.6.0 with mentioned patch.

Please could someone summarize the current status of this bugreport?

Revision history for this message
In , dvyfkebuac.rhn (dvyfkebuac.rhn-linux-kernel-bugs) wrote :

I have a Syntelic touchpad that suffers from a similar problem: scrolling only happens in the corners. No edge scrolling, no two-finger scrolling (Fedora 17, stock kernel 3.6.10).
I noticced that you're using the synclient application to control scrolling, however I'm only getting an error:

$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?

Does it mean I have a kernel problem or xorg?
I know this might be the wrong place to ask, but I noticed some people here got synclient to work and I don't know a better place.

Revision history for this message
In , fenio (fenio-linux-kernel-bugs) wrote :

Does anyone know when these patches will be included in mainline kernel?

Revision history for this message
In , dmitry.torokhov (dmitry.torokhov-linux-kernel-bugs) wrote :

There was the following change applied to mainline:

commit a25461659050b913e114d282bf58823682eb56b6
Author: Christophe TORDEUX <email address hidden>
Date: Mon Dec 24 09:20:40 2012 -0800

    Input: sentelic - only report position of first finger as ST coordinates

    Report only the position of the first finger as absolute non-MT coordinates,
    instead of reporting both fingers alternatively. Actual MT events are
    unaffected.

    This fixes horizontal and improves vertical scrolling with the touchpad.

    Cc: <email address hidden>
    Signed-off-by: Christophe TORDEUX <email address hidden>
    Signed-off-by: Dmitry Torokhov <email address hidden>

It went into 3.8. If 3.8 still exhibits the bad behavior then we have to look again.

Revision history for this message
penalvch (penalvch) wrote :

Chris D, as per http://www.asus.com/Notebooks_Ultrabooks/ASUS_ZENBOOK_UX31E/#support an update is available for your BIOS (214). If you update to this following https://help.ubuntu.com/community/BiosUpdate , does it change anything?

If not, could you please both specify what happened, and provide the output of the following terminal command:
sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

Please note your current BIOS is already in the Bug Description, so posting this on the old BIOS would not be helpful.

For more on BIOS updates and linux, please see https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette .

Thank you for your understanding.

tags: added: bios-outdated-214 regression-potential
Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
In , anvil (anvil-linux-kernel-bugs) wrote :

For the record it's still pretty annoying on a Fedora 20 w/3.14 kernel.

Revision history for this message
In , johannes.w.seitz (johannes.w.seitz-linux-kernel-bugs) wrote :

Agreed. This issue is still reproducible on the latest Ubuntu with 3.14 kernel.
It's not the horizontal scrolling that was fixed with the commit Dmitry mentions that's bugging me. It's really annoying: on my Zenbook I keep scrolling down with two fingers and sometimes it's scrolling the page all the way to the top instead.

Revision history for this message
In , vincent.raspal (vincent.raspal-linux-kernel-bugs) wrote :

Hello guys!

I use a Clevo W310CZ laptop with a sentelic touchpad,
on Ubuntu 14.04 LTS, and the 3.13.0-30-generic kernel.

Using the touchpad is really a pain!
It works good some time, then the cursor gets completely mad.
I do not think I have the "mouse jumping to upper left corner" already described there. I would rather say that the cursor moves faster and jumps *anywhere* on the screen.

WHAT I DID:

I disabled every 'DoubleFinger'-like occurence with synclient

I also tried to patch the kernel but I think this one (3.13.0-30-generic) already contained the patched part. Below is the original "sentelic.c" as I found it:
***
 if ((packet[0] == 0x48 || packet[0] == 0x49) &&
     packet[1] == 0 && packet[2] == 0) {
  /*
   * Ignore coordinate noise when finger leaving the
   * surface, otherwise cursor may jump to upper-left
   * corner.
   */
  packet[3] &= 0xf0;
 }

 abs_x = GET_ABS_X(packet);
 abs_y = GET_ABS_Y(packet);
***
so, the patch "sentelic.patch" described sooner in this thread does nothing.

Question:
what more can I try to fix this problem?
Does anyone still have this problem with this kernel?
Could using an older kernel (eg 3.2) with ubuntu 12.04 help in any way?

Thank you

Revision history for this message
In , exzemat (exzemat-linux-kernel-bugs) wrote :

Hello,
I used too a Clevo W310CZ laptop with a sentelic touchpad and ubuntu 14.04.
I'm agree with Zigma description : "cursor jumps *anywhere* on the screen"

Revision history for this message
In , vincent.raspal (vincent.raspal-linux-kernel-bugs) wrote :

I had to send back my laptop for a refound after a ten-day struggle...

Revision history for this message
In , exzemat (exzemat-linux-kernel-bugs) wrote :

I had "i8042.nomux=1 i8042.reset=1" to my GRUB_CMDLINE_LINUX_DEFAULT (/etc/default/grub).
erratic jump/selection seems to be less frequently but still present...

Revision history for this message
In , exzemat (exzemat-linux-kernel-bugs) wrote :

I use too
synclient PalmMinZ=1
synclient PalmMinWidth=1
synclient MaxSpeed=1
to minimize erratic jump/selection...

Revision history for this message
In , mat.jonczyk (mat.jonczyk-linux-kernel-bugs) wrote :

Generally with regressions as described here the best tool is bisection. I have seen noone attempt that with this bug.

Revision history for this message
In , exzemat (exzemat-linux-kernel-bugs) wrote :

I tested ubuntu mainline kernel (linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb)
Still erratic jump/selection.

to complet bug's description : I also found that if I restart the computer when the cursor is crazy, the cursor is blocked in the middle of the screen (only the right click works).
I need to reboot several times to have the possibility to move the cursor.

I'm afraid that the problems is also in the hardware or firmware level of the touchpad. Because if I restart on Windows (when the cursor is blocked on Ubuntu), the cursor is also blocked in the middle of the screen on Windows.
However, if I only use Windows (never boot on Ubuntu), I never have a problem with cursor...

Revision history for this message
In , jphilip0786 (jphilip0786-linux-kernel-bugs) wrote :

I have got rid of the issue by making sure it is enabled in Settings. https://thegeekpage.com/fix-touchpad-scroll-not-working-windows-10-solution/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.