linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Re:Re: Linux 2.6.0-test4
@ 2003-08-31 16:22 Chris Heath
  2003-09-01 16:01 ` Ralf Hildebrandt
  2003-09-02  8:07 ` Ralf Hildebrandt
  0 siblings, 2 replies; 13+ messages in thread
From: Chris Heath @ 2003-08-31 16:22 UTC (permalink / raw)
  To: Ralf.Hildebrandt; +Cc: linux-kernel

> Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> 
> Basically, CTRL was stuck. Even when I switched to X11.

Well, this completely baffles me.  I thought X11 maintains its own
keydown array.

Anyway, I've included a patch that should hopefully give us better
debugging information.  When you get an unknown key error, it will also
dump the last 16 bytes that were sent from the keyboard.  Be careful
with this one.  If you post any errors to the list, make sure it doesn't
contain any sensitive passwords. :-)

Chris


--- a/drivers/input/serio/i8042.c	2003-08-09 11:58:10.000000000 -0400
+++ b/drivers/input/serio/i8042.c	2003-08-31 10:16:55.000000000 -0400
@@ -62,6 +62,7 @@
 static unsigned char i8042_last_release;
 static unsigned char i8042_mux_open;
 struct timer_list i8042_timer;
+unsigned char i8042_history[16];
 
 /*
  * Shared IRQ's require a device pointer, but this driver doesn't support
@@ -334,6 +335,14 @@
 static char i8042_mux_short[4][16];
 static char i8042_mux_phys[4][32];
 
+void dump_i8042_history(void) {
+	int i;
+	printk(KERN_WARNING "i8042 history: ");
+	for (i=0; i<sizeof(i8042_history); i++)
+		printk("%02x ", i8042_history[i]);
+	printk("\n");
+}
+
 /*
  * i8042_interrupt() is the most important function in this driver -
  * it handles the interrupts from the i8042, and sends incoming bytes
@@ -405,6 +414,8 @@
 			continue;
 		}
 
+		memmove(i8042_history, &i8042_history[1], sizeof(i8042_history)-1);
+		i8042_history[sizeof(i8042_history)-1] = data;
 		if (data > 0x7f) {
 			unsigned char index = (data & 0x7f) | (i8042_last_e0 << 7);
 			/* work around hardware that doubles key releases */
--- a/drivers/input/keyboard/atkbd.c	2003-06-22 18:45:06.000000000 -0400
+++ b/drivers/input/keyboard/atkbd.c	2003-08-31 10:11:51.000000000 -0400
@@ -131,6 +131,7 @@
  * atkbd_interrupt(). Here takes place processing of data received from
  * the keyboard into events.
  */
+void dump_i8042_history(void);
 
 static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,
 			unsigned int flags, struct pt_regs *regs)
@@ -193,6 +194,7 @@
 		case ATKBD_KEY_UNKNOWN:
 			printk(KERN_WARNING "atkbd.c: Unknown key (set %d, scancode %#x, on %s) %s.\n",
 				atkbd->set, code, serio->phys, atkbd->release ? "released" : "pressed");
+			dump_i8042_history();
 			break;
 		default:
 			input_regs(&atkbd->dev, regs);


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Re:Re: Linux 2.6.0-test4
  2003-08-31 16:22 Re:Re: Linux 2.6.0-test4 Chris Heath
@ 2003-09-01 16:01 ` Ralf Hildebrandt
  2003-09-02  0:16   ` [PATCH] keyboard - was: " Andries Brouwer
  2003-09-02  8:07 ` Ralf Hildebrandt
  1 sibling, 1 reply; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-01 16:01 UTC (permalink / raw)
  To: linux-kernel

* Chris Heath <chris@heathens.co.nz>:
> > Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > 
> > Basically, CTRL was stuck. Even when I switched to X11.
> 
> Well, this completely baffles me.  I thought X11 maintains its own
> keydown array.
> 
> Anyway, I've included a patch that should hopefully give us better
> debugging information.  When you get an unknown key error, it will also
> dump the last 16 bytes that were sent from the keyboard.  Be careful
> with this one.  If you post any errors to the list, make sure it doesn't
> contain any sensitive passwords. :-)

I applied your patch, and alas:

Sep  1 16:12:19 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
Sep  1 16:12:19 hummus2 kernel: i8042 history: ae 9d e0 48 e0 c8 e0 38 56 d6 e0 b8 e0 b8 39 b9

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] keyboard - was: Re: Linux 2.6.0-test4
  2003-09-01 16:01 ` Ralf Hildebrandt
@ 2003-09-02  0:16   ` Andries Brouwer
  2003-09-02  5:39     ` Ralf Hildebrandt
  0 siblings, 1 reply; 13+ messages in thread
From: Andries Brouwer @ 2003-09-02  0:16 UTC (permalink / raw)
  To: linux-kernel

[I changed the subject to be slightly more indicative of contents.]

On Mon, Sep 01, 2003 at 06:01:25PM +0200, Ralf Hildebrandt wrote:
> * Chris Heath <chris@heathens.co.nz>:
> > > Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > > Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > 
> > > Basically, CTRL was stuck. Even when I switched to X11.
> > 
> > Well, this completely baffles me.  I thought X11 maintains its own
> > keydown array.

It can do that only when it gets uncontaminated data.

> I applied your patch, and alas:
> 
> Sep  1 16:12:19 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> Sep  1 16:12:19 hummus2 kernel: i8042 history: ae 9d e0 48 e0 c8 e0 38 56 d6 e0 b8 e0 b8 39 b9

I don't know why you say "alas". I read (two key releases, then)
press UpArrow, release UpArrow, RAlt, some key, release some key, release RAlt,
funny: again release RAlt, press space bar, release space bar.

So, nothing "Unknown" about this 0xb9 key - it is the spacebar release.

But i8042.c will do an unxlate when it thinks the key is down, so it
did not think so. But we saw the key down a moment ago. Apparently
the line

	set_bit(data | (i8042_last_e0 << 7), i8042_unxlate_seen);

did not set i8042_unxlate_seen for data = 0x39. And it is clear why:
The sequence e0 b8 e0 b8 is a repetition, the second e0 sets i8042_last_e0,
but after the second b8 we bail out without clearing i8042_last_e0 again.
*BUG*.

Conclusion: in the skipped double release case we must clear i8042_last_e0.

Andries

Vojtech: Note: 1 line should be added in i8042.c:i8042_interrupt().
[A stopgap - in fact all this i8042_unxlate_seen stuff should be ripped out.]

--- serio/i8042.c~      Sat Aug  9 22:16:42 2003
+++ serio/i8042.c       Tue Sep  2 03:09:12 2003
@@ -410,6 +410,7 @@
                        /* work around hardware that doubles key releases */
                        if (index == i8042_last_release) {
                                dbg("i8042 skipped double release (%d)\n", index);
+                               i8042_last_e0 = 0;
                                continue;
                        }
                        if (index == 0xaa || index == 0xb6)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02  0:16   ` [PATCH] keyboard - was: " Andries Brouwer
@ 2003-09-02  5:39     ` Ralf Hildebrandt
  0 siblings, 0 replies; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-02  5:39 UTC (permalink / raw)
  To: linux-kernel

* Andries Brouwer <aebr@win.tue.nl>:

> > * Chris Heath <chris@heathens.co.nz>:
> > > > Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > > > Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > > > 
> > > > Basically, CTRL was stuck. Even when I switched to X11.
> > > 
> > > Well, this completely baffles me.  I thought X11 maintains its own
> > > keydown array.
> 
> It can do that only when it gets uncontaminated data.
> 
> > I applied your patch, and alas:
> > 
> > Sep  1 16:12:19 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > Sep  1 16:12:19 hummus2 kernel: i8042 history: ae 9d e0 48 e0 c8 e0 38 56 d6 e0 b8 e0 b8 39 b9
> 
> I don't know why you say "alas". I read (two key releases, then)
> press UpArrow, release UpArrow, RAlt, some key, release some key, release RAlt,
> funny: again release RAlt, press space bar, release space bar.

