All of lore.kernel.org
 help / color / mirror / Atom feed
* USB keyboard occasional key stuck
@ 2014-02-17 13:23 ` Daniel J Blueman
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel J Blueman @ 2014-02-17 13:23 UTC (permalink / raw)
  To: linux-usb, linux-input, Linux Kernel; +Cc: Dmitry Torokhov

Across 5+ years of kernels, I've been seeing occasional (1-2 times per
day) key-stuck issues where eg a fn+delete combo repeats delete until
I press delete again. I've seen this happen with fn+ctrl+left, leaving
left held and likewise with right.

This has occurred on Apple laptops, external USB keyboards and Dell
laptops, so seems like a linux USB input issue, as I haven't seen
occur on Windows or MacOS on the same hardware.

It seems a good move for me to rebuild and run a kernel with some USB
HID instrumentation to locate this issue over time. Without apriori
knowledge of the linux USB input stack, what is a good initial
approach?

Thanks,
  Daniel
-- 
Daniel J Blueman

^ permalink raw reply	[flat|nested] 8+ messages in thread

* USB keyboard occasional key stuck
@ 2014-02-17 13:23 ` Daniel J Blueman
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel J Blueman @ 2014-02-17 13:23 UTC (permalink / raw)
  To: linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-input-u79uwXL29TY76Z2rM5mHXA, Linux Kernel
  Cc: Dmitry Torokhov

Across 5+ years of kernels, I've been seeing occasional (1-2 times per
day) key-stuck issues where eg a fn+delete combo repeats delete until
I press delete again. I've seen this happen with fn+ctrl+left, leaving
left held and likewise with right.

This has occurred on Apple laptops, external USB keyboards and Dell
laptops, so seems like a linux USB input issue, as I haven't seen
occur on Windows or MacOS on the same hardware.

It seems a good move for me to rebuild and run a kernel with some USB
HID instrumentation to locate this issue over time. Without apriori
knowledge of the linux USB input stack, what is a good initial
approach?

Thanks,
  Daniel
-- 
Daniel J Blueman
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
  2014-02-17 13:23 ` Daniel J Blueman
  (?)
@ 2014-02-17 20:11 ` Bruno Prémont
  -1 siblings, 0 replies; 8+ messages in thread
From: Bruno Prémont @ 2014-02-17 20:11 UTC (permalink / raw)
  To: Daniel J Blueman; +Cc: linux-input, linux-usb, Linux Kernel, Dmitry Torokhov

On Mon, 17 February 2014 Daniel J Blueman <daniel@quora.org> wrote:
> Across 5+ years of kernels, I've been seeing occasional (1-2 times per
> day) key-stuck issues where eg a fn+delete combo repeats delete until
> I press delete again. I've seen this happen with fn+ctrl+left, leaving
> left held and likewise with right.
> 
> This has occurred on Apple laptops, external USB keyboards and Dell
> laptops, so seems like a linux USB input issue, as I haven't seen
> occur on Windows or MacOS on the same hardware.
> 
> It seems a good move for me to rebuild and run a kernel with some USB
> HID instrumentation to locate this issue over time. Without apriori
> knowledge of the linux USB input stack, what is a good initial
> approach?

I've seen some similar behavior on servers connected to a KVM switch
(USB keyboard/mouse) where without apparent reason the ENTER key became
pressed and did continuously send repeat events.

Physically touching the KVM keyboard or unbinding&rebinding the HID
keyboard solved the issue (on a console that triggers a busy loop of
agettys on active vt).

I've been tempted to attribute it to the KVM switch doing something
when switching to another server via key-press (yes, some co-worker
as at the KVM terminal when the getty load started).

On the other hand, some other co-worker had "dead keyboard" issues
though only under X, things still worked at console level, for quite
some time now. Annoying but not regular enough to look further into it.


If you want to look at what happens for you, monitoring the USB activity
for your keyboard (in combination with output from event device) might
be the most useful way (it would also catch details on when the USB
side goes into power-saving, if at all).

Bruno

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
  2014-02-17 13:23 ` Daniel J Blueman
  (?)
  (?)
@ 2014-02-18  2:08 ` Clinton Sprain
       [not found]   ` <5302C0B2.9010506-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  -1 siblings, 1 reply; 8+ messages in thread
From: Clinton Sprain @ 2014-02-18  2:08 UTC (permalink / raw)
  To: Daniel J Blueman, linux-usb, linux-input; +Cc: Dmitry Torokhov

I noticed your examples are both fn combos. I'm seeing something like
this and it seems specifically related to the fn key. Reproducible on a
Macbook (3,1) and a Lenovo Yoga 13. Sequence is simple:

Press key
Press fn
Release key
Release fn

The key will be 'stuck' until you press another key. It seems to only
apply to keys that are part of a fn combo, so affected keys vary from
one model to another; it appears that if nothing is mapped to fn+key on
a given hardware, the key is not affected. For example, delete is
affected on the Macbook (which has fn+delete = backspace), but not on
the Yoga (which has a dedicated backspace key). Arrow keys are an
exception to this rule though.

Is this what you're seeing?

- Clinton

On 02/17/2014 07:23 AM, Daniel J Blueman wrote:
> Across 5+ years of kernels, I've been seeing occasional (1-2 times per
> day) key-stuck issues where eg a fn+delete combo repeats delete until
> I press delete again. I've seen this happen with fn+ctrl+left, leaving
> left held and likewise with right.
>
> This has occurred on Apple laptops, external USB keyboards and Dell
> laptops, so seems like a linux USB input issue, as I haven't seen
> occur on Windows or MacOS on the same hardware.
>
> It seems a good move for me to rebuild and run a kernel with some USB
> HID instrumentation to locate this issue over time. Without apriori
> knowledge of the linux USB input stack, what is a good initial
> approach?
>
> Thanks,
>   Daniel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
       [not found]   ` <5302C0B2.9010506-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-02-18  2:21     ` Peter Stuge
  2014-02-18  3:36       ` Daniel J Blueman
  2014-02-21  3:44       ` Daniel J Blueman
  0 siblings, 2 replies; 8+ messages in thread
From: Peter Stuge @ 2014-02-18  2:21 UTC (permalink / raw)
  To: Clinton Sprain
  Cc: Daniel J Blueman, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-input-u79uwXL29TY76Z2rM5mHXA, Dmitry Torokhov

Clinton Sprain wrote:
> I noticed your examples are both fn combos. I'm seeing something like
> this and it seems specifically related to the fn key. Reproducible on a
> Macbook (3,1) and a Lenovo Yoga 13. Sequence is simple:
> 
> Press key
> Press fn
> Release key
> Release fn
> 
> The key will be 'stuck' until you press another key. It seems to only
> apply to keys that are part of a fn combo

Fn is handled by the embedded controller (H8 as per Intel reference
design in case of Macbook or Thinkpad) which has its own closed
firmware which is rarely perfectly bug-free.


//Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
  2014-02-18  2:21     ` Peter Stuge
