On 02/20/2015 02:41 PM, Pali Rohár wrote:
On Friday 20 February 2015 20:56:23 Mario Limonciello wrote:
I have BIOS version A05 on my E6440 machine. That version does
not have problems with "repeating keys" and my workaround for
ALPS touchpad (which is in mainline tree and -stable trees now)
works fine. If I do not see other problems, I will not update
BIOS (just because current version working -- with workarounds).

But CCing Rob. He told me as first about existence of new BIOS
version for E6440 and he is already testing new version of BIOS,
so can share details.

Mario, can you share some details about that new BIOS update? If
it is not secret, how was problem with "repeating keys" fixed?
Why linux had more problems as Windows? Cannot we implement some
"workaround" in linux kernel to prevent that (or similar)
problems in future?

It's a bit ironic really.  The problem was introduced because a timer was added to the EC 
last year to fix a key repeating problem found on Windows.  In doing so the EC was 
blocking "BREAK" from being sent to the OS.  Windows OS didn't mind this, but 
Linux did. The fix doesn't block BREAK anymore.

resetafter=0 means to never reset (even if driver receive e.g
thousand invalid packets). I think this is very dangerous if
there will be other bugs either in linux driver or some other HW
problems.

For ALPS issue I added resetafter = pktsize * 2 (Allow 2 invalid
packets without resetting device). Cannot you find something
similar for synaptics touchpads on XPS? (pktsize for ALPS is 6,
no idea how big are synaptics packets).
I'll take a look and see if there's an upper limit I can find for this that 
works well enough.
Older Dell HW (laptops, desktops, servers) supported BIOS update
directly from Linux (ubuntu has needed tools in standard
repositories). It is not supported/provided anymore? I see that
dell_rbu driver is still in linux kernel.

dell_rbu.ko:
description:    Driver for updating BIOS image on DELL systems
Servers can (and I believe still do) use this method.  Latitude, Precision and 
XPS 13 (2015) do still support RBU for flashing but the BIOS executables no 
longer are distributed in a format that the payload can simply be extracted and 
flashed this way.  The executable supports a variety of firmware targets and 
custom builds the payload for the machine it's being executed upon.  Until we 
have a better method to do something similar to this in Linux, the best bet is 
to use the F12 BIOS boot menu to perform the flash if it's supported on  the 
given machine.

There is problem with some synaptics touchpad on some laptops
(probably not dell). Windows driver loads own firmware into
synaptics touchpad which use different protocol (as original
firmware in touchpad). And that loaded firmware is active until
laptop is not shut down. When you reboot from Windows to Linux
then linux kernel driver refuse to identify & use touchpad
because it does not support that new firmware loaded by
Windows... I do not know lot of about this problem, I just heard
about it from other people. I did not see any laptop "in action".

Ah, so it's a special interface that's implemented in the Synaptics Windows 
driver.  As described above this sounds like a stop gap type solution to 
resolve a field problem until the firmware can be implemented into manufactured 
parts.  I'd suspect that people who purchased the same model of this computer 
later might run into problems without warm booting as the firmware got updated 
into the manufacturer's factory.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to