-
-
Notifications
You must be signed in to change notification settings - Fork 39.6k
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] Waking computer from suspend-to-ram (ACPI S3 sleep) using KC_WAKE doesn’t work #16934
Comments
Without this change, the Teensy 3.6 (with QMK firmware) can wake a computer from Suspend-to-RAM, but the keyboard does not actually produce any keypresses until you un-plug and re-plug it. A similar change was needed for the Teensy 4.x as well: ChibiOS#345 related to qmk/qmk_firmware#16934
Without this change, the Teensy 3.6 (with QMK firmware) can wake a computer from Suspend-to-RAM, but the keyboard does not actually produce any keypresses until you un-plug and re-plug it. A similar change was needed for the Teensy 4.x as well: ChibiOS#345 related to kinx-project/kint#59 related to qmk/qmk_firmware#16934
In the meantime, I set up a different lab setup for testing USB remote wakeup (see kinx-project/kint#59 (comment)) and verified that:
The latter two issues are fixed by ChibiOS/ChibiOS-Contrib#346 and ChibiOS/ChibiOS-Contrib#345, respectively. I’ll close this issue since nothing is wrong in QMK, and the HAL fixes need to go into ChibiOS-Contrib, from where they will eventually trickle into QMK. |
I am also experiencing this on my Boardsource Blok. If you don't mind would you share how you debugged the USB state READY aspects of this? I'm curious if the same issue is happening on my end. |
Sure! I connected a USB-to-serial adapter to the serial console pins of the Teensy, then added a couple of
lib/chibios-contrib/os/hal/ports/MIMXRT1062/LLD/USBHSv1/hal_usb_lld.c
This NXP app note might be interesting to get a general understanding of what is supposed to happen: https://www.nxp.com/docs/en/application-note/AN5385.pdf |
Without this change, the Teensy 3.6 kinT variant can wake a computer from Suspend-to-RAM, but the keyboard does not actually produce any keypresses until you un-plug and re-plug it. related to kinx-project/kint#59 related to qmk#16934
A user reported that with the Teensy 3.6 based kint36 keyboard controller (for the Kinesis Advantage), waking their computer wouldn’t work.
I looked into this a bit, and noticed:
I also tested with the Teensy++ 2.0 based kint2pp keyboard controller, and KC_WAKE doesn’t work there either. Haven’t added serial debug statements to that board yet, though, so I’m not sure if it’s the same symptom.
Any ideas why the device would re-initialize after suspend-to-ram?
When USB devices are plugged into a computer while it’s suspended, I assume they are not enumerated, but should they end up in ChibiOS USB state SUSPENDED?
Describe the Bug
System Information
Keyboard: kint36, kint2pp, possibly others
Revision (if applicable): e1f6fa5
Operating system: Fedora Linux
qmk doctor
output:Any keyboard related software installed?
Additional Context
The text was updated successfully, but these errors were encountered: