Quantcast
Channel: MobileRead Forums - Kindle Developer's Corner
Viewing all articles
Browse latest Browse all 4457

Kindle touch suspend levels, and how to sleep while maintaining SSH

$
0
0
Hi everyone,

I wanted to make my Kindle change its screensaver every 3 hours or so. I tried using cron, then I found that it doesn't work because the Kindle went to sleep.

After meddling for a few hours with powerd, I discovered that Kindle has 4 power levels: Active, Screen Saver, Ready to suspend, and sleep.

Active stays on for 10 minutes, Screen Saver stays on for 1 minute, and Ready to suspend stays on for 5 seconds. See log:

Code:

[root@kindle root]# /usr/bin/powerd_test -s
Powerd state: Active
Remaining time in this state: 581.725642
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s
Powerd state: Screen Saver
Remaining time in this state: 56.331120
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s
Powerd state: Screen Saver
Remaining time in this state: 0.984457
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s
Powerd state: Ready to suspend
Remaining time in this state: 4.947582
defer_suspend:0
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

My SSH connection will not drop as long as the state is Active, Screen Saver or Ready to Suspend. In any of these modes, I can wake up the Kindle up using "lipc-set-prop com.lab126.powerd wakeUp 1".

com.lab126.powerd has a property called deferSuspend that is supposed to change the amount of time left in the "Ready to Suspend" state. When you run it in Active or Screen Saver state, it gives the error:

com.lab126.powerd failed to set value for property deferSuspend (0x8 lipcErrNoSuchProperty)

I discovered that the property can only be set DURING THE READY TO SUSPEND STATE. That means after 11 minutes of leaving your Kindle alone you have a 5 second window to change the time left in "Ready to Suspend" state. See my logs:

Code:

csuspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

com.lab126.powerd failed to set value for property deferSuspend (0x8 lipcErrNoSu                                                                                        chProperty)
[root@kindle root]# /usr/bin/powerd_test -s; lipc-set-prop com.lab126.powerd def
erSuspend 1000
^[[APowerd state: Screen Saver
Remaining time in this state: 0.124960
defer_suspend:0
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

com.lab126.powerd failed to set value for property deferSuspend (0x8 lipcErrNoSu                                                                                        chProperty)
[root@kindle root]# /usr/bin/powerd_test -s; lipc-set-prop com.lab126.powerd def
erSuspend 1000
Powerd state: Ready to suspend
Remaining time in this state: 4.070775
defer_suspend:0
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s; lipc-set-prop com.lab126.powerd def
erSuspend 1000
Powerd state: Ready to suspend
Remaining time in this state: 999.684285
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s; lipc-set-prop com.lab126.powerd def
erSuspend 3000000
Powerd state: Ready to suspend
Remaining time in this state: 995.529458
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]# /usr/bin/powerd_test -s; lipc-set-prop com.lab126.powerd def
erSuspend 3000000
Powerd state: Ready to suspend
Remaining time in this state: 2999997.991570
defer_suspend:1
suspend_grace:0
prevent_screen_saver:0
drive_mode:unknown
Battery Level: 88%
Last batt event at: 88%
Charging: No
batt_full=0
Battery logging: On

[root@kindle root]#

This means I can put my Kindle in perpetual low-power mode while displaying a nice picture on the screen.

Cheers!

Viewing all articles
Browse latest Browse all 4457

Trending Articles