On Dienstag, 8. September 2020 17:52:17 CEST Ludwig Nussel wrote:
Stefan Brüns wrote:
On Freitag, 4. September 2020 17:43:37 CEST Ludwig Nussel wrote:
Stefan Brüns wrote:
On Freitag, 4. September 2020 14:25:37 CEST Ludwig Nussel wrote:
[...] Looking at "usb info" one can see that the gadget has two
endpoints. One
for input and one for output. Whereas real keyboards and also an
Arduino
pretending to be a keyboard only has an input endpoint. Could that be relevant? I couldn't find how to disable the second endpoint via configfs though.
[...] You may try this patch: https://build.opensuse.org/package/view_file/ home:StefanBruens:branches:hardware:boot/u-boot/0001-usb-kbd-Also-accept- keyboards-with-Interrupt-OUT-end.patch?expand=1
So with your patch and https://build.opensuse.org/package/view_file/home:lnussel:branches:hardware: boot/u-boot/0001-Fix-RPi-2-3-USB-keyboard.patch
I have something similar cooking. Actually, I would avoid the extra CONFIG option and just always use Get_Report for the initial state, and only use the Interrupt pipe for event polling later. Can you try if setting CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE also works? As far as I can see this does not check for a non-empty response, but just creates the queue. Nb, CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is the default for Allwinner SoCs.
it works! Are you planning to send yours upstream?
Yes, definitely, just a matter of limited time. Kind regards, Stefan -- Stefan Brüns / Bergstraße 21 / 52062 Aachen phone: +49 241 53809034 mobile: +49 151 50412019