[Community] [Gta04-owner] GTA04 power management [was: About cost and business models for community hardware]

Neil Brown neilb at suse.de
Sat Oct 3 05:16:52 CEST 2015


"H. Nikolaus Schaller" <hns at goldelico.com> writes:
>
> Could you share a complete description of your setup? So that it is reproducible?
> I.e. which kernel, which user space, command to suspend/wakeup, boot loader
> version, how you measure suspend current etc.
>
My test board in a GTA04A3, though my GTA04A4 shows much the same sort
of numbers.

User space is Debian/testing ... possibly with a bit of
Debian/experimental (it is listed in my sources.list but I don't
remember why).

I have a few of my own tools running, but they are all idle while I test
power usage.
So screen is blank, sound is off, GPS is off etc.  There is no SIM card
and I haven't tried to access the GSM module at all.

I use the following script while connected to the serial console.
The script disables RS-232 (as the sucks several mA) and turns of the
power source (my board is powered via a 5V source on the 'AC' pins of
the serial connector).
Then it checks the battery, suspends for 5 minutes (default), wakes up
and checks the power usage.
I run that several times and discard the outliers.

With a 4.2 kernel at:
   http://git.neil.brown.name/?p=gta04.git;a=shortlog;h=refs/heads/4.2-gta04
I get numbers like:

46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
46967 uA over 301 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47124 uA over 300 seconds
47281 uA over 299 seconds
47281 uA over 299 seconds
47600 uA over 297 seconds


With the 3.7 kernel
 http://git.neil.brown.name/?p=gta04.git;a=shortlog;h=refs/heads/3.7-gta04
I get:

21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21420 uA over 300 seconds
21709 uA over 296 seconds
23556 uA over 300 seconds
23568 uA over 300 seconds
36420 uA over 300 seconds
36420 uA over 300 seconds


Disabling the RS-232 doesn't work on my 3.7 kernel (because the required
GPIO isn't exported by the board file) so I have to unplug the RS-232 to
get proper reading there, but I could easily fix that.

I'd be interested to hear what other people measure.
If you don't have a serial port connected you probably need to arrange
some way to start in from the touch-screen, and then make sure the
screen turns off.

NeilBrown

Script is:
#!/bin/sh

# disable charging, suspend for 5 minutes and report apparent
# power usage by monitoring battery.

power1=/sys/class/power_supply/twl4030_usb/mode
power2=/sys/class/power_supply/twl4030_ac/mode
chg=/sys/class/power_supply/bq27000-battery/charge_now
rs232=/sys/class/gpio/gpio13/value
rs232dir=/sys/class/gpio/gpio13/direction
delay=${1-300}
[ -f $rs232 ] || { echo 13 > /sys/class/gpio/export; echo high > $rs232dir;}

stty raw -echo -cread
echo 0 > $rs232
echo off > $power1
echo off > $power2
before=`cat $chg`
start=`date '+%s'`
echo $[start+delay] > /sys/class/rtc/rtc0/wakealarm
echo mem > /sys/power/state
after=`cat $chg`
end=`date '+%s'`
echo 1 > $rs232
stty sane
echo auto > $power1
echo auto > $power2

echo $[(before-after)*3600/(end-start)] uA over $[end-start] seconds
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/community/attachments/20151003/90e43808/attachment.asc>


More information about the Community mailing list