Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Feb 2021 16:20:52 +0000
From:      bugzilla-noreply@freebsd.org
To:        usb@FreeBSD.org
Subject:   [Bug 253249] USB keyboard: repeated and out of order characters
Message-ID:  <bug-253249-19105-PFue0AAW9h@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-253249-19105@https.bugs.freebsd.org/bugzilla/>
References:  <bug-253249-19105@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D253249

--- Comment #5 from janm@transactionware.com ---
(In reply to Hans Petter Selasky from comment #4)

I do not believe they are firmware upgradeable.

A na=C3=AFve reading of the USB trace by just looking at the USB HID key co=
des,
gives me this sequence of events, from the 'c' keyboard down event.

'c' down:
 frame[0] READ 8 bytes
 0000  00 00 06 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:33.960284 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

'c' down, 'o' down:
15:50:33.960285 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 06 12 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:34.000288 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

'c' up, 'o' down:
15:50:34.000289 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 00 12 00 00 00 00  -- -- -- -- -- -- -- --  |........        |

'o' down, 'u' down:
15:50:34.032281 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes
15:50:34.032283 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 18 12 00 00 00 00  -- -- -- -- -- -- -- --  |........        |

'o' up, 'u' down:
15:50:34.064285 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes
15:50:34.064286 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 18 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |

'u' down, 'n' down:
15:50:34.096285 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes
15:50:34.096286 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 18 11 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:34.136286 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

Not sure what this one is (I haven't looked at the protocol spec).
15:50:34.136287 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 01 01 01 01 01 01  -- -- -- -- -- -- -- --  |........        |
15:50:34.149057 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

'u' down, 'n' down, 't' down:
15:50:34.149057 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 18 11 17 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:34.174101 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

'u' up, 'n' down, 't' down:
15:50:34.174101 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 00 11 17 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:34.264291 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

'n' up, 't' down:
15:50:34.264292 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 00 00 17 00 00 00  -- -- -- -- -- -- -- --  |........        |
15:50:34.277144 usbus0.4 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D0=
,IVAL=3D10
 frame[0] READ 8 bytes

Nothing down:
15:50:34.277145 usbus0.4
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D8,IVAL=3D10,ERR=3D0
 frame[0] READ 8 bytes
 0000  00 00 00 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |


That looks like a valid order to me, but I don't know the details of the
protocol. I'm not sure how "counntu" could come from that sequence of event=
s.=20

With the 'u' at the end of the keystrokes that made it to userland, it almo=
st
looks like the packets were processed out of order. Is that possible?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-253249-19105-PFue0AAW9h>