Looking at the strace output one can see that powerd gets the power button press notification, processes it, and then nothing happens for half a second:
[pid 949] 1430318963.039809 send(3, "<31>Apr 29 16:49:23 powerd[949]: exiting suspend", 48, MSG_NOSIGNAL) = 48 [pid 949] 1430318963.040868 gettimeofday({1430318963, 40921}, NULL) = 0 [pid 949] 1430318963.041289 send(3, "<31>Apr 29 16:49:23 powerd[949]: libsuspend: exit_suspend.", 58, MSG_NOSIGNAL) = 58 [pid 949] 1430318963.042623 open("/sys/power/state", O_WRONLY) = 14 [pid 949] 1430318963.043483 write(14</sys/power/state>, "on", 2 <unfinished ...> <Note: 508 milliseconds delay> [pid 8256] 1430318963.515663 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) [pid 8256] 1430318963.515862 clock_gettime(CLOCK_MONOTONIC, {27280, 493365943}) = 0 [pid 8256] 1430318963.517005 clock_gettime(CLOCK_MONOTONIC, {27280, 493965482}) = 0 [pid 8256] 1430318963.518207 futex(0xaa430c, FUTEX_WAIT, 30, {14, 999399518} <unfinished ...> [pid 971] 1430318963.587966 <... read resumed> "a", 1) = 1 [pid 971] 1430318963.588263 close(7</sys/power/wait_for_fb_wake>) = 0 [pid 971] 1430318963.589699 open("/sys/power/wait_for_fb_sleep", O_RDONLY) = 7 [pid 971] 1430318963.590953 read(7</sys/power/wait_for_fb_sleep>, <unfinished ...> [pid 949] 1430318963.592034 <... write resumed> ) = 2 If you look close enough you can see that pid 949 does a blocking write of the string "on" to /sys/power/state, and this syscall comes back half a second later. Half a second. Exactly the missing time we are looking for. So I pressed the power button to turn off the screen, waited a couple of seconds to allow the system go to sleep, and did the following: root@ubuntu-phablet:~# time echo "on" > /sys/power/state real 0m0.545s user 0m0.000s sys 0m0.000s Something in the kernel seems to take roughly half a second to wake up. I looked at the Documentation/power/states.txt file of the Linux kernel and was am a bit confused: There should be only four valid values one can write to /sys/power/state, namely "mem", "standby", "freeze" and "disk". On the bq phone the file contains "mem disk", so only those two states are available. I found out that "on" seems to be an accepted value on Android kernels only. So the root of the problem my lie in kernel land at the end. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to powerd in Ubuntu. https://bugs.launchpad.net/bugs/1421455 Title: Slow wake up time on physical power button pressed Status in powerd package in Ubuntu: New Status in unity8 package in Ubuntu: Incomplete Bug description: Device: bq Aquaris E4.5 running: Stable #17 When pressing on physical power button on device to wake it up sometime it even takes up to 2-3 secs before anything appears on the screen. This time wary but its hard to tell then its shorter and when is longer. This is not so bad on nexus4. Should you need more info, I'm happy to help. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/powerd/+bug/1421455/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp