Bug 69731

Summary: Touchpad doesn't work on Fujitsu U574 laptop (needs i8042.notimeout)
Product: Drivers Reporter: Jason Robinson (mail)
Component: Input DevicesAssignee: Hans de Goede (jwrdegoede)
Status: CLOSED CODE_FIX    
Severity: normal CC: alan, dmitry.torokhov, jwrdegoede, mat.jonczyk, pprog, raphael.huck
Priority: P1    
Hardware: All   
OS: Linux   
URL: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1274549
Kernel Version: 3.13.0-35 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg without either option
dmesg with notimeout
[PATCH] i8042: Add Fujitsu U574 to no_timeout dmi table
dmesg without notimeout with debug
dmesg with notimeout with debug
dmi log for LIFEBOOK AH544
[PATCH] i8042: Add notimeout quirk for Fujitsu Lifebook A544 and Lifebook AH544

Description Jason Robinson 2014-01-30 15:48:15 UTC
Touchpad isn't recognized after clean Ubuntu 13.10 install on Fujitsu U574 laptop. Running 'cat /proc/bus/input/devices' shows:

Name="ImPS/2 Generic Wheel Mouse"

Added GRUB params as per bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1244634:

To /etc/default/grub, add to GRUB_CMDLINE_LINUX_DEFAULT:
i8042.notimeout i8042.nomux

And then:

sudo update-grub && sudo reboot

This solves the issue, touchpad now works after reboot and after suspend.

Ubuntu 13.10 x86_64
Kernel: linux-image-3.11.0-15-generic 3.11.0-15.23

