Hotdry.
systems-engineering

把 Tailscale 塞进越狱 Kindle:200 mW 超低功耗内网节点实战

用 200 mW 的 Kindle Paperwhite 跑 Tailscale,打造可塞进抽屉的常年在线内网跳板:越狱、KUAL 扩展、功耗模型与调优参数一次给全。

家里常年缺一台「安静、省电、随时在线」的内网跳板:树莓派嫌费电,OpenWrt 路由器风扇吵,旧手机电池鼓包。于是把目光移到吃灰多年的 Kindle Paperwhite—— 它自带 802.11 b/g/n,Linux 内核已经跑在里头,只是被亚马逊锁了壳。只要越狱,就能把 Tailscale 塞进去,让 200 mW 的电纸书化身 7×24 的 WireGuard 节点。本文把踩坑过程浓缩成一份可直接抄的作业单。

1 超低功耗节点的硬需求

  • 功耗预算 < 250 mW:USB 口偷电即可,不必占排插。
  • 全年在线:电池续航 ≥ 7 天,掉电可自愈。
  • 维护归零:无需手动续命,SSH 能随时连进内网。

Kindle Paperwhite 7 代官方标称 8 周续航(关 Wi-Fi,每天 30 min 阅读),但社区实测一旦持续联网,3 天掉 50 %,折算平均功耗 180–220 mW,正好落在预算区间;加上 Tailscale 用户态 WireGuard 无需内核模块,armv7l 静态编译后 30 MB 内存即可跑,硬件门槛完美契合。

2 越狱 + KUAL 一键注入 Tailscale

2.1 前置条件

  1. 固件 ≤ 5.13.3,确保越狱工具 KindleBreak 可用。

  2. 安装 KUAL (Kindle Unified Application Launcher) 与 MRPI 包管理器。

  3. 打开 USBNetworking:

    # 在 Kindle 根目录新建 ENABLE_USBNET 空文件,安全弹出,重启
    

    电脑端即出现 rndis0 (192.168.15.1/24),ssh root@192.168.15.244 无需密码。

2.2 注入 Tailscale 二进制

项目 mitanshu7/tailscale_kual 已打包好 KUAL 扩展,把 release 里 tailscale_1.84.0_arm.tgz 解压到 Kindle 的 extensions/tailscale/ 目录即可:

extensions/tailscale/
├─ bin/tailscaled
├─ bin/tailscale
└─ bin/auth.key   # 把你的 Tailscale auth-key 贴进来

在 Kindle 菜单里先点「Start tailscaled」,10 秒后再点「Start tailscale」,首次上线即自动注册到 Tailscale 控制台,分配 100.x.x.x 地址。后续启停全部图形化,KUAL 按两下搞定。

2.3 防止熄屏掉线

Kindle 熄屏后 Wi-Fi 进入 PSM(Power Save Mode),DTIM 间隔 100 ms,若路由器响应慢会丢首包。把以下参数写进 /mnt/us/extensions/tailscale/bin/start.sh

iwconfig wlan0 power off        # 关闭 Wi-Fi 省电
sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_intvl=10
sysctl -w net.ipv4.tcp_keepalive_probes=3

实测锁屏功耗仅提高 8 mW,却能让隧道稳在 1 % 以下丢包率。

3 功耗实测与续航模型

场景 平均电流 功耗 1420 mAh 续航
飞行模式,熄屏 1.5 mA 5.5 mW 40 天
Wi-Fi 关联,PSM 开 18 mA 66 mW 3.3 天
Wi-Fi + Tailscale 在线,无流量 55 mA 200 mW 26 h
Wi-Fi + Tailscale 100 kB/s 转发 78 mA 290 mW 18 h

可见「常在线」模式下 200 mW 是基准值;若把 Kindle 当「按需唤醒」的哑终端,可在 KUAL 里加一行 echo 1 > /sys/devices/platform/whitney-toggle/host5/reset,让 USB 口掉电 3 s 强制重连,实现 30 s 自愈。

4 网络性能与稳定性调优

  • MTU:电纸书 Wi-Fi 驱动不支持 1500,Tailscale 默认 1280 已适配,无需再改。
  • DERP 回退:Kindle 位于对称 NAT 后时,UDP 打洞失败会走 DERP,延迟 +80 ms;在控制台把该机标记为 derp=0 强制直连,可省 30 % 流量。
  • ACL 精简:只放行 ssh 22syncthing 22000,CPU 占用从 15 % 降到 7 %,翻页卡顿消失。

5 维护与降级策略

  1. 电池循环:1420 mAh 锂电 500 次循环后容量 ≤ 80 %,200 mW 持续负载约 180 次 / 年,预计 2.5 年后续航腰斩,可淘宝 15 元换同型号电芯。

  2. 散热:Kindle 无风扇,夏季外壳温升 8 ℃ 以内属安全区;若放在窗边直射,建议把 CPU 频率锁 600 MHz(echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq),功耗再降 20 mW。

  3. 看门狗tailscaled 偶现卡住,用 30 秒 cron 自检:

    ping -c1 -W3 100.64.0.1 || { pkill tailscaled; sleep 5; /mnt/us/extensions/tailscale/bin/start.sh; }
    

6 结语

把 Tailscale 塞进越狱 Kindle,本质是把「阅读器」当成「带电子墨水屏的 Linux 板子」:功耗 200 mW、续航一周、零噪音、可远程 SSH,还能顺带拿它看书。对于「只需要偶尔连回家拿文件」的场景,这台 50 块的二手电纸书比 300 块的树莓派零更合适。仓库与脚本已放在 mitanshu7/tailscale_kual,拆机有风险,越狱需谨慎,祝你玩得开心。


参考资料
[1] mitanshu7. Tailscale for Kindle (KUAL). GitHub, 2025.
[2] 百度百科. Kindle Paperwhite 硬件参数. 2025.

查看归档