Kindle のディスプレイ応用例 | Rabbit Noteを見てやってみたい!となったのでやった。
ただ家にあったのはKindle Paperwhite 2012でPW1と呼ばれている最初のPaperwhiteで性能的にはだいぶ厳しい。
最初に読むやつ
- Kindle Developer's Corner Master Index (aka. Where Do I Start?) - MobileRead Forums
- Tutorial Open Sesame! (AKA., The New & Improved JailBreak Index) - MobileRead Forums
Kindleの見分け方
PW1に関して
- PW Considering Jailbreak, questions on functionality - MobileRead Forums
- How to Downgrade PW 1 ca from 5.6.1.1 to 5.3.3 and maybe PW2
- Kindle Touch/PW1/PW2 5.0.x - 5.4.4.2 JailBreak. Plus FW 5.x USBNetwork. - MobileRead Forums
いざJailBreak
詰まりどころ
USBを使った有線でのSSH接続時はパスワードが設定されていない。
しかしWiFi経由ではパスワードは必要になる。
そしてデフォルトパスワードは不明なので公開鍵認証を設定するか、パスワードを変更する必要がある。
Windows 10で有線接続を試みてもRNDIS/Ethernet GadgetではなくUSBシリアルデバイスとして認識されてしまう。
Microsoft Update CatalogからAcerのUSB Ethernet/RNDIS Gadgetドライバをインストールするというのが最も無難な対処法のようだ。
Windows 10 vs Remote NDIS - Ethernet USB/Gadget not recognized - Microsoft Communityなどに戦いの記録が残っている。
必要ファイル
Firmware以外は(Tools Snapshots of NiLuJe's hacks - MobileRead Forums)からダウンロードする
- Firmware 5.3.3
- Firmware 5.6.1.1
- K5 JailBreak
- KUAL
- KUAL Helper
- MR Package Installer
- USBNetwork Hack
やったこと
端末のリセット
- メニュー => 設定 => メニュー
5.3.3へのダウングレード
- 機内モードにする
- PCと接続する
update_kindle_5.3.3.bin
を/
にコピーするKindleのアップデートを行う
JailBreak
kindle-5.4-jailbreak.zip
の中身を/
にコピーするKindleのアップデートを行う
5.6.1.1へのアップグレード
update_kindle_5.6.1.1.bin
を/
にコピーするKindleのアップデートを行う
- 機内モードをオフにする
KUAL
KUAL-KDK-2.0.azw2
を/documents/
にコピーする
KUAL Helper
extensions
を/
にコピーする
MR Package Installer
extensions
,mrpackages
を/
にコピーする
USBNetwork
Update_usbnet_0.22.N_install_touch_pw.bin
を/mrpackages/
にコピーするInstall MR Packages
(KUAL => Helper+)Toggle USBNetwork
(KUAL => USBNetwork)
通信周りの設定
Linuxならifconfig usb0 192.168.15.201
、 macOSならネットワーク => RNDIS/Ethernet GadgetのIPアドレスを192.168.15.201
に設定する。
ssh root@192.168.15.244 curl -s https://github.com/ebith.keys | tee -a /mnt/us/usbnet/etc/authorized_keys
適当なタイミングでKUALのUSBNetworkからAllow SSH over WiFi
しておく。
不要なサービスを止める
キオスクモード化するスクリプトをKUAL => Helper+から呼べるようにする。
電源長押しで再起動すると元に戻る。
mkdir /mnt/us/extensions/kiosk tee /mnt/us/extensions/kiosk/config.xml << EOM > /dev/null <?xml version="1.0" encoding="UTF-8"?> <extension> <information> <name>Kiosk mode</name> <version>1.0</version> <author>ebith</author> <id>kioskmode</id> </information> <menus> <menu type="json" dynamic="true">menu.json</menu> </menus> </extension> EOM tee /mnt/us/extensions/kiosk/menu.json << EOM > /dev/null { "items":[ { "name":"Helper", "priority":-998, "items":[ { "name":"Enable Kiosk Mode", "action":"./bin.sh", "priority":-997, "exitmenu":true, "refresh":true } ] } ] } EOM tee /mnt/us/extensions/kiosk/bin.sh << EOM > /dev/null #!/bin/sh initctl stop powerd initctl stop framework lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "default_status_bar", "function": "nativeBridge.hideMe();"}' lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "search_bar", "function": "nativeBridge.hideMe();"}' eips -c EOM
母艦から画像を送りつけて表示させてみる
curl -s https://i.imgur.com/5Tq3v0G.png | convert png:- -colorspace lineargray -define png:color-type=0 -define png:bit-depth=8 /tmp/moon.png scp /tmp/moon.png root@192.168.15.244:/mnt/us/ ssh root@192.168.15.244 '/usr/sbin/eips -g /mnt/us/moon.png && rm /mnt/us/moon.png'
このあと
元記事の様にスクリプトで画像生成するのはしんどいのでGrafanaのダッシュボードをheadless browserでスクリーンショットを撮ることでどうにかならないかなというところ。
あと実際に壁掛けで運用する場合はルーターの機能でMACアドレスからIPを固定すると良さそう。