Categories
Linux

Using Kindle’s ePaper

Since I didn’t use my kindle (very often I was looking for an alternative use case for it. However to make this device usable for other purposes than the intended ones it had to be jailbreaked.

Documentation about this process can be found here:
Jailbreak, Tools (Snapshots)

My device was identified as “Kindle PaperWhite 3 (2015) WiFi (PW3)” (by S/N: G090G1…, s. wiki.mobileread.com).

After installing the jailbreak I also added the USBNetwork Hack in order to make the Kindle accessible via ssh. Once this is done, connect the Kindle to your PC via USB. On the Linux machine a new network device “usb0” should be detected. The default IP address of the kindle seems to be pre-configured as 192.168.15.244, so let’s choose another IP of that subnet on our linux machine:

linux> sudo ip a a 192.168.15.201/24 dev usb0

Connecting to your Kindle is as easy as (use empty password):

linux> ssh root@192.168.15.244

Welcome to Kindle!

root@192.168.15.244's password: 
#################################################
#  N O T I C E  *  N O T I C E  *  N O T I C E  # 
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@kindle root]# uname -a
Linux kindle 3.0.35-lab126 #2 PREEMPT Fri Sep 25 23:12:57 UTC 2020 armv7l GNU/Linux

[root@kindle root]# cat /proc/cpuinfo 
Processor	: ARMv7 Processor rev 10 (v7l)
BogoMIPS	: 790.16
Features	: swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc09
CPU revision	: 10

Hardware	: Freescale i.MX 6SoloLite based Wario Board
Revision	: 60000
Serial		: "G090G10123456789"
BoardId		: "0670709123456789"

Discussion about power saving can be found in the mobileread forum.

How to turn your Kindle into a weather station display can be found on github. Basically it uses a SVG template to define a display layout and replaces certain text elements with real values:

<...>
cat template.svg | sed -e s+__TIME__+"$(date +"%H:%M")"+g >  output.svg
rsvg-convert --background-color=white -o output.png output.svg
pngcrush -c 0 -ow output.png
<...>

The resulting image can then be copied to your Kindle. To display it simply use eips (first clear screen, then display image):

[root@kindle us]# eips -c
update_to_display: update_mode=PARTIAL, wave_mode=2 inverted=0
[root@kindle us]# eips -g /tmp/clock_out.png 
update_to_display: update_mode=PARTIAL, wave_mode=2 inverted=0

Leave a Reply

Your email address will not be published. Required fields are marked *