Hello,
Are there any instructions for downloading/building Android 4.2.2 with functional suspend/resume on BeagleBone Black?
I am working on BeagleBone Black with LCD7 cape. I have tried using following releases of Android 4.2.2:
- Prebuilt TI_Android_JB_4_2_2_DevKit_4_1_1 release (from here)
- Compiled JellybeanOnBeaglebone_WithSGX (from here)
- Prebuilt image from Circuitco (from here)
However, none of these releases has functional suspend/resume. Below is what I was able to do.
With TI and Rowboat release (kernel version 3.2), when I press ENTER button on the LCD7 cape, screen turns off.
If I press the ENTER button again, or touch the screen, within a second or two after screen gets turned off, the screen turns on again. Here are messages from dmesg:
[ 72.187835] request_suspend_state: sleep (0->3) at 72134653765 (2000-01-01 00:01:10.336853329 UTC) [ 72.997985] request_suspend_state: wakeup (3->0) at 72944803910 (2000-01-01 00:01:11.146972956 UTC)
If I wait some time (as far as I can see, it depends on how long the board has been working; if it has been working for couple of minutes, it takes around 3 seconds, if it has just been turned on, it can take up to 10 seconds), then whatever I do (press the ENTER button, or touch/press the screen) gives me no result, the board hangs and I have to reset it. Here are messages from dmesg:
[ 205.330780] request_suspend_state: sleep (0->3) at 205277836810 (2000-01-01 00:14:38.484549459 UTC) [ 213.109710] PM: Syncing filesystems ... done. [ 213.192901] Freezing user space processes ... (elapsed 0.01 seconds) done. [ 213.216094] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done. [ 213.235992] Suspending console(s) (use no_console_suspend to debug)
If I start pressing the screen as soon as I see messages above, than after couple of seconds, suspend gets aborted and screen turns on again. Here are messages from dmesg:
[ 165.641906] request_suspend_state: sleep (0->3) at 165588109612 (2000-01-01 00:02:43.875452920 UTC) [ 165.751312] PM: Syncing filesystems ... done. [ 165.866973] Freezing user space processes ... (elapsed 0.01 seconds) done. [ 165.887054] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done. [ 165.906829] Suspending console(s) (use no_console_suspend to debug) [ 171.051330] LCD Controller timed out [ 171.052551] sched: RT throttling activated [ 171.061218] PM: suspend of devices complete after 5147.003 msecs [ 171.065368] omap_hwmod: adc_tsc: _wait_target_disable failed [ 171.066772] active wake lock event0-316, time left 346 [ 171.066802] active wake lock event1-316, time left 498 [ 171.066864] pm_noirq_op(): platform_pm_suspend_noirq+0x0/0x50 returns -11 [ 171.066894] PM: Device power.0 failed to suspend late: error -11 [ 171.067749] PM: early resume of devices complete after 0.823 msecs [ 171.068023] PM: Some devices failed to power down [ 171.212432] net eth0: CPSW phy found : id is : 0x7c0f1 [ 171.213195] PHY 0:01 not found [ 171.237518] PM: resume of devices complete after 169.433 msecs [ 171.309204] Restarting tasks ... done. [ 171.481475] suspend: exit suspend, ret = -11 (2000-01-01 00:02:49.715022012 UTC) [ 171.574920] request_suspend_state: wakeup (3->0) at 171521123528 (2000-01-01 00:02:49.808466836 UTC)
On the other hand, the release from Circuitco (kernel version 3.8) has blank /sys/power/state file, and when I press POWER button on the LCD7 cape, screen only turns black (doesn't even turn off), and nothing else happens.
I tried using the TI's release with regular BeagleBone, and it behaves as expected: after I press ENTER key and screen turns off, no matter how much time passes, after I touch the screen, the screen turns on and board is functional. Here is the dmesg:
<6>[ 424.619537] request_suspend_state: sleep (0->3) at 398807885455 (2000-01-01 00:07:03.264914820 UTC) <6>[ 424.803466] PM: Syncing filesystems ... done. <7>[ 424.809967] PM: Preparing system for mem sleep <4>[ 424.811187] Freezing user space processes ... (elapsed 0.01 seconds) done. <4>[ 424.834838] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done. <7>[ 424.854583] PM: Entering mem sleep <4>[ 424.854644] Suspending console(s) (use no_console_suspend to debug) <3>[ 429.867309] LCD Controller timed out <6>[ 429.876708] PM: suspend of devices complete after 5014.617 msecs <6>[ 429.878753] PM: late suspend of devices complete after 1.953 msecs <6>[ 432.608459] GFX domain entered low power state <6>[ 432.608520] Successfully transitioned all domains to low power state <6>[ 432.812347] PM: early resume of devices complete after 203.338 msecs <6>[ 432.821960] wakeup wake lock: event0-328 <6>[ 432.939941] net eth0: CPSW phy found : id is : 0x7c0f1 <3>[ 432.941528] PHY 0:01 not found <6>[ 432.964752] PM: resume of devices complete after 151.660 msecs <7>[ 433.019165] PM: Finishing wakeup. <4>[ 433.019195] Restarting tasks ... <6>[ 433.053039] request_suspend_state: wakeup (3->0) at 404511488614 (2000-01-01 00:07:11.088594855 UTC) <4>[ 433.101379] done. <6>[ 433.122680] suspend: exit suspend, ret = 0 (2000-01-01 00:07:11.158249111 UTC)
Thank you for your help!
Strahinja Jankovic