Bug 447725 - Synaptics drivers resetting when pushing caps lock while moving cursor
Synaptics drivers resetting when pushing caps lock while moving cursor
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: synaptics (Show other bugs)
9
All Linux
low Severity medium
: ---
: ---
Assigned To: Peter Hutterer
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-05-21 08:49 EDT by Antoine Levitt
Modified: 2008-10-02 00:45 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-10-02 00:45:03 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)
xorg.conf (1.99 KB, text/plain)
2008-07-23 08:10 EDT, Antoine Levitt
no flags Details
xorg.log (26.34 KB, text/plain)
2008-07-23 08:11 EDT, Antoine Levitt
no flags Details
Change synaptics read method (959 bytes, patch)
2008-08-05 03:40 EDT, Peter Hutterer
no flags Details | Diff

  None (edit)
Description Antoine Levitt 2008-05-21 08:49:04 EDT
Description of problem: see summary


Version-Release number of selected component (if applicable): F9


How reproducible: always


Steps to Reproduce:
1. Map caps lock to control (may not be necessary) via the gnome menu (option :
Make capslock an additional ctrl)
2. Push caps lock when moving cursor
  
Actual results: Cursor freezing for ~1s, sound freeze
Here is the output of dmesg :
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 4
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 - driver resynched.
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: issuing reconnect request
Synaptics Touchpad, model: 1, fw: 6.3, id: 0x1a0b1, caps: 0xa04713/0x200000
input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input28

Expected results: Nothing


Additional info: Configuration : vanilla F9
Comment 1 Peter Hutterer 2008-07-23 01:45:37 EDT
I can't reproduce this here. Can you please attach an xorg.log, the dmesg output
and your xorg.conf (just in case)?
Comment 2 Antoine Levitt 2008-07-23 08:10:12 EDT
Hi,
The dmesg output is the same as posted. I'm attaching xorg.conf and xorg.log
Comment 3 Antoine Levitt 2008-07-23 08:10:53 EDT
Created attachment 312468 [details]
xorg.conf
Comment 4 Antoine Levitt 2008-07-23 08:11:18 EDT
Created attachment 312469 [details]
xorg.log
Comment 5 Peter Hutterer 2008-07-23 08:43:12 EDT
did you do some excessive VT switching or suspend/resume when you got this log?
there's an an unusual number of device-reinitalisations.

if not - can you unplug your logitech wireless device and test whether there's
the same problem? it looks a bit busted
Comment 6 Antoine Levitt 2008-07-23 09:23:06 EDT
Oh, I just plugged/unplugged my logitech mouse a few times. I use a laptop and
unplug it when I move it from my desk.
I think you can just ignore those lines. The bug is still present without a mouse.
Comment 7 Peter Hutterer 2008-07-23 22:25:03 EDT
ok, here's what happens in the server: at some point, the touchpad must be
sending way too many events, more than the server's event queue can deal with
anyway. at the same time, the server doesn't process these events, either not at
all or not fast enough anyway.

However, I'm somewhat unsure into how the whole thing happens. Often this is
caused by a graphics driver locking up, so if you can try to reproduce it with a
different driver (i.e. nv), that would help already.

Alternatively, it could be the synaptics driver locking up when the device
disappears and sending events continuously.

Either way - the disconnect in the kernel shouldn't happen at all. Back to
comment #1: is the CapsLock-Ctrl map necessary to make it happen?
If you touch the CapsLock very light only, does it happen too? Might be a
hardware issue
Comment 8 Antoine Levitt 2008-07-24 07:57:49 EDT
I already reproduced the bug under nv, I don't think it's related.
Touching caps lock very lightly doesn't help.

Actually, the map is not necessary, I reproduced it without it, sorry for making
that part of the bug. 

However, I should note the mapping itself poses problems : when I boot,
sometimes the mapping is on (including the windows key), sometimes it isn't, and
I have to toggle one of the parameters in the menu for it to work again. I don't
know if this is related to the bug, I'm posting it just in case.
Comment 9 Peter Hutterer 2008-07-30 21:26:50 EDT
(In reply to comment #8)
> However, I should note the mapping itself poses problems : when I boot,
> sometimes the mapping is on (including the windows key), sometimes it isn't, and
> I have to toggle one of the parameters in the menu for it to work again. I don't
> know if this is related to the bug, I'm posting it just in case.

This is a separate issue with xkb, you can ignore that for this bug.

I don't actually know. One thing I have seen in other drivers is that if they
get a disconnect, they get garbage data on the device file, and keep posting
events until they die. I presume this'd be an issue with the driver then.

Next try: please get evtest [1] and hook it up to your synaptics device -
without running X. Then hit the key combo that causes the reset and check the
evtest output. Anything interesting?

[1] http://people.freedesktop.org/~whot/evtest.c
Comment 10 Antoine Levitt 2008-07-31 06:18:06 EDT
Hi,
First thing to note, keyboard is fine (same output when buggy and when not)
here's evtest output for an input corresponding to : draw around and press caps
lock (btw, the problem occurs when pressing caps lock, not when releasing it)
Event: time 1217498104.246699, -------------- Report Sync ------------
Event: time 1217498104.259231, type 3 (Absolute), code 0 (X), value 2744
Event: time 1217498104.259234, type 3 (Absolute), code 1 (Y), value 3253
Event: time 1217498104.259236, type 3 (Absolute), code 24 (Pressure), value 52
... a lot of these ...
Event: time 1217498104.343481, -------------- Report Sync ------------
Event: time 1217498104.357859, type 3 (Absolute), code 0 (X), value 2493
Event: time 1217498104.357862, type 3 (Absolute), code 1 (Y), value 3767
Event: time 1217498104.357864, type 3 (Absolute), code 24 (Pressure), value 66
Event: time 1217498104.357867, -------------- Report Sync ------------
Event: time 1217498104.382049, type 3 (Absolute), code 0 (X), value 2351
Event: time 1217498104.382052, type 3 (Absolute), code 1 (Y), value -432
Event: time 1217498104.382054, type 3 (Absolute), code 24 (Pressure), value 67
Event: time 1217498104.382055, type 3 (Absolute), code 28 (Tool Width), value 5
Event: time 1217498104.382058, -------------- Report Sync ------------
Event: time 1217498104.571452, type 1 (Key), code 325 (ToolFinger), value 0
Event: time 1217498104.571454, type 1 (Key), code 330 (Touch), value 0
Event: time 1217498104.571456, -------------- Report Sync ------------


When in X, the delay between 38 and 57 would be a display/sound freeze
Comment 11 Peter Hutterer 2008-08-05 03:40:55 EDT
Created attachment 313433 [details]
Change synaptics read method

This is but a wild stab in the dark, but could you try this patch please.
It slightly changes how events are read from the device, eliminating one (unlikely) case of a blocking read with the old code.
Comment 12 Antoine Levitt 2008-10-01 07:50:30 EDT
Hi,
Sorry for not testing the patch. In the meantime, I switched to ubuntu. I updated today to latest beta, and the problem (which was present in 8.04) disappeared. I think this bug is fixed in the driver and should be gone in fedora as well.
Antoine Levitt
Comment 13 Peter Hutterer 2008-10-02 00:45:03 EDT
Closing as NEXTRELEASE then, ubuntu uses the same driver. Thanks for your help.

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