跳转至

Sony DPT-RP1 电子纸破解

2017年在日亚海淘的 Sony DPT-RP1,想用来看 PDF 论文(愿望总是如此美好)。因为当时眼睛干涩,不止看显示器晕眩,看任何东西都是天旋地转,即使闭目养神,也会感觉眼睛内部的血液呼啸奔流,连睡了几天才恢复。五年后的今天,眼睛又开始出现问题,于是想开发一下半吃灰状态的 DPT-RP1,不仅仅在早课时替代平板,希望成为干活的主屏幕,主要是文字的阅读和写作。没有颜色高亮,撸代码会更累眼的。

墨水屏无比接近真实纸张,第一次看到 Kindle 关机画面时,我忍不住伸手去扣,想把类似腰封的广告页撕掉。那种惊艳效果至今记忆犹新。其实,电子墨水是一种液态材料,由数百万个微胶囊构成,微胶囊内含有电泳粒子,白色粒子带负电荷,黑色粒子带正电荷。接通电场后,就能对黑白粒子的位置进行控制,从而在屏幕上显示不同的黑白画面。

墨水屏至今仍然是小众产品,缺点非常明显。硬件上被元太独家垄断,技术进展缓慢,软件上一盘散沙,缺乏生态。在此背景下,索尼已经停产的 DPT-RP1 的系统已经非常好了。如果只看 PDF 文件,建议使用原版系统,稳定且续航较好。实际上,任何格式都很容易转为 PDF,DPT-RP1 官方客户端使用非常方便。至于其他需求,才考虑解锁。

前几年的破解费用很高,超过设备价格的四分之一(1600/5800)现在也要 400 元。目前有大神 HappyZ 提供的基于 python 的 dpt-tools 工具包,自己手动即可解决(据说 2019 年后生产的 DPT-RP1 不适用)。DPT-RP1 默认杀后台,睡眠模式自动关闭WIFI,所以破解几乎不增加电量损耗。破解修改原生 Launcher 快捷菜单,多了一个 Apps 按钮,可以无损切换到第三方应用。值得一试。

本次尝试的结论:破解聊胜于无

  • 只看 PDF 文件根本无需破解;
  • 破解安装微信阅读或 KOReader 能看多种格式的电子书;
  • 安装 Spacedesk 能作为电脑外接屏幕但是刷新率完全无法接受;
  • OTG 键盘、蓝牙键盘、蓝牙耳机听书等功能,受限于硬件配置,没有必要。

1. 资料来源

HappyZ 原版英文教程:

https://github.com/HappyZ/dpt-tools/wiki/The-Ultimate-Rooting-Guide

里面给出了撤销一切操作恢复出厂设置的办法,希望用不到,也希望万一的时候管用。这个是底线,否则没有必要开始冒险。

参考中文解说:

  1. https://post.smzdm.com/p/ar07neqg
  2. https://my.oschina.net/u/4337873/blog/3274401
  3. https://blog.csdn.net/weixin_43467572/article/details/119302470

2. 工具准备

有网友提到,安装老版本 ADB 工具包。因为 DPT-RP1 里的 ADB Server 版本较老,用 google 提供的最新版本会无法建立连接,建议下载 Minimal ADB 1.3.0( https://androidmtk.com/download-minimal-adb-and-fastboot-tool) 安装后会提供快捷方式直接启动 ADB 的命令行窗口。我用上面的最新版本没有遇到问题,所以这个没有尝试。

apk 启动器也只有一个最新版本,app-home-release.apk,v0.1.8.3,老版本 EInkLauncher_V0.1.4.apk 在后面的 APK 连接中也能找到,不过新版本可以用,就没有特别安装老版本。

3. 破解过程

3.1. 安装 pip 环境

pip install httpsig pyserial urllib3 requests

3.2. 运行工具包

可以把 dpt-tools.py 文件拖进 CMD 后直接生成路径,首次运行失败的话需要加 IP

python dpt-tools.py -ip 192.168.1.8

显示DPT Tools字样,就是成功了,进入交互模式。

3.3. 刷机

在 CMD 里输入 fw,然后回车,CMD 终端提示你录入 pkg 文件路径。

这里需要的是解锁包内 fw_updater_packer_by_shankerzhiwu/pkg_example/hack_basics/fw.pkg 这个文件。

注意这个文件路径不要太长,路径不要有中文或空格。拖动文件至 CMD 窗口,它自动填充这个文件路径。

回车,提示【yes/no】,输入yes,回车

之后 DPT-RP1 会显示 preparing for the update...然后重启。屏幕上会跳一些神秘代码,不用管,等开机就行。开机后 DPT-RP1 可能显示 update failure 或者 unenble to update,不用管,直接按 Cancel 进入系统。

3.4. ADB 权限和 ROOT 权限

获得安卓的 ADB 权限,在破解工具中找到适合 DPT-RP1 的 pkg 文件:fw_updater_packer_unpacker/pkg_example/flashable_mod_boot_img_1.6.50.14130/FwUpdater.pkg,重复上面 fw 步。

获得安卓的root权限,fw_updater_packer_unpacker/pkg_example/flashable_supersu/FwUpdater.pkg,重复 fw 步。

3.5. 安装启动器

打开 Win11 的 CMD 终端,进入到 SDK Platform Tools 的目录中,先检测一下,adb 是否正常运行,然后安装和修改。

adb kill-server && adb devices

app-home-release.apk 文件复制到 Platform Tools 的目录中,在目录中执行

adb install -r app-home-release.apk

或者

./adb install -r app-home-release.apk

在破解工具找到 launcher_mod.tar.gz,拷到 ADB 目录中,方便执行。用 adb 语句进行安装及配置,第一行注意文件路径,如果没有拷贝到安装目录,写实际目录(这里是 c:\sony\,若已经拷贝到目录,删掉它)。

adb push c:\sony\launcher_mod.tar.gz /sdcard/launcher_mod.tar.gz
adb shell mount -o rw,remount /system
adb shell rm -rf /etc/dp_extensions
adb shell busybox tar -xvzf /sdcard/launcher_mod.tar.gz -C /
adb shell chown -R root:root /etc/dp_extensions
adb shell chown system:system /data/system/ExtMgr.db
adb shell chmod 0660 /data/system/ExtMgr.db
adb shell chown system:system /data/system/ExtMgr.db-journal
adb shell chmod 0600 /data/system/ExtMgr.db-journal
adb reboot

重启,按 Home 键,多了俩图标,一个 Apps,一个 Android Settings。之前使用的所有 PDF 文档都在。

3.6. 语言和输入法

通过命令行打开设置

adb shell am start -a android.settings.SETTINGS

切换语言,仅支持三种:中文、英文和日文

adb shell am start -a android.settings.LOCALE_SETTINGS

切换输入法

adb shell am start -a android.settings.INPUT_METHOD_SETTINGS

如果看到错误对话框 Unfortunately, the iWnn IME keyboard has stopped,这可能是由于启用了额外输入法的语言切换所致。只需进入 Keyboard & input methods 并且仅启用 iWnnkbd IME

4. adb 安装软件

根据自己所需,用 adb 安装软件。我只需要 Spacedesk(屏幕扩展),顺手尝试了微信阅读(官方墨水屏版,很多免费书)和 KOReader(多格式兼容和PDF切边)。

APK 尽量使用官网下载,Spacedesk 参考了 E-ink 应用商店 http://einkcn.com/app。E-ink 应用商店里还有其他一堆应用,建议不要浪费时间,都不好用。

4.1. 微信阅读和 KOReader

微信读书 https://weread.qq.com/

KOReader最新 https://github.com/koreader/koreader/releases

adb install -r spacedesk-0.9.77_beta.apk adb install -r weread_android_einkNone_1.8.4_10143604_900.apk adb install -r koreader-android-arm-v2022.01.apk

为 DPT-RP1 调整 KOReader。启动 KOReader,点击屏幕最上方以调用设置菜单。选择 Screen 项目,确保 Color rendering 未选中并 Keep screen on 选中。设置 > 屏幕, 选择 Screen > Screen DPI,按住该项 Custom DPI 并将其设置为 200。设置 > 屏幕 > 屏幕 DPI,首次打开 PDF 文件时,默认查看模式为 scroll,切换为 page。

4.2. 墨水屏投屏 spacedesk

官方网站:https://spacedesk.net

安装方法,将文件保存在ADB的目录中

adb install -r spacedesk-0.9.77_beta.apk

首先确保你的设备都在同一个局域网内,然后先在 PC 上安装 Spacedesk 服务端,目前只有 Windows 平台。安装完毕后可以看到你本机的 IP 地址。

接着在 Android 设备安装上 Spacedesk 客户端 APP,运行会自动显示局域网内的PC电脑,点击可直接连接。

点击下方的设置按钮,进入 Display 屏幕显示分辨率设置。如果屏幕延迟比较高,可以调低一点分辨率。在 Quality 里面还可以设置图像质量、颜色、帧率。

在 PC 上按下快捷键 Win+P 可以选择投屏的模式,复制 、扩展、仅第二屏幕。在显示设置里面可以看到显示两个显示器,支持给第二屏幕单独设置分辨率、缩放、显示方向。

直接把程序窗口拖到 Android 设备上即可,实际体验上有时候会卡顿、延迟也蛮高的。