What can I set/customize (modifying kernel codes if necessary) so that SABRE imx6q (acting as a USB HID device) will generate wake-up signals?
I have a SABRE (imx6q) board running linux kernel 4.1, and use configfs on SABRE to simulate a HID gadget. Using an OTG cable to connect to my Windows PC, I can simulate mouse moving/clicking and keyboard typing from SABRE. However, when putting my Windows PC to sleep, I cannot wake it up from SABRE by any mouse/keyboard activities.
- on SABRE: I have set bmAttributes to 0xa0 (bus powered and remote wakeup enabled)
- on Windows PC: I have "Allow this device to wake the computer" selected
If I plug in a normal mouse and/or keyboard to Windows PC, I can wake my Windows PC. But plugging in the SABRE simulated HID I can't. The UDC used by SABRE is ci_hdrc.0.
Any help will be greatly appreciated.
~ Yuangao
PS: to add more info that I just found out: /dev/hidgX devices become blocked when my Windows PC gets in sleep. I'm imaging that if /dev/hidgX is still taking data during remote PC's sleep, and somehow trigger sending wake-up signals to PC. Please advise how do achieve such. Thanks.
Solved! Go to Solution.
Hello,
You may try to use USB Gadget API for Linux
https://www.kernel.org/doc/htmldocs/gadget/
In particular - the wake-up function.
https://www.kernel.org/doc/htmldocs/gadget/API-usb-gadget-wakeup.html
https://www.kernel.org/doc/htmldocs/gadget/core.html
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you, Yuri. This is the API I was looking for. I've also found the answer somewhere else, and an alternative way to such is "echo 1 > /sys/devices/.../srp".
~yuangao
Hello,
You may try to use USB Gadget API for Linux
https://www.kernel.org/doc/htmldocs/gadget/
In particular - the wake-up function.
https://www.kernel.org/doc/htmldocs/gadget/API-usb-gadget-wakeup.html
https://www.kernel.org/doc/htmldocs/gadget/core.html
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------