A quick update regarding
Idle Shutdown
@Slater91 @acroyear
We have received the complaint the idle shutdown failure earlier on, we tested and confirmed it works in our lab, so we didn't investigate it seriously, then we receive the complaint
again, therefore we conducted a thorough test and notice that the problem only exist in international version firmware, no wonder our engineer couldn't replicate the problem at Zhuhai.
Unfortunately, after our detail analysis and tracking, the problem was traced all the way back to the GCM service, or GCM_CONN_ALARM in Google service specifically. Google Cloud Messaging (commonly referred to as GCM) is a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, (see
here), unfortunately it has been reported that the GCM_CONN_ALARM will trigger a wakelock, stop the Android device from going into sleep or idle and drain the battery (see
here,
here and
here).
We have monitor the wakelock in N5ii and N5iiS in close detail and noticed that most wakelock will be release instantly and the player will remain idle all the way through, but GCM_CONN_ALARM will hold the wakelock, consumed current that is large enough to wake up the N5ii from idle.
This is part of the log in our test:
04:39:20.389: idle
04:39:56.148 Wake up by Google
04:39:56.161 idle
04:43:49.232 Wake up by Google (~3 m 54s )
04:43:49.234 idle
04:51:35.385 Wake up by Google (~7m 46s)
04:51:35.392 idle
05:04:42.022 Wake up by Google (13m 07s)
So the GCM_CONN_ALARM is random and might vary from one machine to the other. A third party app might trigger a GCM and when you remove the app, the GCM most likely will left behind. In this particular example, if we set the idle shutdown to 10 minutes, it will be triggered by the first two GCM and then powered off before the third wakelock comes in, so shutdown at around 20 minutes. If we set the idle shutdown to 5 minutes, it should shutdown at 9 minutes instead (3m54s + 5m).
We cannot terminate the GCM_CONN_ALARM service, and the Audio Priority mode will not be able to kill the service. We know there are off-the-shelf "Wakelock terminator" app in the market, most of them will only work for Application Wakelock but not very effective for Kernal Wakelock. We'll look into that but we are not optimistic that we can implement this in our firmware. For the meantime, the only way out is to set the Idle shutdown to a shorter time. Sorry for unable to get this sorted out even we have identified the problem.
PS. The problem was raised in the Technical support thread, but I think the result affect a lot of users, so I respond here instead.