Hi community,
Our customer have a question about i.MX6Q Android 5.1.1 BSP.
This BSP sometimes faile to resume from suspend.
Please see the detail as below.
=====
[Board]
MCIMX6Q-SDP
[BSP]
Android 5.1.1_2.1.0-ga
[Problem]
Sometimes fail to resume from suspend.
[Procedure]
1.Boot Android 5.1.1 and set the following bootargs to use serial console.
setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled
2. Suspend Anroid with the following command.
echo mem > /sys/power/state
3. Resume with pushing power switch (SW1).
[Frequency]
Often
[log]
root@sabresd_6dq:/ # echo mem > /sys/power/state
PM: suspend entry 1970-01-01 00:42:12.771037673 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug) // Suspending Done
PM: suspend of devices complete after 66.477 msecs // Push power button to resume
PM: suspend devices took 0.070 seconds
PM: late suspend of devices complete after 0.535 msecs
PM: noirq suspend of devices complete after 0.634 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown
Resume caused by IRQ 103
Suspended for 0.000 seconds
Enabling non-boot CPUs ...
CPU1: Booted secondary processor
CPU1 is up
CPU2: Booted secondary processor
CPU2 is up
CPU3: Booted secondary processor
CPU3 is up
PM: noirq resume of devices complete after 0.392 msecs
PM: early resume of devices complete after 0.454 msecs
PM: resume of devices complete after 131.201 msecs
PM: resume devices took 0.140 seconds
Restarting tasks ... done.
PM: suspend exit 1970-01-01 00:42:16.162975000 UTC
root@sabresd_6dq:/ # ata1: SATA link down (SStatus 0 SControl 300)
mma enable setting inactive
PU: Power-off latency exceeded, new value 29000 ns
PM: suspend entry 1970-01-01 00:42:20.462260334 UTC
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug) // Suspend automatically again with no handling
=====
[Question]
How can I modify this resume problem?
Best Regards,
Satoshi Shimoda
SergioSolis please continue with the follow up
Can we get a log of the system? It may point to what may be not responding to a suspend/resume. My SDB sleeps and resumes without a hiccup so I suspect something with the SDP is causing the resume to not inititate. I can compare their log to my SDB.
It should wake up if they depress the 'power sw' right next to the slider switch.
Hello Satoshi, please see the expert's response:
I have still not been able to reproduce. Do these cards have any mods?
Something on the power rail must not be acquiesed in the senario that does not allow a resume. An ftrace, not a dmesg, may tell us who the culprit is.
This would require you use the ftrace Android has available. A proper ftrace should reveal what process or device is failing to resume.
Dear Sergio,
I tested with SABRE-SDP as I mentioned.
And I could not test with SDB since I don't have SDB.
So could you test with SDP on your side also in order to make the same test environment?
I send the detail of my test environment.
====
[Board]
MCIMX6Q-SDP (SCH-27392 Rev C2, 700-27392 Rev A) and
MCIMX6Q-SDP (SCH-27392 Rev C4, 700-27392 Rev C)
[Chip on the board]
PCIMX6Q6AVT10AC
SBAG2139
P62958 02
KOREA XMAGSBJ
(on SCH-27392 Rev C2)
[BSP]
android_L5.1.1_2.1.0_full_image_6dqsabresd in android_L5.1.1_2.1.0_image_6dqsabresd
[MFG tool]
android_L5.1.1_2.1.0-ga_mfgtools
[Boot]
This issue is occurred with both SD-card boot and eMMC boot.
[Procedure]
1.Boot Android 5.1.1 and set the following bootargs to use serial console.
setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled
2. Set "stay awake" and display sleep time as "30 minites" in setting.
3. Suspend Anroid with the following command.
echo mem > /sys/power/state
4. Resume with pushing power switch (SW1).
=====
And could you let me know how many times did you test with SDB in past, and also whether the image you tested is same as the one I tested or not?
Best Regards,
Satoshi Shimoda