linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andries Brouwer <aebr@win.tue.nl>
To: dean gaudet <dean-list-linux-kernel@arctic.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.0-test2 has i8042 mux problems
Date: Wed, 30 Jul 2003 02:25:08 +0200	[thread overview]
Message-ID: <20030730002508.GA2237@win.tue.nl> (raw)
In-Reply-To: <Pine.LNX.4.53.0307291521520.24801@twinlark.arctic.org>

On Tue, Jul 29, 2003 at 03:51:04PM -0700, dean gaudet wrote:

> i've got a box on which 2.4.x works fine, but 2.6.0-test2 gets into a snit
> when it's trying to initialize the i8042.  i can get 2.6.0-test2 to boot
> if i add "i8042_nomux".

> this system has an ali1563 (it's a development board for a new processor).
> 
> serio/i8042.c: d3 -> i8042 (command) [61]
> serio/i8042.c: f0 -> i8042 (parameter) [61]
> serio/i8042.c: 0f <- i8042 (return) [61]
> serio/i8042.c: d3 -> i8042 (command) [107]
> serio/i8042.c: 56 -> i8042 (parameter) [107]
> serio/i8042.c: a9 <- i8042 (return) [107]
> serio/i8042.c: d3 -> i8042 (command) [154]
> serio/i8042.c: a4 -> i8042 (parameter) [154]
> serio/i8042.c: ee <- i8042 (return) [154]
> i8042.c: Detected active multiplexing controller, rev 1.1.

The controller follows the synaptics mux protocol.

> serio/i8042.c: 90 -> i8042 (command) [248]
> serio/i8042.c: a8 -> i8042 (command) [264]
> serio/i8042.c: 91 -> i8042 (command) [279]
> serio/i8042.c: a8 -> i8042 (command) [295]
> serio/i8042.c: 92 -> i8042 (command) [311]
> serio/i8042.c: a8 -> i8042 (command) [326]
> serio/i8042.c: 93 -> i8042 (command) [342]
> serio/i8042.c: a8 -> i8042 (command) [357]

Enable all Aux devices.
Start investigating the first one.

> serio/i8042.c: 90 -> i8042 (command) [436]
> serio/i8042.c: f2 -> i8042 (parameter) [436]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [480]
> serio/i8042.c: 90 -> i8042 (command) [501]
> serio/i8042.c: ed -> i8042 (parameter) [501]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [544]

No keyboard.

> serio/i8042.c: 90 -> i8042 (command) [629]
> serio/i8042.c: f2 -> i8042 (parameter) [629]
> serio/i8042.c: fe <- i8042 (interrupt, aux0, 12, timeout) [673]

No mouse.
Only a port.

> serio: i8042 AUX0 port at 0x60,0x64 irq 12

Start investigating the second one. Same results.

> serio: i8042 AUX1 port at 0x60,0x64 irq 12

Start investigating the third one.

> serio/i8042.c: 92 -> i8042 (command) [1168]
> serio/i8042.c: f2 -> i8042 (parameter) [1168]
> serio/i8042.c: fe <- i8042 (interrupt, aux2, 12, bad parity) [1206]
> atkbd.c: frame/parity error: 02

This time the keyboard is really unhappy.
The kernel asks for resend. I think invoking undefined behaviour.

...
> serio/i8042.c: 92 -> i8042 (command) [3242]
> serio/i8042.c: fe -> i8042 (parameter) [3242]
> serio/i8042.c: fe <- i8042 (interrupt, aux2, 0, bad parity) [3274]
> atkbd.c: frame/parity error: 02
> serio/i8042.c: 92 -> i8042 (command) [3305]
> serio/i8042.c: fe -> i8042 (parameter) [3305]

And then the kernel crashes...
[with an interesting interrupt within interrupt crash, to be looked at]

> drivers/inp<1>Unable to handle kernel NULL pointer dereference at virtual address 0000001d

[Since you have some new experimental board, I wonder:

My docs - the numbering has changed, but today it is
 http://www.win.tue.nl/~aeb/linux/kbd/scancodes-8.html#kcc90
know about the commands 90-93 as Synaptics prefixes,
but also about the commands 90-9f that set certain lines
(on VIA chipsets).

Do you know anything about the innards? Is it supposed to follow
this Synaptics protocol?]

Do things go slightly better if you comment out the line
	serio_write(serio, ATKBD_CMD_RESEND);
in atkbd.c?

Andries


  reply	other threads:[~2003-07-30  0:25 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-28  2:13 2.6.0-test2 has i8042 mux problems dean gaudet
2003-07-28  3:59 ` Andries Brouwer
2003-07-29 22:51   ` dean gaudet
2003-07-30  0:25     ` Andries Brouwer [this message]
2003-07-28  5:26 ` Claas Langbehn
2003-07-28 11:36   ` Andries Brouwer
2003-07-28 20:35     ` Claas Langbehn
2003-07-28 21:09     ` Claas Langbehn
2003-07-28 22:58       ` Andries Brouwer
2003-07-29  7:53         ` Claas Langbehn
2003-07-28 14:29 ` Stefan Reinauer
2003-07-28 16:38   ` dean gaudet
2003-08-12 20:56     ` Vojtech Pavlik

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=20030730002508.GA2237@win.tue.nl \
    --to=aebr@win.tue.nl \
    --cc=dean-list-linux-kernel@arctic.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;
as well as URLs for NNTP newsgroup(s).