#9008 NORM 8.2.1: touchpad suddenly stops working (recalibration failed)
Zarro Boogs per Child
bugtracker at laptop.org
Fri Jan 23 09:43:22 EST 2009
#9008: touchpad suddenly stops working (recalibration failed)
-------------------------------------+--------------------------------------
Reporter: HoboPrimate | Owner: dsaxena
Type: defect | Status: new
Priority: normal | Milestone: 8.2.1
Component: kernel | Version: not specified
Resolution: | Keywords: cjbfor9.1.0
Next_action: test in build | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
-------------------------------------+--------------------------------------
Comment(by pgf):
just realized i'm not sure anyone else knows how to test this.
it's fairly easy to generate the "recalibration failed" error: i do it by
taking my finger and continuously doing quick sweeps, alternating from the
two sides of the touchpad. mix it up -- some short, some long, but the
goal is to cause touchpad jumps (which means closely spaced large
relocations of your finger with no contact on the pad) and lots of
touchpad traffic (which involves contact with the pad). the former (large
displacements) force the recal, and the latter (traffic) interferes. at
least that's my theory. you'll know when you get it, because the mouse
will lock up, and you'll see the "recalibration failed!" message in the
log. you can recover by suspending/resuming the laptop.
with the fix in, you'll still see the message, but the recalibration will
be retried in 500msec, and should succeed the next time. the driver
currently retries forever, at half second intervals, if the recalibration
keeps failing. upstream has rejected the patch because of this, and would
rather we re-init the ps2 subsystem after some number of failures. i have
it on my todo list to look at this, but my OLPC work isn't currently at
the top of that list. i don't know whether simply putting a limit on the
number of retry attempts (5? 10?), which would be a much easier change,
would be acceptable upstream.
final note: we have not looked at _why_ we're getting a failure from
ps2_command() when it is called by hgpk_force_recalibrate(), nor exactly
which of the 5 possible calls is failing. there are already special cases
in ps2_command() for some commands that can take a long time -- it's
possible that one of the commands we're sending (which aren't #defined --
grr) needs such an exception. (i actually think that ps2_command() should
get an additional "how long to wait for reply" parameter of some sort,
which would usually specify a default value -- knowledge of per-command
delay req'ts should be with the caller.)
--
Ticket URL: <http://dev.laptop.org/ticket/9008#comment:13>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list