Hi Michal,
thanks for testing! Do you consider keyboard as working once it is detected
without
'usb_kbd usb_kbd: Timeout poll on interrupt endpoint', or judging from
subsequent
typing? Note that issue is reproducible only in about 20% of reboots.
For me I can always enter 'U-Boot>' shell, but then keyboard usually does not
work.
And yes, resetting the usb controller with pressing a key afterwards will
finally break the keyboard. ('usb reset' typed from keyboard)
If you are Prague located I am ready to demonstrate what I am talking about.
Simon's keyboard detection is somewhat interfered by 'SanDisk USB Extreme Pro'
detection,
printed complaints but keyboard still works..
'usb_kbd usb_kbd: Timeout poll on interrupt endpoint' and 'Failed to get
keyboard state from device 0c40:8000'
Btw. why from 0c40:8000 (ELMCU 2.4GHz receiver) when wired keyboard is
046d:c31c (Logitech Keyboard K120)?
What is supposed scenario for RPi3/u-boot/grub usb keyboard equipped users
wanting to boot non-default?
Enter 'U-Boot>' shell to detect keyboard; type boot; select desired grub
entry..?
Reverting either from the two makes it non issue for me:
'dwc2: use the nonblock argument in submit_int_msg'
commit 9dcab2c4d2cb50ab1864c818b82a72393c160236
'console: usb: kbd: Limit poll frequency to improve performance'
commit 96991e652f541323a03c5b7e075d54a117091618
What will be attitude on this, should we try to bring workaround preserving
both patches?
Regards,
Filip
On 1/17/23 19:46, Michal Suchánek wrote:
Hello,
On Sat, Dec 17, 2022 at 01:49:47PM +0100, Filip Žaludek wrote:
Hello,
change seems to be unfriendly to RPi3B+, it allows to enter 'U-Boot>' shell
but usb keyboard
does not respond. Keyboard is detected by 'usb info' in v2023.01-rc3, not in
v2022.10.
When reverted, usb keyboard works as expected.
Anybody sitting front of RPi3B+ care to confirm?
For me an USB keyboard connected to a Raspberry Pi 3B+ is only detected
when something is typed during the probe.
The message
usb_kbd usb_kbd: Timeout poll on interrupt endpoint
is a sign of nothing typed on the keyboard and then it does not work.
It is limitation of the dwc2 hardware with hardwired USB hub.
Same on both v2022.10 & v2023.01 rpiarm64 and rpi_3 configs.
Thanks
Michal
Regards,
Filip
Patch:
https://urldefense.com/v3/__https://github.com/u-boot/u-boot/commit/96991e652f541323a03c5b7e075d54a117091618__;!!ACWV5N9M2RV99hQ!J3bR4ePIrYCcbqK8Zd5qG9y4yP6W_sNqMV0BhlIJqrwImk8KRkbMK8K5tzXHZU3BZ3ai6k7v25WDUCtgOBMVk8o$
Debug:
USB KBD: found interrupt EP: 0x81
USB KBD: set boot protocol
dwc2_submit_control_msg: dev='usb@7e980000', udev=000000003af4be00,
udev->dev='usb_kbd', portnr=3
USB KBD: set idle interval...
dwc2_submit_control_msg: dev='usb@7e980000', udev=000000003af4be00,
udev->dev='usb_kbd', portnr=3
USB KBD: enable interrupt pipe...
usb_kbd usb_kbd: Timeout poll on interrupt endpoint
Tested:
SW: v2022.10 & v2023.01-rc3 compiled from sources as 'rpiarm64'
HW: USB 1.1 and 2.0 keyboards, RPi3B+
JeOS:
https://urldefense.com/v3/__http://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSUSE-Tumbleweed-ARM-JeOS-raspberrypi.aarch64-2022.10.11-Snapshot20221112.raw.xz__;!!ACWV5N9M2RV99hQ!J3bR4ePIrYCcbqK8Zd5qG9y4yP6W_sNqMV0BhlIJqrwImk8KRkbMK8K5tzXHZU3BZ3ai6k7v25WDUCtgKPUw0V8$
(u-boot-rpiarm64-2022.10-1.1.aarch64)