This must a known bug of this particular keyboard.

> So, nothing "Unknown" about this 0xb9 key - it is the spacebar release.
> 
> But i8042.c will do an unxlate when it thinks the key is down, so it
> did not think so. But we saw the key down a moment ago. Apparently
> the line
> 
> 	set_bit(data | (i8042_last_e0 << 7), i8042_unxlate_seen);
> 
> did not set i8042_unxlate_seen for data = 0x39. And it is clear why:
> The sequence e0 b8 e0 b8 is a repetition, the second e0 sets i8042_last_e0,
> but after the second b8 we bail out without clearing i8042_last_e0 again.
> *BUG*.
> 
> Conclusion: in the skipped double release case we must clear i8042_last_e0.
> 
> Andries
> 
> Vojtech: Note: 1 line should be added in i8042.c:i8042_interrupt().
> [A stopgap - in fact all this i8042_unxlate_seen stuff should be ripped out.]
> 
> --- serio/i8042.c~      Sat Aug  9 22:16:42 2003
> +++ serio/i8042.c       Tue Sep  2 03:09:12 2003
> @@ -410,6 +410,7 @@
>                         /* work around hardware that doubles key releases */
>                         if (index == i8042_last_release) {
>                                 dbg("i8042 skipped double release (%d)\n", index);
> +                               i8042_last_e0 = 0;
>                                 continue;
>                         }
>                         if (index == 0xaa || index == 0xb6)

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Re:Re: Linux 2.6.0-test4
  2003-08-31 16:22 Re:Re: Linux 2.6.0-test4 Chris Heath
  2003-09-01 16:01 ` Ralf Hildebrandt
@ 2003-09-02  8:07 ` Ralf Hildebrandt
  2003-09-02 10:47   ` keyboard - was: " Andries Brouwer
  1 sibling, 1 reply; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-02  8:07 UTC (permalink / raw)
  To: linux-kernel

* Chris Heath <chris@heathens.co.nz>:
> > Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> > Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> > 
> > Basically, CTRL was stuck. Even when I switched to X11.
> 
> Well, this completely baffles me.  I thought X11 maintains its own
> keydown array.
> 
> Anyway, I've included a patch that should hopefully give us better
> debugging information.  When you get an unknown key error, it will also
> dump the last 16 bytes that were sent from the keyboard.  Be careful
> with this one.  If you post any errors to the list, make sure it doesn't
> contain any sensitive passwords. :-)

I got some more events, and today I even was able to reproduc the
"CTRL-is-stuck" problem.

I was able to get the key unstuck by switching back and forth between
dirrerent FB consoles and by pushing and releaseing CTRL in them...

Sep  2 09:10:01 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
Sep  2 09:10:01 hummus2 kernel: i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c

Sep  2 09:10:06 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed.
Sep  2 09:10:06 hummus2 kernel: i8042 history: 1c 9c 1c 9c e0 50 e0 d0 e0 50 e0 d0 e0 d0 20 a0

Sep  2 09:14:54 hummus2 kernel: input: AT Set 2 keyboard on isa0060/serio0

Sep  2 09:25:44 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
Sep  2 09:25:44 hummus2 kernel: i8042 history: e0 50 e0 d0 e0 50 e0 d0 e0 d0 1d 2d ad 1f 9f 9d

Sep  2 09:30:34 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
Sep  2 09:30:34 hummus2 kernel: i8042 history: e0 48 e0 c8 39 b9 e0 38 56 d6 e0 b8 e0 b8 39 b9

Sep  2 09:35:51 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
Sep  2 09:35:51 hummus2 kernel: i8042 history: a0 20 a0 9d e0 4d e0 cd e0 4d e0 cd e0 cd 39 b9

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02  8:07 ` Ralf Hildebrandt
@ 2003-09-02 10:47   ` Andries Brouwer
  2003-09-02 11:18     ` Ralf Hildebrandt
  2003-09-02 12:32     ` Ralf Hildebrandt
  0 siblings, 2 replies; 13+ messages in thread
From: Andries Brouwer @ 2003-09-02 10:47 UTC (permalink / raw)
  To: linux-kernel

On Tue, Sep 02, 2003 at 10:07:33AM +0200, Ralf Hildebrandt wrote:

> I got some more events, and today I even was able to reproduc the
> "CTRL-is-stuck" problem.
> 
> I was able to get the key unstuck by switching back and forth between
> dirrerent FB consoles and by pushing and releaseing CTRL in them...

Yesterday's data sufficed, and I suppose the patch I gave solves
this problem. Now that you send this, we can verify that each time
there is a problem we have had a double release just before, and
that release was an e0 xx combination.

> atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
> i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c
> 
> atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed.
> i8042 history: 1c 9c 1c 9c e0 50 e0 d0 e0 50 e0 d0 e0 d0 20 a0
> 
> atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
> i8042 history: e0 50 e0 d0 e0 50 e0 d0 e0 d0 1d 2d ad 1f 9f 9d
> 
> atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> i8042 history: e0 48 e0 c8 39 b9 e0 38 56 d6 e0 b8 e0 b8 39 b9
> 
> atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
> i8042 history: a0 20 a0 9d e0 4d e0 cd e0 4d e0 cd e0 cd 39 b9

And indeed, we see e0 d0 e0 d0, e0 b8 e0 b8, e0 cd e0 cd.

This bug is understood.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02 10:47   ` keyboard - was: " Andries Brouwer
@ 2003-09-02 11:18     ` Ralf Hildebrandt
  2003-09-02 12:32     ` Ralf Hildebrandt
  1 sibling, 0 replies; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-02 11:18 UTC (permalink / raw)
  To: linux-kernel

