Topic: maximizing battery life (sleep/hibernate mode?)

Is there a way to programatically put the chumby into a sleep mode that minimizes power usage (to maximize battery life).  Powering it down entirely isn't an option[1] but at least it seems like it should be possible to turn off the backlight, mute the speaker, and disable wifi. 

I'm guessing there isn't any built-in way to do any of this so I what I'm really asking for I guess is advise on how to do any/all this. 

[1] unless you can come up with a way to get from startup to mounting /mnt/storage and being able to run mplayer in around 3 seconds.

Re: maximizing battery life (sleep/hibernate mode?)

Not currently, no.  Early on there was kind of a fake sleep-like state it would go into where the backlight and most other power-draining devices were turned off when the power button was pressed and all processes were frozen, and then everything was thawed and re-enabled when the power button was pressed again.  We got rid of this because it made it impossible to turn off, and really confused users who were used to pressing the power button twice to reboot it.  Remnants still remain in the power management code, but the means of getting into this "sleep" state aren't enabled.

Of course, the ideal way to go about doing it would be to fix the kernel so that suspend and resume work.

But if you just want a quick-and-dirty hack to greatly lower power usage by quite a bit, you can just manually shut off parts of the chip with regutil, and set the clock speed to 64 MHz:

regutil -w HW_PWM_CTRL_CLR=0x4 # Shut off backlight PWM
amixer set DAC off && amixer set Speaker off # Shut off speaker and DAC
regutil -w HW_PINCTRL_DOUT0_CLR=0x00001000 # Turn off LOCAL_5V_ON, which shuts down power to USB
echo 64000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # Set minimum CPU speed to 64 MHz
echo 64000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed # Set CPU speed to 64 MHz

Then, to "unthaw" everything, run:

regutil -w HW_PINCTRL_DOUT0_SET=0x00001000 # Turn on LOCAL_5V_ON, which enables USB power
echo 454740 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed # Set CPU speed to 454 MHz
amixer set DAC on && amixer set Speaker on # Enable speaker and DAC
regutil -w HW_PWM_CTRL_SET=0x4 # Enable backlight
start_network # Re-associate with network

Re: maximizing battery life (sleep/hibernate mode?)

Awesome!