
Hi Filip,
On Wed, 18 Jan 2023 at 09:03, Filip Žaludek filip.zaludek@oracle.com wrote:
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?
(please try to avoid top-posting)
You can use a USB quirk to handle this.
Marek do you have any thoughts here?
Regards, Simon
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/96991e65...
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/tumbl... (u-boot-rpiarm64-2022.10-1.1.aarch64)