AnsweredAssumed Answered

i.Mx6 Android wakeup/ resume  after sleep / suspend on KitKat 4.4

Question asked by Bill Butler on Feb 4, 2016
Latest reply on Feb 24, 2016 by Damien Huang

System:

 

Mx6 - Kontron Board &

Mx6  SabreLite / Nitrogen6x Board

Screen: Hdmi

 

Boundary Devices based on  boundary-kk4.4.2_1.0.0-ga / kk-nitrogen6x-20141007.img.gz

 

 

I am trying to figure out how to wakeup my android system after it goes into "deep" sleep mode.. I thought I had this fixed by adding various adds and work around but I am still fighting this..

 

To not muddy the water with my implementation I when back to the Sabrelite/Nitrogen6x original build..

 

Created new nitrogen6x SD:

 

$ cat kk-nitrogen6x-20141007.img | sudo dd bs=1M of=/dev/sdj

 

On Sabrelite/nitrogen6x board

Uboot# env default -a

Reboot.

 

In android settings:

    • Turned off "stay awake " in development options
    • Set display->sleep to 30sec

 

 

Console output:

 

After 30sec...

 

 

request_suspend_state: sleep (0->3) at 615294170076 (1970-01-02 00:09:48.569896404 UTC)

PM: Syncing filesystems ... done.

suspend: start 1 suspend...

suspend: finish 1 suspend after:0.2537666 seconds...

Freezing user space processes ... (elapsed 0.01 seconds) done.

Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Suspending console(s) (use no_console_suspend to debug)

add wake up source irq 100

add wake up source irq 51

PM: suspend of devices complete after 51.124 msecs

PM: late suspend of devices complete after 0.695 msecs

Disabling non-boot CPUs ...

CPU1: shutdown

CPU2: shutdown

CPU3: shutdown

Enabling non-boot CPUs ...

CPU1: Booted secondary processor

Calibrating delay loop (skipped) already calibrated this CPU

i.MXC CPU frequency driver

CPU1 is up

CPU2: Booted secondary processor

Calibrating delay loop (skipped) already calibrated this CPU

i.MXC CPU frequency driver

CPU2 is up

CPU3: Booted secondary processor

Calibrating delay loop (skipped) already calibrated this CPU

i.MXC CPU frequency driver

CPU3 is up

PM: early resume of devices complete after 0.461 msecs

wakeup wake lock: alarm_rtc

imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

remove wake up source irq 51

remove wake up source irq 100

PM: resume of devices complete after 291.861 msecs

Restarting tasks ... done.

suspend: finish 1 suspend after:3.512773928 seconds...

suspend: exit suspend, ret = 0 (1970-01-02 00:09:52.267779666 UTC)

PM: Syncing filesystems ... done.

suspend: start 2 suspend...

suspend: finish 2 suspend after:0.2535333 seconds...

Freezing user space processes ... (elapsed 0.01 seconds) done.

Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Suspending console(s) (use no_console_suspend to debug)

pm_op(): platform_pm_suspend+0x0/0x5c returns -16

PM: Device alarm failed to suspend: error -16

PM: Some devices failed to suspend

PM: resume of devices complete after 60.529 msecs

Restarting tasks ... done.

suspend: finish 2 suspend after:0.146067666 seconds...

suspend: exit suspend, ret = -16 (1970-01-02 00:09:53.012897332 UTC)

PM: Syncing filesystems ... done.

suspend: start 3 suspend...

suspend: finish 3 suspend after:0.2538334 seconds...

Freezing user space processes ... (elapsed 0.01 seconds) done.

Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Suspending console(s) (use no_console_suspend to debug)

 

 

I can not wake it from CONSOLE or mouse on usb or unplugging mouse, or unplugging hdmi.. Sabrelite doesn't have any power or home buttons..

 

I would like to wake up on touch/mouse input or console..

 

Note: In my implementation I have standard bootargs and have added no_console_suspend=1 and it still shuts down..

In my implentation this "hard" shutdown seems to come and go.. Sometime it just goes into a "lite" sleep where the console stays active and touch screen wakes it up.. But often it will do the CPU1: Shutdown and it's DONE..

 

 

Thanks

Bill

Outcomes