From: "Diederik de Haas" <diederik@cknow-tech.com>
To: "Alan Stern" <stern@rowland.harvard.edu>
Cc: "USB mailing list" <linux-usb@vger.kernel.org>,
<linux-rockchip@lists.infradead.org>
Subject: Re: Track down EHCI and companion errors on rk3xxx systems
Date: Tue, 13 Jan 2026 22:15:59 +0100 [thread overview]
Message-ID: <DFNRUF2LUPH4.1493G2SYERZ7Q@cknow-tech.com> (raw)
In-Reply-To: <b9041d32-1eab-4428-ab2b-769daefdbdcd@rowland.harvard.edu>
On Tue Jan 13, 2026 at 5:22 PM CET, Alan Stern wrote:
> On Tue, Jan 13, 2026 at 05:16:05PM +0100, Diederik de Haas wrote:
>> On Tue Jan 13, 2026 at 4:47 PM CET, Alan Stern wrote:
>> > Is this repeatable?
>>
>> It doesn't happen every time, but it did actually happen another time.
>> After that test, I shutdown the device and unplugged the keyboard
>> adapter. Then I powered on the device and waited till it had completed
>> the boot process.
>> Logged in via SSH, retrieved my usual boot process data (what you saw in
>> my 'paste' starting with ``uname -a``) and then did ``dmesg -W``.
>>
>> Then I plugged in my keyboard adapter in the bottom port and noticed it
>> didn't work (straight away). This time I waited, pressed various keys on
>> my keyboard, turned the keyboard off and on again, pressed some more
>> keys ... and after ~20 (or 30?) seconds, my keyboard started to work.
>> When I then switched back to my SSH session, I saw dmesg had (then)
>> printed messages indicating it saw the adapter plugged in and ``lsusb``
>> did see the device.
>>
>> But that ~20 seconds is key here. Normally I would conclude that "it
>> doesn't work" after (say) >5 seconds of nothing happening.
>>
>> > If it is, try doing the following. After a fresh boot, log in via SSH
>> > and turn on dynamic debugging for USB:
>> >
>> > echo module usbcore =p >/sys/kernel/debug/dynamic_debug/control
>> >
>> > and clear the kernel's log buffer:
>> >
>> > dmesg -C
>> >
>> > Then plug the keyboard adapter into the non-working bottom USB2 port and
>> > wait a short time (say, 30 seconds).
>> >
>> > Then get a copy of the dmesg output and post it here. Also, check to
>> > see whether the keyboard is working. In fact, you should check the
>> > keyboard during that 30-second wait, so you will know just how long the
>> > delay was before it started working.
>>
>> I'll try doing the SSH session via my laptop, which
>> hopefully allows timings to be closer (but likely still not precise).
>
> Exact timing isn't important. An approximate number that can be
> compared with the log is what we want.
I'm now wondering if there's something wrong with the Quartz64-A ...
I already thought that it took way too long before I got a login prompt.
In my first attempt I noticed I did NOT have the "Warning! ehci_hcd
should always be loaded before uhci_hcd and ohci_hcd, not after"
It took so long I forgot to keep counting, but most of all I forgot the
dynamic debug command, so I tried again ...
This time I did the dynamic debug command and the above "Warning!" was
present. Plugged in the keyboard adapter, started a stopwatch on my
phone and monitored the ``dmesg -W`` for any changes ...
It took slightly more then a MINUTE for anything to appear in dmesg :-O
```
root@quartz64a:~# dmesg -W
[ 357.343890] usb usb4: usb wakeup-resume
[ 357.343970] usb usb4: usb auto-resume
[ 357.344023] hub 4-0:1.0: hub_resume
[ 357.344243] usb usb4-port1: status 0501 change 0001
[ 357.446845] hub 4-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 357.447094] usb usb4-port1: status 0501, change 0000, 480 Mb/s
[ 357.510889] hub 4-0:1.0: port_wait_reset: err = -16
[ 357.510909] usb usb2: usb wakeup-resume
[ 357.510956] usb usb4-port1: not enabled, trying reset again...
[ 357.510980] usb usb2: usb auto-resume
[ 357.586708] hub 2-0:1.0: hub_resume
[ 357.586936] usb usb2-port1: status 0101 change 0001
[ 357.690841] hub 2-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 357.691090] usb usb2-port1: status 0101, change 0000, 12 Mb/s
[ 357.714843] usb usb4-port1: not reset yet, waiting 200ms
[ 357.874717] usb 2-1: new full-speed USB device number 2 using ohci-platform
[ 357.918838] usb usb4-port1: not reset yet, waiting 200ms
[ 358.082679] usb 2-1: ep0 maxpacket = 32
[ 358.087855] usb 2-1: skipped 1 descriptor after interface
[ 358.087926] usb 2-1: skipped 1 descriptor after interface
[ 358.089798] usb 2-1: default language 0x0409
[ 358.093839] usb 2-1: udev 2, busnum 2, minor = 129
[ 358.093904] usb 2-1: New USB device found, idVendor=1997, idProduct=2433, bcdDevice= 1.06
[ 358.094803] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 358.095481] usb 2-1: Product: mini keyboard
[ 358.095889] usb 2-1: Manufacturer:
[ 358.097629] usb 2-1: usb_probe_device
[ 358.097691] usb 2-1: configuration #1 chosen from 1 choice
[ 358.099335] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
[ 358.100603] usb 2-1: adding 2-1:1.1 (config #1, interface 1)
[ 358.101371] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 358.126129] usb usb4-port1: not reset yet, waiting 200ms
[ 358.203797] hid: raw HID events driver (C) Jiri Kosina
[ 358.227055] usbhid 2-1:1.0: usb_probe_interface
[ 358.227080] usbhid 2-1:1.0: usb_probe_interface - got id
[ 358.231307] usbhid 2-1:1.1: usb_probe_interface
[ 358.231331] usbhid 2-1:1.1: usb_probe_interface - got id
[ 358.236333] usbcore: registered new interface driver usbhid
[ 358.236850] usbhid: USB HID core driver
[ 358.267050] input: mini keyboard as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.0/0003:1997:2433.0001/input/input2
[ 358.326722] usb usb4-port1: not reset yet, waiting 200ms
[ 358.326992] hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 358.327125] usb usb4-port1: status 0100, change 0001, 12 Mb/s
[ 358.368453] hid-generic 0003:1997:2433.0001: input,hidraw0: USB HID v1.01 Keyboard [ mini keyboard] on usb-fd8c0000.usb-1/input0
[ 358.372573] input: mini keyboard Mouse as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input3
[ 358.376787] input: mini keyboard System Control as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input4
[ 358.432171] input: mini keyboard Consumer Control as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input5
[ 358.434480] hid-generic 0003:1997:2433.0002: input,hidraw1: USB HID v1.01 Mouse [ mini keyboard] on usb-fd8c0000.usb-1/input1
[ 358.455095] usb usb4-port1: debounce total 100ms stable 100ms status 0x100
[ 358.455209] hub 4-0:1.0: hub_suspend
[ 358.455285] usb usb4: bus auto-suspend, wakeup 1
^C
root@quartz64a:~# lsusb -tv
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
ID 1d6b:0001 Linux Foundation 1.1 root hub
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
ID 1d6b:0001 Linux Foundation 1.1 root hub
|__ Port 001: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 1997:2433 Shenzhen Riitek Technology Co., Ltd wireless mini keyboard with touchpad
|__ Port 001: Dev 002, If 1, Class=Human Interface Device, Driver=usbhid, 12M
ID 1997:2433 Shenzhen Riitek Technology Co., Ltd wireless mini keyboard with touchpad
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
```
HTH,
Diederik
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: "Diederik de Haas" <diederik@cknow-tech.com>
To: "Alan Stern" <stern@rowland.harvard.edu>
Cc: "USB mailing list" <linux-usb@vger.kernel.org>,
<linux-rockchip@lists.infradead.org>
Subject: Re: Track down EHCI and companion errors on rk3xxx systems
Date: Tue, 13 Jan 2026 22:15:59 +0100 [thread overview]
Message-ID: <DFNRUF2LUPH4.1493G2SYERZ7Q@cknow-tech.com> (raw)
In-Reply-To: <b9041d32-1eab-4428-ab2b-769daefdbdcd@rowland.harvard.edu>
On Tue Jan 13, 2026 at 5:22 PM CET, Alan Stern wrote:
> On Tue, Jan 13, 2026 at 05:16:05PM +0100, Diederik de Haas wrote:
>> On Tue Jan 13, 2026 at 4:47 PM CET, Alan Stern wrote:
>> > Is this repeatable?
>>
>> It doesn't happen every time, but it did actually happen another time.
>> After that test, I shutdown the device and unplugged the keyboard
>> adapter. Then I powered on the device and waited till it had completed
>> the boot process.
>> Logged in via SSH, retrieved my usual boot process data (what you saw in
>> my 'paste' starting with ``uname -a``) and then did ``dmesg -W``.
>>
>> Then I plugged in my keyboard adapter in the bottom port and noticed it
>> didn't work (straight away). This time I waited, pressed various keys on
>> my keyboard, turned the keyboard off and on again, pressed some more
>> keys ... and after ~20 (or 30?) seconds, my keyboard started to work.
>> When I then switched back to my SSH session, I saw dmesg had (then)
>> printed messages indicating it saw the adapter plugged in and ``lsusb``
>> did see the device.
>>
>> But that ~20 seconds is key here. Normally I would conclude that "it
>> doesn't work" after (say) >5 seconds of nothing happening.
>>
>> > If it is, try doing the following. After a fresh boot, log in via SSH
>> > and turn on dynamic debugging for USB:
>> >
>> > echo module usbcore =p >/sys/kernel/debug/dynamic_debug/control
>> >
>> > and clear the kernel's log buffer:
>> >
>> > dmesg -C
>> >
>> > Then plug the keyboard adapter into the non-working bottom USB2 port and
>> > wait a short time (say, 30 seconds).
>> >
>> > Then get a copy of the dmesg output and post it here. Also, check to
>> > see whether the keyboard is working. In fact, you should check the
>> > keyboard during that 30-second wait, so you will know just how long the
>> > delay was before it started working.
>>
>> I'll try doing the SSH session via my laptop, which
>> hopefully allows timings to be closer (but likely still not precise).
>
> Exact timing isn't important. An approximate number that can be
> compared with the log is what we want.
I'm now wondering if there's something wrong with the Quartz64-A ...
I already thought that it took way too long before I got a login prompt.
In my first attempt I noticed I did NOT have the "Warning! ehci_hcd
should always be loaded before uhci_hcd and ohci_hcd, not after"
It took so long I forgot to keep counting, but most of all I forgot the
dynamic debug command, so I tried again ...
This time I did the dynamic debug command and the above "Warning!" was
present. Plugged in the keyboard adapter, started a stopwatch on my
phone and monitored the ``dmesg -W`` for any changes ...
It took slightly more then a MINUTE for anything to appear in dmesg :-O
```
root@quartz64a:~# dmesg -W
[ 357.343890] usb usb4: usb wakeup-resume
[ 357.343970] usb usb4: usb auto-resume
[ 357.344023] hub 4-0:1.0: hub_resume
[ 357.344243] usb usb4-port1: status 0501 change 0001
[ 357.446845] hub 4-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 357.447094] usb usb4-port1: status 0501, change 0000, 480 Mb/s
[ 357.510889] hub 4-0:1.0: port_wait_reset: err = -16
[ 357.510909] usb usb2: usb wakeup-resume
[ 357.510956] usb usb4-port1: not enabled, trying reset again...
[ 357.510980] usb usb2: usb auto-resume
[ 357.586708] hub 2-0:1.0: hub_resume
[ 357.586936] usb usb2-port1: status 0101 change 0001
[ 357.690841] hub 2-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 357.691090] usb usb2-port1: status 0101, change 0000, 12 Mb/s
[ 357.714843] usb usb4-port1: not reset yet, waiting 200ms
[ 357.874717] usb 2-1: new full-speed USB device number 2 using ohci-platform
[ 357.918838] usb usb4-port1: not reset yet, waiting 200ms
[ 358.082679] usb 2-1: ep0 maxpacket = 32
[ 358.087855] usb 2-1: skipped 1 descriptor after interface
[ 358.087926] usb 2-1: skipped 1 descriptor after interface
[ 358.089798] usb 2-1: default language 0x0409
[ 358.093839] usb 2-1: udev 2, busnum 2, minor = 129
[ 358.093904] usb 2-1: New USB device found, idVendor=1997, idProduct=2433, bcdDevice= 1.06
[ 358.094803] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 358.095481] usb 2-1: Product: mini keyboard
[ 358.095889] usb 2-1: Manufacturer:
[ 358.097629] usb 2-1: usb_probe_device
[ 358.097691] usb 2-1: configuration #1 chosen from 1 choice
[ 358.099335] usb 2-1: adding 2-1:1.0 (config #1, interface 0)
[ 358.100603] usb 2-1: adding 2-1:1.1 (config #1, interface 1)
[ 358.101371] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 358.126129] usb usb4-port1: not reset yet, waiting 200ms
[ 358.203797] hid: raw HID events driver (C) Jiri Kosina
[ 358.227055] usbhid 2-1:1.0: usb_probe_interface
[ 358.227080] usbhid 2-1:1.0: usb_probe_interface - got id
[ 358.231307] usbhid 2-1:1.1: usb_probe_interface
[ 358.231331] usbhid 2-1:1.1: usb_probe_interface - got id
[ 358.236333] usbcore: registered new interface driver usbhid
[ 358.236850] usbhid: USB HID core driver
[ 358.267050] input: mini keyboard as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.0/0003:1997:2433.0001/input/input2
[ 358.326722] usb usb4-port1: not reset yet, waiting 200ms
[ 358.326992] hub 4-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 358.327125] usb usb4-port1: status 0100, change 0001, 12 Mb/s
[ 358.368453] hid-generic 0003:1997:2433.0001: input,hidraw0: USB HID v1.01 Keyboard [ mini keyboard] on usb-fd8c0000.usb-1/input0
[ 358.372573] input: mini keyboard Mouse as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input3
[ 358.376787] input: mini keyboard System Control as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input4
[ 358.432171] input: mini keyboard Consumer Control as /devices/platform/fd8c0000.usb/usb2/2-1/2-1:1.1/0003:1997:2433.0002/input/input5
[ 358.434480] hid-generic 0003:1997:2433.0002: input,hidraw1: USB HID v1.01 Mouse [ mini keyboard] on usb-fd8c0000.usb-1/input1
[ 358.455095] usb usb4-port1: debounce total 100ms stable 100ms status 0x100
[ 358.455209] hub 4-0:1.0: hub_suspend
[ 358.455285] usb usb4: bus auto-suspend, wakeup 1
^C
root@quartz64a:~# lsusb -tv
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
ID 1d6b:0001 Linux Foundation 1.1 root hub
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
ID 1d6b:0001 Linux Foundation 1.1 root hub
|__ Port 001: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 1997:2433 Shenzhen Riitek Technology Co., Ltd wireless mini keyboard with touchpad
|__ Port 001: Dev 002, If 1, Class=Human Interface Device, Driver=usbhid, 12M
ID 1997:2433 Shenzhen Riitek Technology Co., Ltd wireless mini keyboard with touchpad
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
```
HTH,
Diederik
next prev parent reply other threads:[~2026-01-13 21:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-03 16:52 Track down EHCI and companion errors on rk3xxx systems Alan Stern
2026-01-13 13:35 ` Diederik de Haas
2026-01-13 13:35 ` Diederik de Haas
2026-01-13 15:47 ` Alan Stern
2026-01-13 15:47 ` Alan Stern
2026-01-13 16:16 ` Diederik de Haas
2026-01-13 16:16 ` Diederik de Haas
2026-01-13 16:22 ` Alan Stern
2026-01-13 16:22 ` Alan Stern
2026-01-13 21:15 ` Diederik de Haas [this message]
2026-01-13 21:15 ` Diederik de Haas
2026-01-14 3:20 ` Alan Stern
2026-01-14 3:20 ` Alan Stern
2026-01-14 14:59 ` Diederik de Haas
2026-01-14 14:59 ` Diederik de Haas
2026-01-14 15:19 ` Alan Stern
2026-01-14 15:19 ` Alan Stern
2026-01-14 15:41 ` Diederik de Haas
2026-01-14 15:41 ` Diederik de Haas
2026-01-14 16:07 ` Alan Stern
2026-01-14 16:07 ` Alan Stern
2026-01-14 17:31 ` Diederik de Haas
2026-01-14 17:31 ` Diederik de Haas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DFNRUF2LUPH4.1493G2SYERZ7Q@cknow-tech.com \
--to=diederik@cknow-tech.com \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.