Servus,
I am working on a project where the Kindle DXG has to operate autonomously in the field. It will be powered by a battery pack, which lets say provide power for several weeks or a month or so. It will will idle most of the time and only wake up every 24h, turn on 3G and download a background image from a server and suspend again.
I know that my project is similar to the online-screensaver, but since the Kindle need to run from external battery the power consumption is big issue.
I run into several issues, and I dont know if they can be solved and/or what is the best solution to achieve my needs. Therefore I ask you to give some hints or suggestions. Below I will list these issues. The software I use is Kindle 2.5.8 on model B009 (dxg).
1) Power consumption: If I attach the DX to a 5V power source over the micro-USB, the kindle never falls into suspend and also consumes around 90mA. This is way to much as an idle current. (I did not tried to change the governor to 'powersave' yet, but expect not to change much.)
I read that
Code:
echo mem > /sys/power/state
is propably not the every thing the kindle does to suspend. What would be the proper command? Anyway, if I do that, the charging LED turns off and I loose USBnet connection. If I measure the current drawn when replug the USB: 1st second ~0.8mA, then 1-2 second long ~8mA and afterwards 90mA. So kindle seems to suspend.
2) Wake from suspend: As soon as the Kindle in suspend, I can not wake him up anymore. Cron does not trigger anything anymore. Does anyone knows if the Kindle DXG is able to use its RTC as a wake up trigger? There is not a /sys/class/rtc/rtc0/wakealarm file (like it is on a Kindle 3). But there is the Lipc property com.lab126.powerd rtcWakeup, which is supposed to be writeable. But I can not set the value, does anyone has some knowlegde about the Kindle 2 rtc?
Code:
# lipc-set-prop -i com.lab126.powerd rtcWakeup 300
com.lab126.powerd failed to set value for property rtcWakeup (0x100)
Code:
lipc-send-event com.lab126.powerd rtcWakeup -i 300
Failed to open LIPC
com.lab126.powerd failed to send event rtcWakeup
(could it be, that the rtcWakeup property can be only set, when Kindle is in 'Ready for suspend' state, like the deferSuspend property?
http://www.mobileread.com/forums/sho...t=defersuspend)
3) WAN: How to properly start and stop the WAN connection. There are several ways to do it, which one is the most suited one? What are the differences?
Code:
lipc-set-prop com.lab126.wan startWan 1
lipc-set-prop com.lab126.wan stopWan 1
or
Code:
wancontrol wanon
wancontrol wanoff
or
Code:
wancontrol devicewake
wancontrol pppstart
wancontrol pppstop
wancontrol devicesleep
I have some ideas as a solutions for point 1) and 2), but I need to deside which one to follow... (Point 3 is of minor importance in the moment.)
First: Use of an external PIC microcontroller, which manages the charging and wake up: Kindle checks the internal accu and waits until fully charged, Kindle will send a signal through the soundcard/serial port to PIC, Kindle go to sleep. PIC "reattaches" the USB, thus Kindle wake up and start charging. Kindle does the downloading and returns to send the signal to the PIC and suspends again.
Second: External battery will charge internal accu directly (or replace the accu completely). Thus Kindle will fall a sleep on it own, and I dont need to care about charging the lipo at really cold temperatures (I expect up to -20°C ...). On wakeup time, PIC "switches" the power button to wake up Kindle.
Third: Update to software 3.x in hope, that the RTC wakealarm is useable ... Does anyone knows?
Honestly, I really would like to achieve my project with Kindle own functions. I dont want to have an external switching microcontroller. But, yeah, the winter is coming fast and the Kindle display need to go out soon ...
Cheers,
ansman