I already wrote about my latest toy, the Thinkpad Tablet 10 (TPT10), an Intel Z3795 aka Baytrail based machine. The TPT10 came with Windows 8.1Pro pre installed, which I am trying to get rid of. While playing with Linux on it, which is running somewhat nicely, I found that there is no ACPI state S3 aka suspend to RAM. Strange, for a low power device, one would think?
But Intel had a plan. They envisioned that this architecture would be used in device that would mainly stay in a connected standby state rather than a near power-off. ACPI S3 would usually suspend or turn off most peripherals, also like WiFi, put the DRAM into self refresh and then halt the CPU. Devices with connected standby in turn are expected to keep some peripherals, like WiFi, on and online and that a wake some this standby should happen pretty fast, so that when a data packet comes in through WiFi it can be processed quickly and eventually the machine go back to idle afterwards. This would not work with S3.
These low power idle states are in addition to the normal run state S0 and are called S0i1 to S0i3 (or even more?). These are entered automatically when the CPU and kernel detect that the system is idle. One of the indicators for idle is that the graphics engine is off, i.e. the display is switched off – „xset dpms force off“ will do this. Already then the CPU will enter one of the lower standby states. The highest (power saving) state will be entered when no more interrupts occur and tasks are put to sleep. This can be achieved by „freezing“ the tasks before, e.g. using „echo freeze > /sys/power/state“. A complete standby script would thus look like this
xset dpms force off echo freeze > /sys/power/state xset dpms force on
Unfortunately this does not work – yet. A „freeze“ does exactly what it is called, it freezes my TPT10 completely and it will not wake up anymore 🙁 I did check for wakeup sources but I can not find any config option and the power button is already configure as a wake up source.
Strange.
I got my hands on a kernel of a Z3735F based tablet running Android 5 and will try to get this to somewhat work on the TPT10. Looking at the source I already found that it contains a lot of additional Baytrail drivers and modifications – made by Intel! I wonder why they do not push those upstream?
But not having a S3 state concerns me a bit. I also updates the Windows to Win10 and see that even in Windows 10 the tablet consumes ~1% battery per hour. This would give the device a standby time of 4.16 days – without any productivity. This is, to me, alarming, this is not what I would expect and wish for, I am a little disappointed.