Bug 3830

Summary: Touchpad stopped working from 2.6.9 and beyond
Product: Drivers Reporter: Nikolaos Kefalas (nkef)
Component: Input DevicesAssignee: Dmitry Torokhov (dmitry.torokhov)
Status: REJECTED INSUFFICIENT_DATA    
Severity: normal CC: akpm, bunk, osos, vojtech
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.9 , 2.6.10 Subsystem:
Regression: --- Bisected commit-id:
Attachments: 2.6.8.1 Kernel Messages
Config File for 2.6.9

Description Nikolaos Kefalas 2004-11-29 16:46:44 UTC
Distribution: Knoppix 3.6
Hardware Environment: Toshiba P10-792 Laptop
Software Environment: Xfree 4.3.0 patched with latest synaptics driver
Problem Description: The Touchpad worked fine until linux 2.6.8 , with 2.6.9 ,
2.6.10-rc1 , 2.6.10-rc2 , the touchpad is not recognized at all .

Until 2.6.8 it was recognized and i got from dmesg:

i8042.c: Detected active multiplexing controller, rev 1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
input: PS/2 Generic Mouse on isa0060/serio4
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0


and from /proc/bus/input/devices
I: Bus=0011 Vendor=0002 Product=0001 Version=0000
N: Name="PS/2 Generic Mouse"
P: Phys=isa0060/serio4/input0
H: Handlers=mouse0 event0 ts0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3
 
Witch 2.6.9 and beyond it is not detected at all.
Comment 1 Andrew Morton 2004-11-29 18:04:30 UTC
has this been resolved yet?    There was a similar bug reported, but it turned
out to be an X configuration issue.
Comment 2 Dmitry Torokhov 2004-11-29 22:05:28 UTC
Could you please change #undef DEBUG into #define DEBUG in 
drivers/input/serio/i8042.c, recompile, reboot with log_buf_len=131072 and send 
the output of 'dmesg -s 131072' to me (dtor_core@ameritech.net)? 
 
Thanks! 
Comment 3 Dmitry Torokhov 2004-12-01 11:52:35 UTC
drivers/input/serio/i8042.c: 20 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 47 <- i8042 (return) [0]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [0]
drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [0]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [1]
drivers/input/serio/i8042.c: 5a -> i8042 (parameter) [1]
drivers/input/serio/i8042.c:      -- i8042 (timeout) [509]
drivers/input/serio/i8042.c: a9 -> i8042 (command) [509]
drivers/input/serio/i8042.c: a5 <- i8042 (return) [509]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [510]
drivers/input/serio/i8042.c: 46 -> i8042 (parameter) [510]

Looking at this trace it seems that out of blue KBC took 500 msec to reply to 
the request and we considered that it timed out. I wonder if something went 
wrong with the timer. I see you are using pmtmr. COuld you try booting 
with "clock=tsc"? Also, does "acpi=off" help any? Was there any changes to your
.config between 2.6.8 and 2.6.9?
Comment 4 Nikolaos Kefalas 2004-12-03 09:37:30 UTC
Created attachment 4209 [details]
2.6.8.1 Kernel Messages
Comment 5 Nikolaos Kefalas 2004-12-03 09:40:45 UTC
Created attachment 4210 [details]
Config File for 2.6.9
Comment 6 Nikolaos Kefalas 2004-12-03 09:54:47 UTC
I tried clock=tsc , there was no difference.
When i disabled ACPI at 2.6.9, the touchpad workded !
The touchpad is working with 2.6.8.1 and ACPI enabled , so the problem may be
related to ACPI and i8042 changes at 2.6.9.

To be sure , i have compiled 2.6.8.1 and 2.6.9 with the same options .
I have posted as attachments 2.6.8.1 kernel messages and my config file for 2.6.9.
Comment 7 Dmitry Torokhov 2004-12-03 12:38:29 UTC
Could you try disabling ACPI EC (embedded controller) support and see if it 
helps? Current EC implementation is known to disable interrupts for a long time.
Comment 8 Nikolaos Kefalas 2004-12-03 15:03:58 UTC
I disabled ACPI EC , but there is still a timeout from i8042.
drivers/input/serio/i8042.c:      -- i8042 (timeout) [509]
The touchpad is not detected :(
Comment 9 Nikolaos Kefalas 2004-12-26 02:26:10 UTC
I tried 2.6.10 , there is the same problem with i8042.c , the touchpad is not
detected.
Comment 10 Nikolaos Kefalas 2004-12-26 02:30:51 UTC
I tried 2.6.10 , there is the same problem with i8042.c , the touchpad is not
detected.
Comment 11 Nikolaos Kefalas 2004-12-26 02:52:07 UTC
I tried 2.6.10 , there is the same problem with i8042.c , the touchpad is not
detected.
Comment 12 Nikolaos Kefalas 2004-12-26 02:53:39 UTC
I tried 2.6.10 , there is the same problem with i8042.c , the touchpad is not
detected.
Comment 13 Johannes Hansen 2005-11-03 22:22:58 UTC
I have the problem with vanilla kernel 2.6.14 on Thinkpad T42.

Using Ubuntu's kernel 2.6.12 touchpad is detected!

Any solution?
Comment 14 Dmitry Torokhov 2005-11-03 22:30:33 UTC
Hmm, I wonder Ubuntu has has usb-handoff activated by default. Does putting 
"usb-handoff" on kernel's boot line help any? 
Comment 15 Adrian Bunk 2006-04-22 05:00:43 UTC
Please reopen this bug if:
- it is still present in kernel 2.6.16 and
- you can provide the requested information.