[External] : Re: [PATCH v3] console: usb: kbd: Limit poll frequency to improve performance
Simon Glass
sjg at chromium.org
Mon Dec 19 20:20:40 CET 2022
Hi Filip,
On Mon, 19 Dec 2022 at 02:29, Filip Žaludek <filip.zaludek at oracle.com> wrote:
>
>
>
> Hi Simon,
>
> is your testing framework connected to HDMI? Only notable discrepancy
> from generic config is enabled 'efidebug' command.
>
>
> Tested more (cycled 'U-Boot>' and 'reset'), both RPi3B and RPi3B+..
> USB Keyboard failure rates:
> connected console 02/10
> connected hdmi 06/10
> connected console + hdmi 07/10
> ** USB Keyboard always detected by 'usb info', just does not respond.
>
> USB Keyboard failure rates, reverted 96991e652f541323a03c5b7e075d54a117091618:
> connected console + hdmi 00/10
Yes this one does have HDMI. Are you wanting me to run multiple runs?
With or without the display?
Regards,
Simon
>
>
>
> Just to note subsequent Grub2 menu redraw to my 180x50 console terminal
> is about 5x faster when hdmi disconnected.
>
>
>
> Thanks for testing!
> Regards,
> Filip
>
>
>
> FW: rpi-firmware-20220830-1.0.1.el8.noarch
> Revision: 9bd3d354a1a0712ac27c717df9ad60566b0406ee
>
>
>
>
>
>
>
> On 12/17/22 23:24, Simon Glass wrote:
> > Hi Filip,
> >
> > On Sat, 17 Dec 2022 at 05:50, Filip Žaludek <filip.zaludek at oracle.com> 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?
> >>
> >>
> >> Regards,
> >> Filip
> >>
> >>
> >>
> >>
> >>
> >> Patch:
> >> https://urldefense.com/v3/__https://github.com/u-boot/u-boot/commit/96991e652f541323a03c5b7e075d54a117091618__;!!ACWV5N9M2RV99hQ!MunypRlNhelLw1nrbbLFCTeZK2pCAlIH_WPhgvmgFhfy3wJnPA5titNwl3o2fkc-mCqWAgJxjjc1sSD1$
> >>
> >>
> >> Debug:
> >> USB KBD: found interrupt EP: 0x81
> >> USB KBD: set boot protocol
> >> dwc2_submit_control_msg: dev='usb at 7e980000', udev=000000003af4be00,
> >> udev->dev='usb_kbd', portnr=3
> >> USB KBD: set idle interval...
> >> dwc2_submit_control_msg: dev='usb at 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!MunypRlNhelLw1nrbbLFCTeZK2pCAlIH_WPhgvmgFhfy3wJnPA5titNwl3o2fkc-mCqWAgJxjkilUmrv$
> >> (u-boot-rpiarm64-2022.10-1.1.aarch64)
> >>
> >>
> >
> > This seems to work on current master:
> >
> > do-try-int.sh rpi3
> > Revision 9bd3d354a1a0712ac27c717df9ad60566b0406ee, board rpi3
> >
> > Checking revision 9bd3d354a1a0712ac27c717df9ad60566b0406ee
> > /vid/software/devel/ubtest
> > tbot starting ...
> > ├─Parameters:
> > │ rev = '9bd3d354a1a0712ac27c717df9ad60566b0406ee'
> > │ clean = False
> > ├─Calling uboot_build_and_flash ...
> > │ ├─Calling uboot_build ...
> > │ │ ├─Calling uboot_checkout ...
> > │ │ │ ├─Builder: rpi3
> > │ │ │ └─Done. (0.181s)
> > │ │ ├─Configuring build ...
> > │ │ ├─Calling uboot_make ...
> > │ │ │ └─Done. (1.504s)
> > │ │ └─Done. (2.178s)
> > │ ├─Calling uboot_flash ...
> > │ │ ├─Calling copy ...
> > │ │ │ └─Done. (0.004s)
> > │ │ └─Done. (1.119s)
> > │ └─Done. (3.663s)
> > ├─────────────────────────────────────────
> > └─SUCCESS (3.799s)
> > tbot starting ...
> > ├─Calling interactive_board ...
> > │ ├─POWERON (rpi3)
> > │ ├─Entering interactive shell (CTRL+D to exit) ...
> >
> >
> > U-Boot 2023.01-rc3-00057-g9bd3d354a1a (Dec 17 2022 - 15:23:14 -0700)
> >
> > DRAM: 992 MiB
> > RPI 3 Model B (0xa22082)
> > Core: 66 devices, 14 uclasses, devicetree: embed
> > MMC: mmc at 7e202000: 0, mmc at 7e300000: 1
> > Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
> > In: serial
> > Out: vidconsole
> > Err: vidconsole
> > Net: No ethernet found.
> > starting USB...
> > Bus usb at 7e980000: USB DWC2
> > scanning bus usb at 7e980000 for devices... usb_kbd usb_kbd: Timeout poll
> > on interrupt endpoint
> > Failed to get keyboard state from device 0c40:8000
> > 6 USB Device(s) found
> > scanning usb for storage devices... 1 Storage Device(s) found
> > Hit any key to stop autoboot: 0
> > U-Boot> usb info
> > 1: Hub, USB Revision 1.10
> > - U-Boot Root Hub
> > - Class: Hub
> > - PacketSize: 8 Configurations: 1
> > - Vendor: 0x0000 Product 0x0000 Version 0.0
> > Configuration: 1
> > - Interfaces: 1 Self Powered 0mA
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 1
> > - Class Hub
> > - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms
> >
> > 2: Hub, USB Revision 2.0
> > - Class: Hub
> > - PacketSize: 64 Configurations: 1
> > - Vendor: 0x0424 Product 0x9514 Version 2.0
> > Configuration: 1
> > - Interfaces: 1 Self Powered Remote Wakeup 2mA
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 1
> > - Class Hub
> > - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
> > - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms
> >
> > 3: Human Interface, USB Revision 1.10
> > - Logitech USB Keyboard
> > - Class: (from Interface) Human Interface
> > - PacketSize: 8 Configurations: 1
> > - Vendor: 0x046d Product 0xc31c Version 100.0
> > Configuration: 1
> > - Interfaces: 2 Bus Powered Remote Wakeup 90mA
> > - String: "U64.00_B0001"
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 1
> > - Class Human Interface, Subclass: Boot Keyboard
> > - String: "USB Keyboard"
> > - Endpoint 1 In Interrupt MaxPacket 8 Interval 10ms
> > Interface: 1
> > - Alternate Setting 0, Endpoints: 1
> > - Class Human Interface, Subclass: None
> > - String: "USB Keyboard"
> > - Endpoint 2 In Interrupt MaxPacket 4 Interval 255ms
> >
> > 4: Human Interface, USB Revision 0.1
> > - QDtech MPI5001 ?
> > - Class: (from Interface) Human Interface
> > - PacketSize: 64 Configurations: 1
> > - Vendor: 0x0483 Product 0x5750 Version 2.0
> > Configuration: 1
> > - Interfaces: 1 Bus Powered 64mA
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 1
> > - Class Human Interface, Subclass: None
> > - Endpoint 2 In Interrupt MaxPacket 64 Interval 1ms
> > - Endpoint 2 Out Interrupt MaxPacket 64 Interval 1ms
> >
> > 5: Vendor specific, USB Revision 2.0
> > - Class: Vendor specific
> > - PacketSize: 64 Configurations: 1
> > - Vendor: 0x0424 Product 0xec00 Version 2.0
> > Configuration: 1
> > - Interfaces: 1 Self Powered Remote Wakeup 2mA
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 3
> > - Class Vendor specific
> > - Endpoint 1 In Bulk MaxPacket 512
> > - Endpoint 2 Out Bulk MaxPacket 512
> > - Endpoint 3 In Interrupt MaxPacket 16 Interval 4ms
> >
> > 6: Mass Storage, USB Revision 2.10
> > - SanDisk USB Extreme Pro 513456791960
> > - Class: (from Interface) Mass Storage
> > - PacketSize: 64 Configurations: 1
> > - Vendor: 0x0781 Product 0x5588 Version 1.0
> > Configuration: 1
> > - Interfaces: 1 Self Powered 0mA
> > Interface: 0
> > - Alternate Setting 0, Endpoints: 2
> > - Class Mass Storage, Transp. SCSI, Bulk only
> > - Endpoint 1 In Bulk MaxPacket 512
> > - Endpoint 2 Out Bulk MaxPacket 512
> >
> > U-Boot> hello
> > Unknown command 'hello' - try 'help'
> > U-Boot>
> > │ ├─POWEROFF (rpi3)
> > │ ├─Exiting poweroff
> > │ └─Done. (34.381s)
> > ├─────────────────────────────────────────
> > └─SUCCESS (34.481s)
> >
> > (the 'hello' is typed on the keyboard)
> >
> > Regards,
> > Simon
More information about the U-Boot
mailing list