-
-
Notifications
You must be signed in to change notification settings - Fork 39.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] RP2040 based keyboard not usable from boot #18511
Comments
Thank you for the report. From a first test it seems like I can reproduce the issue and will investigate further. |
@george-norton So I have found the reason why the RP2040 hard faults and opened a PR on the ChibiOS-Contrib repo ChibiOS/ChibiOS-Contrib#339 Please note that this will not fix the problem with your split keyboard being unresponsive (though it will not be frozen) after boot-up due to QMKs USB detection mechanism to determine which side is the main or secondary half. See |
Thank you for your support. I have cherry picked your fixes and enabled SPLIT_USB_DETECT. The keyboard is still not responsive at boot, but the system does POST more quickly so the behaviour does seem better. I will have a play around with different SPLIT_USB_TIMEOUT values (I have tried 2000 and 2500) when I get a chance. |
Great 🙂, My suggestion would be to start with a fairly high |
Another option to solve the I used a comparator and some resistors on a tiny "daughterboard" PCB to detect if 5V is present on the "USB+" pad on the back side of the KB2040 (unfortunately it is not 0V on the slave side, but 3.3V instead). This tiny PCB attaches to the JST connector of the KB2040 to supply 3V3 and GND to the daughterboard and provide a signal if VBUS is present on GP12. There's probably an easier way to do this if you actually know what you're doing with electronics, but the general idea is to DIY a VBUS detection circuit. |
Fixed by #18566 on develop and root cause fix with ChibiOS/ChibiOS-Contrib#339 which will be merged to develop soonish |
With a longer timeout my desktop is working well. But I still see strange issues with my laptop, but it's not a big issue for me as I usually use my desktop. On my laptop, if the keyboard is connected at boot, the OLED screen draws a few blocks in the top left hand corner, then it stops drawing. The reset button doesn't seem to do anything. By this point the laptop is sitting on the bitlocker password prompt. Once windows boots, pressing a key seems to bring the keyboard to life. |
just FYI, I am having the exact same issue with boardsource/lulu/rp2040 |
@KarlK90 - Yours is the best clue so far to unraveling this mystery for me: I have a WeAct Studio RP2040 board with Schottky diode that lets me use #define USB_VBUS_PIN GP28
#undef SPLIT_USB_DETECT Above is the relevant portion of my keyboard's configuration. Notably, without the undef of I'm using QMK version 0.20.1 (which is newer than #18566) so this issue isn't supposed to happen anymore, but I'm observing the contrary in practice. What can I do to help debug this? I'm writing to you after many failed attempts to solve this via QMK defines. Thanks for your consideration. |
FWIW I still have this with an RP2040 and F411 and QMK 0.22.12. |
I have a kyria rev2 with KB2040 based controllers. When the keyboard is connected to my PC or laptop when they are powered on, the keyboard does not start and the PC does not post until I hit the reset button on the keyboard.
Describe the Bug
I have been able to reproduce the same behaviour by flashing my kyria firmware onto a pi pico board. Using the SWD interface on the pico, I can see that the chip has taken a hard fault and is sitting in the
_unhandled_exception
vector:If I unplug and reconnect the board, it starts normally and the debugger shows the
keyboard_task
running.System Information
Keyboard: Kyria
Revision (if applicable): 2.1
Operating system: Linux (Ubuntu 18.04)
qmk doctor
output:Any keyboard related software installed?
Additional Context
Issue seen both my Dell OptiPlex 7040 and Lenovo ThinkPad X1 6th gen.
My checkout is at d2ce817.
The text was updated successfully, but these errors were encountered: