Bug 100551

Summary: Elantech touchpad usually doesn't get recognized
Product: Drivers Reporter: fqj1994
Component: Input DevicesAssignee: drivers_input-devices
Status: NEW ---    
Severity: normal CC: mirh
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.0.6 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg when touchpad is not recognized
dmesg when the touchpad is recognized

Description fqj1994 2015-06-27 06:52:50 UTC
Created attachment 181041 [details]
dmesg when touchpad is not recognized

Laptop: NEC Lavie Hybrid Zero (Non-Touch)
Distro: ArchLinux
Kernel: 4.0.6-1-ARCH x86_64

The Elantic touchpad on this laptop usually doesn't not get recognized.
But sometimes it does got recognized and works well.

When the touchpad is not recognized, there are usually some problem with something else (maybe the keyboard), that the first try of LUKS paraphrase is always wrong (even though the paraphrase is 1-char long so that I didn't type it wrongly by mistake).
Comment 1 fqj1994 2015-06-27 06:53:29 UTC
Created attachment 181051 [details]
dmesg when the touchpad is recognized
Comment 2 mirh 2016-04-16 16:48:01 UTC
I also have this problem on my ASUS K53U and albeit probabilities for this to happen are quite stable at 20-30% I really can't manage to faithfully reproduce the issue. 
Normal shutdown, rebooting, hard resetting, entering in BIOS or efi shell, repeating the same patterns... nothing seems to definitively rule out (or cause) the problem. It didn't even have a particular dependence on Windows like bug 81331

The only thing I know for sure is that every time it didn't work i8042.debug showed: 

i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
...
i8042: [0] 5a -> i8042 (parameter)
i8042: [0]      -- i8042 (auxerr)

And then AUX port initialization is ditched altogether. 
When everything works instead this manifests:

serio: i8042 AUX port at 0x60,0x64 irq 12
psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x550f00)
psmouse serio1: elantech: Synaptics capabilities query result 0x78, 0x17, 0x0b.
input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input10

Both i8042.kbdreset and i8042.nomux couldn't guarantee 100% flawlessness. 
On the other hand in my testings with i8042.reset I still have to get a single failure after 7 boots. 
I hope it will stand and perhaps it may work for you.
Comment 3 fqj1994 2016-04-19 13:13:53 UTC
I kind of believing this is a firmware bug. Switching to BIOS legacy boot completely resolves my issue. (But I cannot stay at legacy boot for another more years
@mirh, are you on EFI or legacy boot?
Comment 4 mirh 2016-04-19 18:56:23 UTC
Yes, I'm using EFI (and kernel 4.6-rc3 for the records). 

But it seems so weird for legacy boot to fix this. I wonder if it couldn't just be chance over a couple of attempts.
Comment 5 fqj1994 2016-04-19 19:58:08 UTC
I've been on BIOS legacy boot for 4 months and it never happens again on my laptop.
Comment 6 mirh 2016-04-19 20:39:14 UTC
Oh, sorry. Interesting. 
But I wonder if that couldn't simply have something to do with how devices are initialized (e.g. nondeterministic order, ACPI requests) rather than a flaw in the different(?) firmware itself.