I am new to this community, so HI EVERYONE :smileyhappy:.
I am working on an i.MX6S (Solo, without X or Lite) attached to a module attached to a carrier board. It's running Yocto 2.2.3.
I am trying to wake it up from one of the available standby states (freeze/mem/standby) by plugging in an USB Device.
To do so, I have tried to simply enable all available wakeup devices by executing
"for i in $(find /sys/devices/soc0/ -name wakeup);do echo enabled > $i;done", which should enable
"find /sys/devices/soc0/ -name wakeup
/sys/devices/soc0/gpio-keys/power/wakeup
/sys/devices/soc0/soc/1ffc000.pcie/pci0000:00/0000:00:00.0/power/wakeup
/sys/devices/soc0/soc/2000000.aips-bus/20c9000.usbphy/power/wakeup
/sys/devices/soc0/soc/2000000.aips-bus/2000000.spba-bus/2020000.serial/tty/ttymxc0/power/wakeup
/sys/devices/soc0/soc/2000000.aips-bus/20ca000.usbphy/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/21ec000.serial/tty/ttymxc2/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/21e8000.serial/tty/ttymxc1/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/21f0000.serial/tty/ttymxc3/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184000.usb/power/wakeup
/sys/devices/soc0/soc/2100000.aips-bus/2184000.usb/ci_hdrc.0/power/wakeup" (first one has already been enabled by default, it's the board's wake button)
This is the method I've found in several documents** about wakeup on linux in general or, more specific, on Yocto on i.MX6.
But for some reason, it doesn't wake up from freeze or standby when I plug in/out an usb stick or keyboard or press a button on that keybard whose additional wakeup devices I've enabled previously (it adds some on connect).
For "mem" the behaviour is strange: As long as "/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/power/wakeup" is enabled, the board doesn't go asleep (for a noteworthy time). The LEDs just flicker and no "Suspended for *.* seconds" message is given. Also if no external usb devices are connected.
Wakeup_on_serial_Input on the other hand works as expected after "echo enabled > /sys/devices/soc0/soc/2000000.aips-bus/2000000.spba-bus/2020000.serial/tty/ttymxc0/power/wakeup", from freeze/mem/standby.
Do you have any idea what's my mistake or what is wrong and how I can make Wakeup_On_USB_Device_Plug_In work?
Best regards,
Ralf
** The most promising documents were https://community.nxp.com/thread/446856#comments including an i.MX Reference Manual and testing scripts for wake on usb that do the same as I do, and Wakeup from USB on mx6 — Linux USB , a technician of our board/module supplier sent to me. Both basically describe to echo-pipe "enabled" into the wakeup files of several devices.
Hi Ralf
please refer to sect.39.2.4 USB Wakeup Usage
atatched Linux Manual, use software described on
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
I've tried this, for some reason it doesn't work on my board(s)
1st attempt (VBUS and ID only):
"echo enabled > /sys/bus/platform/devices/20c9000.usbphy/power/wakeup
echo enabled > /sys/bus/platform/devices/2184000.usb/power/wakeup
echo enabled > /sys/bus/platform/devices/ci_hdrc.0/power/wakeup
echo mem > /sys/power/state"
*plug in usb-keyboard* --> no reaction
power off, reboot
2nd attempt (remote and connect/disconnect wakeup only):
"echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/1-1/power/wakeup
echo mem > /sys/power/state"
*plug in usb-keyboard* --> no reaction
power off, reboot
3rd attempt (both):
"echo enabled > /sys/bus/platform/devices/20c9000.usbphy/power/wakeup
echo enabled > /sys/bus/platform/devices/2184000.usb/power/wakeup
echo enabled > /sys/bus/platform/devices/ci_hdrc.0/power/wakeup
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/1-1/power/wakeup
echo mem > /sys/power/state"
*plug in usb-keyboard* --> no reaction
Best regards,
Ralf