public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Synaptics touchpad on Dell Vostro V13
Date: Wed, 15 Dec 2010 15:23:09 -0800	[thread overview]
Message-ID: <201012151523.09476.dmitry.torokhov@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1012152348440.16569@pobox.suse.cz>

On Wednesday, December 15, 2010 02:51:01 pm Jiri Kosina wrote:
> On Tue, 14 Dec 2010, Dmitry Torokhov wrote:
> > > I have a bugreport about Synaptics touchpad not working as proper
> > > Synaptics, but only being detected as standard PS/2.
> > > 
> > > Looking at the i8042.debug output, the device is clearly buggy, as it
> > > 
> > > doesn't identify itself by 0x47 when queried:
> > > 	91 -> i8042 (command) [58]
> > > 	e8 -> i8042 (parameter) [58]
> > > 	fa <- i8042 (interrupt, 3, 12) [59]
> > > 	91 -> i8042 (command) [59]
> > > 	00 -> i8042 (parameter) [59]
> > > 	fa <- i8042 (interrupt, 3, 12) [59]
> > > 	91 -> i8042 (command) [59]
> > > 	e8 -> i8042 (parameter) [59]
> > > 	fa <- i8042 (interrupt, 3, 12) [60]
> > > 	91 -> i8042 (command) [60]
> > > 	00 -> i8042 (parameter) [60]
> > > 	fa <- i8042 (interrupt, 3, 12) [61]
> > > 	91 -> i8042 (command) [61]
> > > 	e8 -> i8042 (parameter) [61]
> > > 	fa <- i8042 (interrupt, 3, 12) [61]
> > > 	91 -> i8042 (command) [61]
> > > 	00 -> i8042 (parameter) [61]
> > > 	fa <- i8042 (interrupt, 3, 12) [62]
> > > 	91 -> i8042 (command) [62]
> > > 	e8 -> i8042 (parameter) [62]
> > > 	fa <- i8042 (interrupt, 3, 12) [63]
> > > 	91 -> i8042 (command) [63]
> > > 	00 -> i8042 (parameter) [63]
> > > 	fa <- i8042 (interrupt, 3, 12) [64]
> > > 	91 -> i8042 (command) [64]
> > > 	e9 -> i8042 (parameter) [64]
> > > 	fa <- i8042 (interrupt, 3, 12) [64]
> > > 
> > > ... and here we time out after approximately 0.5s. nomux doesn't really
> > > fix it, we start getting a lot of timeouts on i8042 with that.
> > > 
> > > Apparently the device works with Synaptics driver in Other OS(TM)
> > > though. Do you have any idea what they might be doing differently so
> > > that they make the touchpad identify itself properly?
> > 
> > Hi Jiri,
> > 
> > Do you have the device in your possession? If so can you check if the
> > driver installed in Other OS uses active multiplexing? I think you can
> > infer whether it does or not by looking at the pointer properties - I
> > think it would "Synaptics Blah at port X" or something like that...
> 
> Unfortunately I don't have the hardware myself, it's only bugreport that
> reached me. I will check this, thanks.
> 
> > Also you could try combining nomux with reset and see if it makes any
> > sense...
> 
> Yes, I have already had the reporter to do this, but that's even better --
> a lot of commands time out, as you can see below
> 
>  20 -> i8042 (command) [0]
>  47 <- i8042 (return) [0]
>  20 -> i8042 (command) [0]
>  47 <- i8042 (return) [0]
>  60 -> i8042 (command) [0]
>  56 -> i8042 (parameter) [0]
>  d3 -> i8042 (command) [0]
>  5a -> i8042 (parameter) [0]
>  5a <- i8042 (return) [0]
>  a7 -> i8042 (command) [0]
>  20 -> i8042 (command) [0]
>  76 <- i8042 (return) [0]
>  a8 -> i8042 (command) [0]
>  20 -> i8042 (command) [0]
>  56 <- i8042 (return) [0]
>  60 -> i8042 (command) [0]
>  56 -> i8042 (parameter) [0]
>  d3 -> i8042 (command) [0]
>  a5 -> i8042 (parameter) [0]
>  a5 <- i8042 (aux_test_irq, aux) [1]
>  60 -> i8042 (command) [1]
>  74 -> i8042 (parameter) [1]
>  60 -> i8042 (command) [1]
>  56 -> i8042 (parameter) [1]
>  60 -> i8042 (command) [1]
>  47 -> i8042 (parameter) [1]
> serio: i8042 KBD port at 0x60,0x64 irq 1
> serio: i8042 AUX port at 0x60,0x64 irq 12
> mice: PS/2 mouse device common for all mice
>  f2 -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
>  ab <- i8042 (interrupt, 0, 1, timeout) [1]
>  83 <- i8042 (interrupt, 0, 1, timeout) [1]
>  ed -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
>  00 -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
>  f3 -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
>  00 -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
>  f4 -> i8042 (kbd-data) [1]
>  fa <- i8042 (interrupt, 0, 1, timeout) [1]
> input: AT Translated Set 2 keyboard as
> /devices/platform/i8042/serio0/input/input0 d4 -> i8042 (command) [2]
>  f2 -> i8042 (parameter) [2]
>  fa <- i8042 (interrupt, 1, 12, timeout) [2]
>  00 <- i8042 (interrupt, 1, 12, timeout) [3]
>  60 -> i8042 (command) [3]
>  45 -> i8042 (parameter) [3]
>  60 -> i8042 (command) [3]
>  47 -> i8042 (parameter) [3]
>  d4 -> i8042 (command) [3]
>  f2 -> i8042 (parameter) [3]
>  fa <- i8042 (interrupt, 1, 12, timeout) [4]
>  60 -> i8042 (command) [4]
>  45 -> i8042 (parameter) [4]
>  60 -> i8042 (command) [4]
>  47 -> i8042 (parameter) [4]
>  00 <- i8042 (interrupt, 1, 12, timeout) [5]
> 
> ...
> 
>  f3 -> i8042 (kbd-data) [6323]
>  fa <- i8042 (interrupt, 0, 1, timeout) [6323]
>  20 -> i8042 (kbd-data) [6323]
>  fa <- i8042 (interrupt, 0, 1, timeout) [6323]
>  2d <- i8042 (interrupt, 0, 1, timeout) [10631]
>  10 <- i8042 (interrupt, 0, 1, timeout) [10669]
>  ad <- i8042 (interrupt, 0, 1, timeout) [10674]
>  90 <- i8042 (interrupt, 0, 1, timeout) [10692]
>  2f <- i8042 (interrupt, 0, 1, timeout) [10737]
>  af <- i8042 (interrupt, 0, 1, timeout) [10760]
>  17 <- i8042 (interrupt, 0, 1, timeout) [10922]
>  97 <- i8042 (interrupt, 0, 1, timeout) [10945]
>  12 <- i8042 (interrupt, 0, 1, timeout) [10998]
>  92 <- i8042 (interrupt, 0, 1, timeout) [11025]
>  13 <- i8042 (interrupt, 0, 1, timeout) [11317]
>  93 <- i8042 (interrupt, 0, 1, timeout) [11345]
>  1c <- i8042 (interrupt, 0, 1, timeout) [11422]
>  9c <- i8042 (interrupt, 0, 1, timeout) [11449]
>  31 <- i8042 (interrupt, 0, 1, timeout) [11672]
>  b1 <- i8042 (interrupt, 0, 1, timeout) [11697]
>  18 <- i8042 (interrupt, 0, 1, timeout) [11704]
>  98 <- i8042 (interrupt, 0, 1, timeout) [11729]
>  2f <- i8042 (interrupt, 0, 1, timeout) [11800]
>  af <- i8042 (interrupt, 0, 1, timeout) [11821]
>  12 <- i8042 (interrupt, 0, 1, timeout) [11842]
>  92 <- i8042 (interrupt, 0, 1, timeout) [11866]
>  27 <- i8042 (interrupt, 0, 1, timeout) [11951]
>  a7 <- i8042 (interrupt, 0, 1, timeout) [11969]
>  0e <- i8042 (interrupt, 0, 1, timeout) [12061]
>  8e <- i8042 (interrupt, 0, 1, timeout) [12089]
>  26 <- i8042 (interrupt, 0, 1, timeout) [12169]
>  a6 <- i8042 (interrupt, 0, 1, timeout) [12187]
>  26 <- i8042 (interrupt, 0, 1, timeout) [12207]
>  a6 <- i8042 (interrupt, 0, 1, timeout) [12227]
>  1c <- i8042 (interrupt, 0, 1, timeout) [12428]
>  9c <- i8042 (interrupt, 0, 1, timeout) [12456]
> 
> ... and a lot of other timeouts.

Hmm, and what happens if you force dfl = 0 in i8042_interrupt()? It looks
like controller FW screwed up...

> 
> If the device wouldn't work with Synaptics driver in other OS, I'd just
> claim the device to be broken behind hope and be done with this, but this
> makes me really wonder what they do differently.
> 
> Are you aware of any means of i8042 debugging/sniffing facility in the
> other OS that could be used? :)

KVM + serio_raw but someone needs to write the glue...

-- 
Dmitry

  reply	other threads:[~2010-12-15 23:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-14 14:56 Synaptics touchpad on Dell Vostro V13 Jiri Kosina
2010-12-14 17:00 ` Dmitry Torokhov
2010-12-15 22:51   ` Jiri Kosina
2010-12-15 23:23     ` Dmitry Torokhov [this message]
2010-12-28 10:28       ` Jiri Kosina
2010-12-29  7:44         ` Dmitry Torokhov
2010-12-29 12:42           ` Jiri Kosina
2010-12-29 13:59             ` [PATCH] Input: introduce 'notimeout' blacklist for Dell Vostro V13 (was Re: Synaptics touchpad on Dell Vostro V13) Jiri Kosina
2011-01-03 13:51               ` Jiri Kosina
2011-01-06  1:42                 ` James T. Dickson
2011-01-06 10:32                   ` Jiri Kosina
2011-01-06 14:57                     ` James T. Dickson
2011-01-07 10:06                       ` Jiri Kosina
2011-01-07 17:28                         ` Dmitry Torokhov
2011-01-07 22:30                           ` Jiri Kosina
2011-01-11 13:00                           ` Jiri Kosina
2011-01-11 16:37                             ` Dmitry Torokhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201012151523.09476.dmitry.torokhov@gmail.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox