Bug 12230 - On Dell Vostro 1000, i8042 sometimes boots in RAW mode, causing non-functional right Alt key
Summary: On Dell Vostro 1000, i8042 sometimes boots in RAW mode, causing non-functiona...
Status: CLOSED OBSOLETE
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-15 05:47 UTC by Marco Zanon
Modified: 2012-05-31 19:42 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.24-22-generic ... 2.6.31-999
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
evtest output for @ keypress while in raw mode (5.43 KB, text/plain)
2010-03-01 14:22 UTC, Marco Zanon
Details
evtest output for @ keypress while in translated mode (5.47 KB, text/plain)
2010-03-01 14:23 UTC, Marco Zanon
Details
dmesg output for @ keypress while in raw mode (73.33 KB, text/plain)
2010-03-01 14:23 UTC, Marco Zanon
Details

Description Marco Zanon 2008-12-15 05:47:56 UTC
Latest working kernel version: ?

Earliest failing kernel version: ?

Distribution: Ubuntu Linux 8.04

Hardware Environment: Dell Vostro 1000 (European for Dell Inspiron 1501 I suppose, having an AMD cpu)

Software Environment: everything

Problem Description: On *some* *cold* boots, the AltGr key is not working, so when I press AltGr+somekey I get scrambled characters (both on console and X mode). The problem never appears on warm boots (i.e.: after a reboot), and it didn't appear until a couple of months ago (but I cannot remember which kernel version did originate the problem). Also see https://bugs.launchpad.net/ubuntu/+bug/285908.

Note: on wrong boots dmesg reports:
input: AT Raw Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
while right boots report:
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1

Steps to reproduce: ? You just have to be "lucky" and you will boot up in the wrong state...
Comment 1 Andrew Morton 2008-12-15 09:47:02 UTC
Reassigned to drivers/input
Comment 2 Marco Zanon 2008-12-15 23:48:45 UTC
2.6.24-16-generic (the first kernel used by Ubuntu 8.04) was working perfectly... the problem generated later, between 2.6.24-17 and 2.6.24-22...
Comment 3 Marco Zanon 2009-07-09 08:01:52 UTC
Hi,

isn't it possible to revert the changes that originated the problem?

thanks, MZ
Comment 4 Marco Zanon 2009-08-09 10:08:41 UTC
See ubuntu bug # 258908: the problem *seems* solved by adding "i8042.reset=1" to the GRUB command line (thanks to Daniel's suggestions)...

hope this helps,

thanks, MZ
Comment 5 Marco Zanon 2009-08-09 14:01:28 UTC
See ubuntu bug #258908:

I had to use "i8042.reset i8042.nomux i8042.nopnp i8042.noloop" instead of just "i8042.reset", otherwise my keyboard hanged up on cold boots 80% of the times!

Hope this helps,

thanks, MZ
Comment 6 Marco Zanon 2009-08-09 18:58:21 UTC
unfortunately, the keyboard still hangs up most of the times, even with those additional kernel parameters...

thanks, MZ
Comment 7 Marco Zanon 2009-09-17 09:32:17 UTC
just tested the Ubuntu 9.10 Alpha4 a few weeks ago, the problem is still there...

thanks, MZ
Comment 8 Y. G. (theYinYeti) 2009-11-04 07:55:00 UTC
This problem also exists in Mandriva, as reported here:
https://qa.mandriva.com/show_bug.cgi?id=49873
Comment 9 Marco Zanon 2009-11-08 10:51:33 UTC
yes, I read Yves' report and that seems to be the very same annoying problem...

thanks, MZ
Comment 10 Marco Zanon 2010-02-05 08:36:37 UTC
Hi all,

is there any news abou this?
if not, is there a way to pass some kernel parameters at boot and "reset" the driver behaviour, so that it is not necessary to make a reboot 50% of the times I switch the computer on?

thanks very much, MZ
Comment 11 Y. G. (theYinYeti) 2010-02-06 08:12:51 UTC
Provided my problem indeed IS related to this report, then this script works as a workaround in X; run it each time AltGr stops working:

---------------------------------------------------
#!/bin/bash
# https://bugs.launchpad.net/linux/+bug/285908
xmodmap -pke | sed 's/XF86Launch1/ISO_Level3_Shift/g' >/tmp/xmodmap
xmodmap /tmp/xmodmap
rm -f /tmp/xmodmap
---------------------------------------------------

Yves.
Comment 12 Marco Zanon 2010-02-06 15:50:39 UTC
Yves, thanks for pointing me to that Ubuntu bug report (which I opened, BTW :),

unfortunately, "xmodmap -pke" for me reports:
...
keycode 156 = NoSymbol Meta_L
...

so I cannot replace "XF86Launch1"...

thanks, MZ
Comment 13 Marco Zanon 2010-03-01 14:22:06 UTC
Vojtech Pavlik, the maintainer for the "AT keyboard" Linux driver, told me that a way to force the keyboard in "raw" mode (which is what happens on buggy boots) is to boot with "i8042.direct=1".
Unfortunately, there is not the opposite option, i.e.: you cannot force the keyboard in "translated" mode with "i8042.direct=0". That would be useful to circumvent the bug.

Apart from this, I attach:
- output from the "evtest" keypress for "@" while in buggy (raw) mode;
- output from the "evtest" keypress for "@" while in correct (translated) mode;
- output from dmesg while in buggy mode and "i8042.debug=1"..

Thanks,

MZ
Comment 14 Marco Zanon 2010-03-01 14:22:56 UTC
Created attachment 25288 [details]
evtest output for @ keypress while in raw mode
Comment 15 Marco Zanon 2010-03-01 14:23:23 UTC
Created attachment 25289 [details]
evtest output for @ keypress while in translated mode
Comment 16 Marco Zanon 2010-03-01 14:23:55 UTC
Created attachment 25290 [details]
dmesg output for @ keypress while in raw mode
Comment 17 Vojtech Pavlik 2010-03-02 13:27:50 UTC
Quick analysis:

The Vostro hardware exhibits two bugs here:

1) Unpredictably, sometimes the keyboard controller initializes in Raw mode instead of Translated. The Raw mode works, and provides a working keyboard. However, to provide consistent behavior it'd be better to force Translated mode on this machine, using DMI quirks.

2) When in Raw mode it sends an incorrect scancode for the right alt, it sends 91 HEX (145) instead of 91 DEC, the correct scancode. This could be worked around by updating the scancode table based on a dmi quirk and translated/raw state, but if 1) is worked around, this won't be necessary anymore.

Reassigning to input-devices, too.
Comment 18 Dmitry Torokhov 2010-03-03 01:35:21 UTC
Bleh, another DMI quirk... I wonder if we should ban raw mode on all x86 laptops and portables. Vojtech, what do you think?
Comment 19 Vojtech Pavlik 2010-03-03 08:42:27 UTC
If you can detect an x86/x86-64 laptop, then great. In fact I think we could force translated mode (enable it if not enabled in the CTR) on any x86 or x86-64 system unless the user overrides that with i8042.direct.

The current behavior is:

If i8042.direct=0, then check the CTR and use the mode the CTR reports
if i8042.direct=1, then set CTR to and use Raw mode

We could change it (on x86 and x86-64) to:

if i8042.direct=0, then set CTR to and use Translated mode
if i8042.direct=1, then set CTR to and use Raw mode

All the x86 machines that couldn't do Translated are dead by today. Or maybe make the option more flexible, with three values, and different defaults based on architecture.
Comment 20 Alan 2012-05-22 18:58:55 UTC
Ping did this get resolved as I don't see it added to the reset table in 3.4
Comment 21 Y. G. (theYinYeti) 2012-05-23 09:04:16 UTC
I’ve been using Arch Linux instead of Mandriva on this laptop for almost 6 months now, hence with newer kernels. Ever since, I’ve never had the bug happen.
As far as I’m concerned (on a Dell Inspiron 1501), the bug is solved.
Comment 22 Alan 2012-05-23 23:03:50 UTC
Thanks - good to know
Comment 23 Marco Zanon 2012-05-31 19:42:30 UTC
Sorry for the delay in answering, but I needed to test - and I can confirm this bug has gone!

Thanks, Marco

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