* Andries Brouwer <aebr@win.tue.nl>:
> On Tue, Sep 02, 2003 at 10:07:33AM +0200, Ralf Hildebrandt wrote:
> 
> > I got some more events, and today I even was able to reproduc the
> > "CTRL-is-stuck" problem.
> > 
> > I was able to get the key unstuck by switching back and forth between
> > dirrerent FB consoles and by pushing and releaseing CTRL in them...
> 
> Yesterday's data sufficed, and I suppose the patch I gave solves
> this problem. Now that you send this, we can verify that each time
> there is a problem we have had a double release just before, and
> that release was an e0 xx combination.

Excellent. I rebuild my kernel including your patch; I shall reboot
soon :)

> This bug is understood.

I'll get back to you once I verify that the problem doesn't occur
anymore.

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
* Andries Brouwer <aebr@win.tue.nl>:
> On Tue, Sep 02, 2003 at 10:07:33AM +0200, Ralf Hildebrandt wrote:
> 
> > I got some more events, and today I even was able to reproduc the
> > "CTRL-is-stuck" problem.
> > 
> > I was able to get the key unstuck by switching back and forth between
> > dirrerent FB consoles and by pushing and releaseing CTRL in them...
> 
> Yesterday's data sufficed, and I suppose the patch I gave solves
> this problem. Now that you send this, we can verify that each time
> there is a problem we have had a double release just before, and
> that release was an e0 xx combination.

Excellent. I rebuild my kernel including your patch; I shall reboot
soon :)

> This bug is understood.

I'll get back to you once I verify that the problem doesn't occur
anymore.

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02 10:47   ` keyboard - was: " Andries Brouwer
  2003-09-02 11:18     ` Ralf Hildebrandt
@ 2003-09-02 12:32     ` Ralf Hildebrandt
  2003-09-02 21:41       ` Andries Brouwer
  1 sibling, 1 reply; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-02 12:32 UTC (permalink / raw)
  To: linux-kernel

* Andries Brouwer <aebr@win.tue.nl>:

> Yesterday's data sufficed, and I suppose the patch I gave solves
> this problem.

Nope. I applied the patch and rebuilt the kernel and rebooted.

Linux version 2.6.0-test4-bk2 (root@hummus2) (gcc version 3.2.3 (Debian)) #1 Tue Sep 2 11:45:23 CEST 2003
shows that the kernel I build this moring is actually running.

Right now, my CTRL key is totally "stuck" on the fbconsole. I can't
release it, not even by switching between the consoles and/or X11.

But now I don't get any messages like the one below (yes, the special
code generating this output is still active...)

> > atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
> > i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
* Andries Brouwer <aebr@win.tue.nl>:

> Yesterday's data sufficed, and I suppose the patch I gave solves
> this problem.

Nope. I applied the patch and rebuilt the kernel and rebooted.

Linux version 2.6.0-test4-bk2 (root@hummus2) (gcc version 3.2.3 (Debian)) #1 Tue Sep 2 11:45:23 CEST 2003
shows that the kernel I build this moring is actually running.

Right now, my CTRL key is totally "stuck" on the fbconsole. I can't
release it, not even by switching between the consoles and/or X11.

But now I don't get any messages like the one below (yes, the special
code generating this output is still active...)

> > atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
> > i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02 12:32     ` Ralf Hildebrandt
@ 2003-09-02 21:41       ` Andries Brouwer
  2003-09-03  7:45         ` Ralf Hildebrandt
  2003-09-03 13:25         ` Ralf Hildebrandt
  0 siblings, 2 replies; 13+ messages in thread
From: Andries Brouwer @ 2003-09-02 21:41 UTC (permalink / raw)
  To: linux-kernel

On Tue, Sep 02, 2003 at 02:32:52PM +0200, Ralf Hildebrandt wrote:

> > Yesterday's data sufficed, and I suppose the patch I gave solves
> > this problem.
> 
> Nope. I applied the patch and rebuilt the kernel and rebooted.
> 
> Right now, my CTRL key is totally "stuck" on the fbconsole. I can't
> release it, not even by switching between the consoles and/or X11.
> 
> But now I don't get any messages like the one below (yes, the special
> code generating this output is still active...)
> 
> > > atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
> > > i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c

Well, that shows that this particular problem was solved, but there are
more problems. No doubt we'll understand everything eventually.

(Unless we remove this i8042_unxlate_seen before understanding all problems.
It is really very ugly to have two different arrays that both keep the
"key down" status of the keys, and that can get out of sync.)

Again, of course, I would like to see the past few dozen scancodes, like you
gave before, up to the moment the problem arises.
(If you cannot think of something better, just log every incoming scancode.)

Andries


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02 21:41       ` Andries Brouwer
@ 2003-09-03  7:45         ` Ralf Hildebrandt
  2003-09-03 13:25         ` Ralf Hildebrandt
  1 sibling, 0 replies; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-03  7:45 UTC (permalink / raw)
  To: linux-kernel

* Andries Brouwer <aebr@win.tue.nl>:

> > > > atkbd.c: Unknown key (set 2, scancode 0x9c, on isa0060/serio0) pressed.
> > > > i8042 history: e0 d0 1c 9c 2e ae 10 90 e0 50 e0 d0 e0 d0 1c 9c
> 
> Well, that shows that this particular problem was solved, but there are
> more problems. No doubt we'll understand everything eventually.

Thanks. And I'm happy to apply your patches to my shitty laptop :)
 
> (Unless we remove this i8042_unxlate_seen before understanding all problems.
> It is really very ugly to have two different arrays that both keep the
> "key down" status of the keys, and that can get out of sync.)
> 
> Again, of course, I would like to see the past few dozen scancodes, like you
> gave before, up to the moment the problem arises.
> (If you cannot think of something better, just log every incoming scancode.)

Right now I keep running the laptop with your patch and the keycode
history patch.

Anything in particular that I should do?

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: keyboard - was: Re: Linux 2.6.0-test4
  2003-09-02 21:41       ` Andries Brouwer
  2003-09-03  7:45         ` Ralf Hildebrandt
@ 2003-09-03 13:25         ` Ralf Hildebrandt
  1 sibling, 0 replies; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-09-03 13:25 UTC (permalink / raw)
  To: linux-kernel

* Andries Brouwer <aebr@win.tue.nl>:

> Well, that shows that this particular problem was solved, but there are
> more problems. No doubt we'll understand everything eventually.
> 
> (Unless we remove this i8042_unxlate_seen before understanding all problems.
> It is really very ugly to have two different arrays that both keep the
> "key down" status of the keys, and that can get out of sync.)
> 
> Again, of course, I would like to see the past few dozen scancodes, like you
> gave before, up to the moment the problem arises.
> (If you cannot think of something better, just log every incoming scancode.)

Right now I'm building 2.6.0-test4-bk5 (which has "the patch" in it)
and added the keycode history patch. I'll let you know how it goes.

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Re:Re: Linux 2.6.0-test4
  2003-08-30 14:13 Chris Heath
@ 2003-08-30 14:59 ` Ralf Hildebrandt
  0 siblings, 0 replies; 13+ messages in thread
From: Ralf Hildebrandt @ 2003-08-30 14:59 UTC (permalink / raw)
  To: linux-kernel

* Chris Heath <chris@heathens.co.nz>:
> > I still have issues with the keyboard -- sometimes when typing in the
> > frambuffer console I get an "unknown scancode" and after that the CTRL
> > key is stuck forever, which forces me to reboot.
> 
> Please post the full error message.  Does the error message always
> contain the same scancode?

I'll do that.

Aug 27 18:53:41 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
Aug 27 19:15:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0xb9, on isa0060/serio0) pressed.
Aug 27 19:42:50 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.
Aug 28 10:14:14 hummus2 kernel: atkbd.c: Unknown key (set 2, scancode 0x9d, on isa0060/serio0) pressed.

Basically, CTRL was stuck. Even when I switched to X11.

> My guess is you can get out of that without a reboot.  Next time it
> happens, try this:
>    1. Press and release each Ctrl key. (This makes sure the key_down
>       array is correct.)
>    2. Switch to another console and back again. (This executes the
>       compute_shiftstate function, which recalculates the shift
>       state from the key_down array.)

Ah, good idea.

-- 
Ralf Hildebrandt (Im Auftrag des Referat V a)   Ralf.Hildebrandt@charite.de
Charite Campus Mitte                            Tel.  +49 (0)30-450 570-155
Referat V a - Kommunikationsnetze -             Fax.  +49 (0)30-450 570-916
AIM: ralfpostfix

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re:Re: Linux 2.6.0-test4
@ 2003-08-30 14:13 Chris Heath
  2003-08-30 14:59 ` Ralf Hildebrandt
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Heath @ 2003-08-30 14:13 UTC (permalink / raw)
  To: Ralf.Hildebrandt; +Cc: linux-kernel

> I still have issues with the keyboard -- sometimes when typing in the
> frambuffer console I get an "unknown scancode" and after that the CTRL
> key is stuck forever, which forces me to reboot.

Please post the full error message.  Does the error message always
contain the same scancode?

My guess is you can get out of that without a reboot.  Next time it
happens, try this:
   1. Press and release each Ctrl key. (This makes sure the key_down
      array is correct.)
   2. Switch to another console and back again. (This executes the
      compute_shiftstate function, which recalculates the shift
      state from the key_down array.)

Chris


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2003-09-03 13:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-31 16:22 Re:Re: Linux 2.6.0-test4 Chris Heath
2003-09-01 16:01 ` Ralf Hildebrandt
2003-09-02  0:16   ` [PATCH] keyboard - was: " Andries Brouwer
2003-09-02  5:39     ` Ralf Hildebrandt
2003-09-02  8:07 ` Ralf Hildebrandt
2003-09-02 10:47   ` keyboard - was: " Andries Brouwer
2003-09-02 11:18     ` Ralf Hildebrandt
2003-09-02 12:32     ` Ralf Hildebrandt
2003-09-02 21:41       ` Andries Brouwer
2003-09-03  7:45         ` Ralf Hildebrandt
2003-09-03 13:25         ` Ralf Hildebrandt
  -- strict thread matches above, loose matches on Subject: below --
2003-08-30 14:13 Chris Heath
2003-08-30 14:59 ` Ralf Hildebrandt

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).