dmi.bios.date: 10/07/2013
dmi.bios.vendor: FUJITSU // Phoenix Technologies Ltd.
dmi.bios.version: Version 1.21
dmi.board.name: FJNBB34
dmi.board.vendor: FUJITSU
dmi.chassis.type: 10
dmi.chassis.vendor: FUJITSU
dmi.modalias: dmi:bvnFUJITSU//PhoenixTechnologiesLtd.:bvrVersion1.21:bd10/07/2013:svnFUJITSU:pnLIFEBOOKU574:pvr:rvnFUJITSU:rnFJNBB34:rvr:cvnFUJITSU:ct10:cvr:
dmi.product.name: LIFEBOOK U574
dmi.sys.vendor: FUJITSU

ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.11.0-15-generic.efi.signed root=/dev/mapper/ubuntu--vg-root ro quiet splash i8042.notimeout i8042.nomux vt.handoff=7
Comment 1 Dmitry Torokhov 2014-02-04 16:54:09 UTC
I do not believe there is 'notimout' option...
Comment 2 raphaelh 2014-05-22 09:49:03 UTC
(In reply to Dmitry Torokhov from comment #1)
> I do not believe there is 'notimout' option...

Yes there is: http://lxr.free-electrons.com/source/drivers/input/serio/i8042.c#L66
Comment 3 Hans de Goede 2014-06-17 07:12:06 UTC
Jason,

Thanks for the bug report. This means we need to add a quirk for your model laptop to the kernel.

Do you really need both options? Have you tried with just nomux or just notimout ?

Regards,

Hans
Comment 4 Mateusz Jończyk 2014-07-31 14:35:57 UTC
We could check here 
http://lxr.free-electrons.com/source/drivers/input/serio/i8042.c#L634
if the mux specification version is 1.1 or 1.0.
That way we could eliminate many false positives.

The last version of the mux spec was written in 1999 so it is a safe bet that no hardware will report any other version.
Comment 5 Mateusz Jończyk 2014-07-31 14:37:07 UTC
Haiku does that (didn't read the code, just saw something suggesting it in Google Search results for "ps2 multiplexing specification").
Comment 6 Mateusz Jończyk 2014-07-31 14:41:21 UTC
Could You provide a dmesg?
Comment 7 Hans de Goede 2014-07-31 14:43:25 UTC
(In reply to Mateusz Jończyk from comment #6)
> Could You provide a dmesg?

There is a dmesg in the ubuntu bug, but it has nomux=1 on the commandline.

Jason,

Can you please provide the output of "dmesg" directly after boot when booted without the nomux option. Also can you please answer my question from comment #3 ?

Thanks,

Hans
Comment 8 Mateusz Jończyk 2014-07-31 17:24:53 UTC
OK, I have searched in Google for 
"Detected active multiplexing controller, rev site:bugzilla.kernel.org"
and do not find any reports of reported mux versions other then 1.1 and 1.0.

This modification as I proposed may be useful, though.
Comment 9 Jason Robinson 2014-09-02 07:32:49 UTC
I'm extremely sorry for replying slowly.

Anyway, adding dmesg without either nomux or notimeout and then *with* i8042.notimeout.

in the first case (vanilla setup), touchpad doesn't work. In the second case touchpad works. So it seems there is no need for 'nomux'.
Comment 10 Jason Robinson 2014-09-02 07:33:14 UTC
Created attachment 149021 [details]
dmesg without either option
Comment 11 Jason Robinson 2014-09-02 07:33:34 UTC
Created attachment 149031 [details]
dmesg with notimeout
Comment 12 Hans de Goede 2014-09-02 07:45:11 UTC
Created attachment 149041 [details]
[PATCH] i8042: Add Fujitsu U574 to no_timeout dmi table

Jason,

Thanks for the testing. Any chance you could build a kernel with the attached patch, and then see if things work without specifying anything on the kernel commandline ?

No worries if you cannot do so, then I'll just send the patch upstream as is, as it basically should work fine.

Regards,

Hans
Comment 13 Mateusz Jończyk 2014-09-02 08:18:02 UTC
Jason, any dmesg without i8042.debug=1 is basically useless to us.
Could You send us patches with this option?
Comment 14 Jason Robinson 2014-09-03 08:16:06 UTC
Created attachment 149121 [details]
dmesg without notimeout with debug
Comment 15 Jason Robinson 2014-09-03 08:16:36 UTC
Created attachment 149131 [details]
dmesg with notimeout with debug
Comment 16 Jason Robinson 2014-09-03 08:18:44 UTC
(In reply to Mateusz Jończyk from comment #13)
> Jason, any dmesg without i8042.debug=1 is basically useless to us.
> Could You send us patches with this option?

Attached.

(In reply to Hans de Goede from comment #12)
> Thanks for the testing. Any chance you could build a kernel with the
> attached patch, and then see if things work without specifying anything on
> the kernel commandline ?

I'll try to free some time to do that this week if possible. Thanks for working on the patch!
Comment 17 Mateusz Jończyk 2014-09-03 10:48:02 UTC
Hans,
Would it make sense to ignore the timeout bit all the time, on all devices?
We are usually quite quick to read the data from 8042.
Comment 18 Hans de Goede 2014-09-03 14:12:38 UTC
(In reply to Mateusz Jończyk from comment #17)
> Hans,
> Would it make sense to ignore the timeout bit all the time, on all devices?
> We are usually quite quick to read the data from 8042.

I'm not familiar enough with i8042 code to answer that I'm afraid.
Comment 19 SPROg 2014-10-23 09:39:29 UTC
Fujitsu Lifebook AH544 also have this problem =(

notimeout is needed
Comment 20 Hans de Goede 2014-10-23 09:42:53 UTC
(In reply to Andrey from comment #19)
> Fujitsu Lifebook AH544 also have this problem =(
> 
> notimeout is needed

So we will need a quirk for that model too, can you please do:

sudo dmidecode > dmi.log

And attach the generated dmi.log file here ?

Thanks,

Hans
Comment 21 SPROg 2014-10-23 09:57:03 UTC
Created attachment 154601 [details]
dmi log for LIFEBOOK AH544

Manufacturer: FUJITSU
Product Name: LIFEBOOK AH544
Comment 22 Hans de Goede 2014-10-24 09:40:11 UTC
Created attachment 154771 [details]
[PATCH] i8042: Add notimeout quirk for Fujitsu Lifebook A544 and Lifebook AH544
Comment 23 Hans de Goede 2014-10-24 09:40:57 UTC
(In reply to SPROg from comment #21)
> Created attachment 154601 [details]
> dmi log for LIFEBOOK AH544
> 
> Manufacturer: FUJITSU
> Product Name: LIFEBOOK AH544

Thanks, I've send the patch which I've just attached upstream, this should make future kernels automatically do the right thing.