@ 2014-02-18  3:36       ` Daniel J Blueman
  2014-02-21  3:44       ` Daniel J Blueman
  1 sibling, 0 replies; 8+ messages in thread
From: Daniel J Blueman @ 2014-02-18  3:36 UTC (permalink / raw)
  To: Peter Stuge; +Cc: linux-usb, linux-input, Dmitry Torokhov, Clinton Sprain

On 18 February 2014 10:21, Peter Stuge <peter@stuge.se> wrote:
> Clinton Sprain wrote:
>> I noticed your examples are both fn combos. I'm seeing something like
>> this and it seems specifically related to the fn key. Reproducible on a
>> Macbook (3,1) and a Lenovo Yoga 13. Sequence is simple:
>>
>> Press key
>> Press fn
>> Release key
>> Release fn
>>
>> The key will be 'stuck' until you press another key. It seems to only
>> apply to keys that are part of a fn combo
>
> Fn is handled by the embedded controller (H8 as per Intel reference
> design in case of Macbook or Thinkpad) which has its own closed
> firmware which is rarely perfectly bug-free.

The likelyhood that the root-cause was in an embedded controller was
holding me back from reporting it.

I believe the Mac keyboards use the generic HID driver in Windows, so
it may be that there isn't a device-specific workaround, but maybe a
generic workaround, though I can't reason the mechanism without more
input-stack-fu.

I guess one test hack to confirm our sanity would be to re-read the
key state every 100ms until a matching key-up is received, logging
when it detects a disparity between key state and no key-up
received...?
-- 
Daniel J Blueman

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
  2014-02-18  2:21     ` Peter Stuge
  2014-02-18  3:36       ` Daniel J Blueman
@ 2014-02-21  3:44       ` Daniel J Blueman
  1 sibling, 0 replies; 8+ messages in thread
From: Daniel J Blueman @ 2014-02-21  3:44 UTC (permalink / raw)
  To: linux-usb, linux-input, Dmitry Torokhov, Peter Stuge; +Cc: Clinton Sprain

Peter, Dmitry et al,

This is a real bug that dents the usability of Linux against Windows
or MacOS. We can enable model-specific workarounds, but what approach
would catch phantom stuck keys in the input stack?

On 18 February 2014 10:21, Peter Stuge <peter@stuge.se> wrote:
> Clinton Sprain wrote:
>> I noticed your examples are both fn combos. I'm seeing something like
>> this and it seems specifically related to the fn key. Reproducible on a
>> Macbook (3,1) and a Lenovo Yoga 13. Sequence is simple:
>>
>> Press key
>> Press fn
>> Release key
>> Release fn
>>
>> The key will be 'stuck' until you press another key. It seems to only
>> apply to keys that are part of a fn combo
>
> Fn is handled by the embedded controller (H8 as per Intel reference
> design in case of Macbook or Thinkpad) which has its own closed
> firmware which is rarely perfectly bug-free.
>
>
> //Peter



-- 
Daniel J Blueman

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: USB keyboard occasional key stuck
  2014-02-17 13:23 ` Daniel J Blueman
                   ` (2 preceding siblings ...)
  (?)
@ 2014-02-25 13:51 ` Oliver Neukum
  -1 siblings, 0 replies; 8+ messages in thread
From: Oliver Neukum @ 2014-02-25 13:51 UTC (permalink / raw)
  To: Daniel J Blueman; +Cc: linux-usb, linux-input, Linux Kernel, Dmitry Torokhov

On Mon, 2014-02-17 at 21:23 +0800, Daniel J Blueman wrote:
> Across 5+ years of kernels, I've been seeing occasional (1-2 times per
> day) key-stuck issues where eg a fn+delete combo repeats delete until
> I press delete again. I've seen this happen with fn+ctrl+left, leaving
> left held and likewise with right.

I saw something like this during the development of runtime PM
for HID. It turns out that keyboards don't assert remote wakeup
upon key release.

Just to rule this out can you deactivate runtime PM and recompile
to switch of LPM?

	Regards
		Oliver



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-02-25 13:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-17 13:23 USB keyboard occasional key stuck Daniel J Blueman
2014-02-17 13:23 ` Daniel J Blueman
2014-02-17 20:11 ` Bruno Prémont
2014-02-18  2:08 ` Clinton Sprain
     [not found]   ` <5302C0B2.9010506-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-02-18  2:21     ` Peter Stuge
2014-02-18  3:36       ` Daniel J Blueman
2014-02-21  3:44       ` Daniel J Blueman
2014-02-25 13:51 ` Oliver Neukum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.