数码之家

标题: Kindle PaperWhite 3 刷机+扩容32GB+改无线充电 [打印本页]

作者: mytec    时间: 2022-5-20 00:42
标题: Kindle PaperWhite 3 刷机+扩容32GB+改无线充电
[attach]1495839[/attach]

手里有个 2015 年买的 Kindle Paperwhite 3,看完的书没几本,主要用来『盖泡面』了。前段时间掏出来给它充了个电,顺便试着给它越了个狱。一不小心给系统搞得有点儿问题,卡死在一棵大树的 Logo 上。索性试着给它更换个更大容量的存储。因为基础不扎实,中间踩了很多坑,eMMC 拆焊 20 多次。不过好在最终还是搞定了,记录一下,供后来者参考。

[attach]1495265[/attach]

(焊盘被干掉了一堆点,幸好都是空点)


插播一点 eMMC 的小知识
eMMC 标准中,将内部的 Flash Memory 划分为 4 类区域,最多可以支持 8 个硬件分区,如下图所示:

[attach]1495269[/attach]

一般情况下,Boot Area Partitions 和 RPMB Partition 的容量大小通常都为 4MB,部分芯片厂家也会提供配置的机会。General Purpose Partitions (GPP) 则在出厂时默认不被支持,即不存在这些分区,需要用户主动使能,并配置其所要使用的 GPP 的容量大小,GPP 的数量可以为 1 - 4 个,各个 GPP 的容量大小可以不一样。User Data Area (UDA) 的容量大小则为总容量大小减去其他分区所占用的容量。

eMMC 的每一个硬件分区的存储空间都是独立编址的,即访问地址为 0 - partition size。具体的数据读写操作实际访问哪一个硬件分区,是由 eMMC 的 Extended CSD register 的 PARTITION_CONFIG Field 中 的 Bit[2:0]: PARTITION_ACCESS 决定的,用户可以通过配置 PARTITION_ACCESS 来切换硬件分区的访问。也就是说,用户在访问特定的分区前,需要先发送命令,配置 PARTITION_ACCESS,然后再发送相关的数据访问请求。

Kindle 自带的 4GB eMMC 芯片型号是 THGBMBG5D1KBAIT,为 eMMC 5.0 标准。Boot Area Partitions 大小都是 2MB,用于存储 bootloader。

如下图这种,使用 AU6438SN 转接 eMMC 的优盘主控板,只能读取 eMMC 中的 User Data Area,无法读取 boot 分区,也没法操作 boot 分区!
[attach]1495270[/attach]


备份

刚开始,我就是使用这种转接板对原有的 eMMC 进行备份,再恢复到新的 eMMC 上,但是刷入 u-boot 失败,也无法正确读取 NVRAM,错误日志如下:
  1. Board: Unknown
  2. Boot Reason: [ POR ]
  3. Boot Device: NAND
  4. Board Id:
  5. S/N:
  6. I2C:   ready
  7. Invalid board id!  Can't determine system type for RAM init.. bailing!
  8. DRAM:   0 kB
  9. Using default environment

  10. In:    serial
  11. Out:   serial
  12. Err:   serial

  13. Warning: fail to get ext csd for MMC!
  14. idme_get_var ERROR: couldn't switch to boot partition
  15. POST done in 0 ms
  16. Warning: fail to get ext csd for MMC!
  17. idme_get_var ERROR: couldn't switch to boot partition
  18. Battery voltage: 3995 mV
复制代码


一度怀疑是 eMMC 质量/版本/厂商/写入姿势的问题,更换了 eMMC 4.5 的芯片,多次重试也不行。之后去了解了 eMMC 的规范才知道 boot 分区用这种方式不能读取和写入。找到了问题那就继续找解决方案,通过转接的方式不可行,必须得让系统识别为 mmc 设备。我把目光放到了另一件吃灰神器:树莓派上。

首先掏出来树莓派 3B,它有两套 sd 接口,一套 sd0,连接 tf 卡槽。另一套在 GPIO 里,在 ALT3 下,GPIO 22-27 就是 SDIO 的几个 pin。然而,在 manjaro Linux 下每次尝试将 GPIO 23 切换到 ALT3,都会卡死整个系统。不得不放弃。

再掏出来树莓派 4B(差生文具多..),树莓派 4 支持从 USB 设备启动,所以之前我就给它装了个 SM2258H 的 U 盘,tf 接口自然就空闲下来了。直接飞线连接,成功访问到 eMMC 的 boot 分区!

接线图如下:
[attach]1495273[/attach]
来自:http://bbs.mydigit.cn/read.php?tid=1302561
[attach]1495274[/attach]
[attach]1495271[/attach]

执行如下命令备份所有分区内容:
  1. sudo dd if=/dev/mmcblk0 of=kpw3_backup_mmc.img bs=1M
  2. sudo dd if=/dev/mmcblk0boot0 of=boot0.img
  3. sudo dd if=/dev/mmcblk0boot1 of=boot1.img
复制代码



恢复

因为我有备份,所以就直接用备份干了。如果是因为 eMMC 损坏需要更换芯片,需要编译 u-boot,修正 NVRAM 变量等,具体可以参照参考文档 10、11。
恢复和备份差不多,还是用 dd, 命令如下:
  1. sudo dd if=kpw3_backup_mmc.img of=/dev/mmcblk0 bs=1M && sync

  2. # mmc 的 boot 分区在 Linux 下默认是只读的,要写入需要先改成 rw
  3. echo 0 > /sys/block/mmcblk0boot0/force_ro
  4. dd if=boot0.img  of=/dev/mmcblk0boot0

  5. echo 0 > /sys/block/mmcblk0boot1/force_ro
  6. dd if=boot1.img  of=/dev/mmcblk0boot1
复制代码

之后,还要指定启动分区,修改 eMMC 启动分区需要安装 mmc-utils,之后执行 sudo mmc bootpart enable 1 1 /dev/mmcblk0 来指定从第1个 boot 分区启动。
然后可以执行 sudo mmc extcsd read /dev/mmcblk0 读取 extcsd 信息,修改成功会有如下信息:
  1. Boot configuration bytes [PARTITION_CONFIG: 0x48]
  2. Boot Partition 1 enabled
  3. No access to boot partition
复制代码


然后把 eMMC 干回去,升级就算完成了..
一半

因为用户分区是直接从之前的 4G eMMC 恢复的,虽然新的 eMMC 是 32GB 的,但是分区表里用户分区还是只有之前的 3GB,在使用之前还需要修正一下分区表。主要过程是进入 Kindle 的 diag 模式,获取 root shell,这个部分参考下边的 越狱 部分。获取 shell 后,使用 fdisk /dev/mmcblk0 对磁盘分区进行操作。


之后重启,正常加载 kernel,当出现 Press [ENTER] for recovery menu... 时,按下回车键,进入 Recovery 模式。此时会有几个菜单选项(倒计时 10s 正常 boot,可以一直按回车键保持):
  1. 3. Load MMC0 over USB storage
  2. 4. Erase MMC0
  3. I. Initialize Partition Table (fdisk) and format FAT
  4. O. Format and overwrite FAT partition
  5. E. Export FAT partition
  6. U. Update using update*.bin file on FAT partition
  7. M. Update using update*.bin file on FAT partition of second MMC port
  8. D. dmesg / kernel printk ring buffer.
  9. Q. quit
复制代码

输入 I 初始化分区表,格式化用户分区;输入 E 挂载为存储设备,连接 PC,把从 Kindle E-Reader Software Updates - Amazon Customer Service 下载的系统文件放入根目录。完成后弹出设备,输入 U 更新系统。更新完成后,设备就进入可用状态,可以正常使用了。接下来就是完成之前未竟的事业,给它越狱。


越狱

Kindle PaperWhite 3 可以直接通过 TTL 接口获取 root 权限,所以可以不关心是什么版本的系统。不过如果不想拆机或者是 KPW4 以上的没有 TTL 接口的机型,可以参考:Tutorial WatchThis - Software Jailbreak for any Kindle <= 5.14.2 - MobileRead Forums 来越狱。Kindle PaperWhite 3 的 TTL 测试点如下图:
[attach]1495272[/attach]

注意需要使用 1.8V 电平的 USB-TTL,3.3V 不可用。
越狱大致步骤如下:



无线充电

原材料是一个几毛钱的 iPhone 无线充电接收器:
[attach]1495267[/attach]

小心撕开外表皮的两层塑封(也可以不撕或者保留背面的,直接贴在 Kindle 的后壳上)一共三个触点,分别是 GND、+5V 和 ID,分别接在 Kindle 的 MicroUSB 座上即可。成品如图:
[attach]1495266[/attach]

测试可以和 USB 口同时使用,充满也可以正常截止。





补充一下,无线充的 ID pin 可以不用接,只连 +5V 和 GND即可。

另:扩容后貌似会导致无法登录 Kindle 账户
另2:如果没有之前的备份,自行编译 u-boot 恢复系统,会找不到 diags 的 kernel 和 系统分区,我做了备份:

https://pan.xnure.com/OneDrive/Others/KPW3/diags_uImage.img
https://pan.xnure.com/OneDrive/Others/KPW3/diags_sys.img

之后在 u-boot 终端里执行bist fastboot 进入fastboo 模式。

使用:https://github.com/TobiasWooldridge/Fastboot-Kindle 这里提供的 Kindle fastboot,执行:

  1. fastboot -i 1949 flash diags_kernel diags_uImage.img
  2. fastboot -i 1949 flash diags diags_sys.img
复制代码






参考文档



作者: wzj9944    时间: 2022-5-20 01:18
厉害厉害,感谢大神的分享
作者: 虎纠咸鱼    时间: 2022-5-20 01:20
建议射精。
作者: leafchy    时间: 2022-5-20 01:55
kindle放书不怎么占内存,一般epub的话,4G都可以放很多本,够看一年了。然而一般没人用它看PDF,让人看的焦虑。
作者: rainlaker    时间: 2022-5-20 02:10
楼主拿KPW看漫画么?
作者: qrut    时间: 2022-5-20 05:36
改造其实并不复杂,就是换emmc加无线充电,如果有个编程器操作熟练过程会很快,大部分时间都折腾在拆装和读取boot,没有编程器会增加很多额外折腾时间,话说拆装20多遍掉这么多空点这板子都没鼓包质量也是不错,业余条件下折腾成功应该很有成就感~
作者: vtabdf    时间: 2022-5-20 07:00
膜拜大神,我的kpw3还在服役中
作者: west001    时间: 2022-5-20 07:11
不明觉厉,膜拜大神
作者: luweixing1    时间: 2022-5-20 08:00
我的 kpw2 买回来也没看几本书,
作者: 苏州熊猫    时间: 2022-5-20 08:03
这得看到天荒地老吧。

我原机3G不到的空间,长期使用不到300MB,有些不经典的看完就删了,只有收费的部分自己下载的输才留着,省得以后还要再发邮件。
作者: 迈克老狼    时间: 2022-5-20 08:08
厉害了 不是一般厉害
作者: 开心的果    时间: 2022-5-20 08:21
动手能力超强。
作者: kerchi    时间: 2022-5-20 08:30
就像是论文一样的精彩
作者: aishelva    时间: 2022-5-20 08:32
看见这么多飞线就知道这个帖子不简单。
作者: aacyxjz    时间: 2022-5-20 08:50
曾经海淘了一个Kindle black,到手开机卡大树,美亚又给免费发了一台
作者: mhtlov    时间: 2022-5-20 09:07
不错,自己扩容
作者: 飞向狙沙    时间: 2022-5-20 09:13
看txt的话还好,我是需要看扫描版pdf,一本就是150M左右,屏幕小的看着吃力,屏幕大的钱包又吃力
作者: mytec    时间: 2022-5-20 10:09
qrut 发表于 2022-5-20 05:36
改造其实并不复杂,就是换emmc加无线充电,如果有个编程器操作熟练过程会很快,大部分时间都折腾在拆装和读 ...

嗯哪~就是基础知识不扎实,坑在了读 boot
作者: mytec    时间: 2022-5-20 10:10
leafchy 发表于 2022-5-20 01:55
kindle放书不怎么占内存,一般epub的话,4G都可以放很多本,够看一年了。然而一般没人用它看PDF,让人看的 ...

"我可以不用,你不能没有"
作者: orsonzou    时间: 2022-5-20 10:15
qrut 发表于 2022-5-20 05:36
改造其实并不复杂,就是换emmc加无线充电,如果有个编程器操作熟练过程会很快,大部分时间都折腾在拆装和读 ...

其实对普通人不简单的
至少要熟悉嵌入式系统,linux操作,uboot操作
作者: bass    时间: 2022-5-20 11:46
性感的飞线
作者: xuguangqi08    时间: 2022-5-20 12:07
不错,主要看焊接工艺了
作者: y00ooo00y    时间: 2022-5-20 12:51
帮顶
作者: qrut    时间: 2022-5-20 12:53
mytec 发表于 2022-5-20 10:09
嗯哪~就是基础知识不扎实,坑在了读 boot

缺乏设备的条件下已经很不错了~
作者: 神蓝    时间: 2022-5-20 13:36
折腾无极限
作者: 孤云feng    时间: 2022-5-20 14:08
Kindle盖面,面更香
作者: 孤云feng    时间: 2022-5-20 14:10
好像用disk genius能看到分区,全部镜像
作者: xxyzl    时间: 2022-5-20 14:45
改的无线充电很不错,学了一下
作者: i584110    时间: 2022-5-20 15:22
这个没能力学  学不来
作者: wsy_2008    时间: 2022-5-20 15:23
搞得像写论文,楼主是不是习惯成自然了?
作者: digital_monster    时间: 2022-5-20 15:53
楼主做什么工作的呀,这也太专业了
作者: mytec    时间: 2022-5-20 15:56
wsy_2008 发表于 2022-5-20 15:23
搞得像写论文,楼主是不是习惯成自然了?

hhh,平时记笔记也习惯把有用的写到参考文档里。。
作者: mytec    时间: 2022-5-20 16:18
本帖最后由 mytec 于 2022-5-20 17:39 编辑

补充一下,无线充的 ID pin 可以不用接,只连 +5V 和 GND即可。

另:扩容后貌似会导致无法登录 Kindle 账户
另2:如果没有之前的备份,自行编译 u-boot 恢复系统,会找不到 diags 的 kernel 和 系统分区,我做了备份:

https://pan.xnure.com/OneDrive/Others/KPW3/diags_uImage.img
https://pan.xnure.com/OneDrive/Others/KPW3/diags_sys.img

之后在 u-boot 终端里执行bist fastboot 进入fastboo 模式。

使用:https://github.com/TobiasWooldridge/Fastboot-Kindle 这里提供的 Kindle fastboot,执行:

  1. fastboot -i 1949 flash diags_kernel diags_uImage.img
  2. fastboot -i 1949 flash diags diags_sys.img
复制代码


作者: 微笑的先生    时间: 2022-5-20 16:25
昨晚看了眼闲鱼,树莓派都卖到天价了,3B、4都是理财产品,楼主你不常用的话,出了赚点零花钱
作者: zhkrid    时间: 2022-5-20 16:33
对软件和硬件都要懂才能搞
作者: cutter    时间: 2022-5-20 16:35
总感觉那张eMMC接线图很眼熟,找到了之前的神帖:http://bbs.mydigit.cn/read.php?tid=1302561
作者: 风过无痕被占了    时间: 2022-5-20 17:15
大佬的操作过于硬核,膜拜一个
作者: devcang    时间: 2022-5-20 17:23

这个是高手,真厉害!
作者: landon    时间: 2022-5-20 17:23
当初咬咬牙买了日漫版本的,自带32G的内存,后来发现看漫画真的不如用IPAD看,主要是国内能下到的漫画画质格式什么的真的不友好。
作者: mytec    时间: 2022-5-20 17:39
微笑的先生 发表于 2022-5-20 16:25
昨晚看了眼闲鱼,树莓派都卖到天价了,3B、4都是理财产品,楼主你不常用的话,出了赚点零花钱{:013: ...

哈哈哈,好像有仓鼠病,可以不用,但不能没有
作者: mytec    时间: 2022-5-20 17:40
digital_monster 发表于 2022-5-20 15:53
楼主做什么工作的呀,这也太专业了

主业写代码,副业捡/造垃圾hhh
作者: xktx09    时间: 2022-5-20 18:20
很强呀,emmc直接刷
作者: cxhly    时间: 2022-5-20 19:51
看了这帖子。。。想想还是不买墨水屏了。。手里的安卓手机勉强也能看看pdf、epub、txt 。
作者: 七天34368    时间: 2022-5-20 21:47
都是大神级的人物,感谢分享
作者: feetprint    时间: 2022-5-20 21:59
厉害厉害,楼主高人
作者: gps42212    时间: 2022-5-20 22:58
厉害厉害,感谢大神的分享.
作者: njchenmin    时间: 2022-5-21 05:58
kindle 真的不用扩容,能装多少书呀
作者: ckvlhf    时间: 2022-5-21 08:58
我也有一台变砖N年了拆开一直在那没动,看来得动动拉!
作者: yacasu119    时间: 2022-5-21 09:07
厉害了 不是一般厉害
作者: webhappyboy    时间: 2022-5-21 10:16
功课做的很到位
作者: tianxiang520    时间: 2022-5-21 11:37
就喜欢看别人拆机。又长经验,又无风险。
作者: yofa2008    时间: 2022-5-21 17:38
一顿操作猛如虎,操作完继续盖泡面
作者: e8f9    时间: 2022-5-21 19:33
太牛了……

论坛助手,iPhone
作者: wllzhk    时间: 2022-5-21 21:48
这机器可以无损拆吗,我记得有胶水来着
作者: ydss    时间: 2022-5-21 22:24
我k,lz牛人啊,emmc我就不想了,反正都是云同步的文档,看完就删。
作者: ddian    时间: 2022-5-22 09:35
太厉害了,我想问下楼主,手机上的EMMC可以用这个办法咪
作者: 等不少于6    时间: 2022-5-22 13:45
感谢大神的分享
作者: aluken    时间: 2022-5-22 14:36
感谢楼主,非常详细的分享!
作者: edit009    时间: 2022-5-22 17:15
飞线倒是过程中比较简单的部分,你一开始用U盘不行是没用分区软件吧,用分区精灵DG操作备份Linux分区应该没问题。
作者: mytec    时间: 2022-5-22 18:45
edit009 发表于 2022-5-22 17:15
飞线倒是过程中比较简单的部分,你一开始用U盘不行是没用分区软件吧,用分区精灵DG操作备份Linux分区应该没 ...

不是的,我是在 Linux 下操作的,U盘主控识别之后都是 sdxx,看不到 boot 分区。
作者: 289867249    时间: 2022-5-22 19:19
见过好多拿读卡器写EMMC的。楼主一看就是大佬级别
作者: maithon    时间: 2022-5-22 21:23
看来我的4GB kv,也可以扩容了。
作者: 自由车行黎生    时间: 2022-5-22 23:35
厉害哦性价比高
作者: 喻远军    时间: 2022-5-23 09:38
能不能加实体翻页按键,我有个kpw2看书感觉触屏翻页很不习惯
作者: gtomljs    时间: 2022-5-23 11:18
看完了  点赞支持下   我就不动手了
作者: xzzbz    时间: 2022-5-23 12:41
大佬,太厉害了
作者: wambz    时间: 2022-5-23 13:03
确实  我的4G的总是使用不到四分之一   就这书还看不完

作者: 轻烟    时间: 2022-5-23 13:29
又是一个折腾的,改好还是继续用来盖泡面吗?
作者: mytec    时间: 2022-5-23 14:21
轻烟 发表于 2022-5-23 13:29
又是一个折腾的,改好还是继续用来盖泡面吗?

当然是。。。盖泡面啦~
作者: hlhu795    时间: 2022-5-23 16:11
牛!厉害!焊盘折腾20多次都没有坏,这机器质量还真行!谢谢分享!
作者: 3mb4    时间: 2022-5-23 16:37
楼主的帖子堪比论文。
作者: zlj613    时间: 2022-5-23 19:33
哇,不错错,可我的nook2卖掉了
作者: tangyinghui    时间: 2022-5-23 21:11
高人,软硬兼施,我就会拆螺丝
作者: kjkikt    时间: 2022-5-24 02:24
没想到这么能折腾
作者: bafjdn    时间: 2022-5-24 09:21
不明觉厉,膜拜大神
作者: lszrex    时间: 2022-5-24 13:07
焊盘被干掉
作者: 诚实男孩    时间: 2022-5-24 23:25
  这个可是大工程呀
作者: yujian8620    时间: 2022-5-25 09:15
厉害厉害,感谢大神的分享
作者: o759    时间: 2022-5-25 15:38
大神可以开班教学了
作者: haiway    时间: 2022-5-25 18:57
这个厉害了,留个记号,我的kpw3加起来也么看过几本书啊,
作者: lszhkk    时间: 2022-5-25 20:06
这手艺了得啊,佩服。
作者: liumou1026    时间: 2022-5-26 04:11
膜拜大神
作者: se7ens    时间: 2022-5-26 09:33
高手,看这BGA飞线就知道不一般了

ps:问下几毛钱的无线充电接收器那里有,给个连接
作者: mytec    时间: 2022-5-26 14:04
se7ens 发表于 2022-5-26 09:33
高手,看这BGA飞线就知道不一般了

ps:问下几毛钱的无线充电接收器那里有,给个连接 ...

忘了是老王还是老五店里的了,已经么的了。。
作者: wh100ta    时间: 2022-5-27 09:11
大神手艺真高!
作者: 2a2be    时间: 2022-5-27 17:15
坑了,我因为上次折腾了一次sd卡转接成功,想更省事,买了俩安国的u盘套装,这要是不能操作引导区,又浪费了几块钱。
作者: apge    时间: 2022-5-27 19:45
这是高手这是高手。老哥能接单修个老kindle4嘛。貌似电池挂了。很久没用充电充不进去了。
作者: didadi991    时间: 2022-5-28 08:53
这是个大工程,楼主手气好,没搞挂掉,恭喜!
作者: youn    时间: 2022-5-31 08:53
算了,感觉内存还够用,看完就删。
作者: 海边听浪    时间: 2022-5-31 10:49
优秀!
还列了参考文献清单
作者: yagamixp    时间: 2022-5-31 13:43
好评支持啊,有机会送给我用如何,呵呵~~一个小玩笑的说
作者: sun5320    时间: 2022-5-31 15:35
工程太大了,我是弄不来的。
作者: eglic    时间: 2022-6-1 10:24
差生文具多..大哥你给我整破防了....
真是文具(工具)特别多,除了各种知识点个灯啥都不会。
作者: 南宁谢工    时间: 2022-6-1 17:25
我的7代在吃灰中,技术不错,但是这手工需要提高一些。感觉要挂掉的样子
作者: 陈满神    时间: 2022-6-1 18:21
mytec 发表于 2022-5-20 10:10
"我可以不用,你不能没有"

非常正确,我手机128G从来没有用到一半过,但是新手机非得买512G的
作者: 天地之间    时间: 2022-6-2 12:17
二班的大牛!话说我4g的内存也用不满。
作者: king520888    时间: 2022-6-3 11:26
看完后想起家里有一个64g的芯片
作者: lose2836    时间: 2022-6-3 22:47
这个boot分区那里,从开始boot分区最后,最好都复制下来,防止有启动些参数没有按分区写,直接写到未分区的位置
作者: zghsgi    时间: 2022-6-4 10:08
相当的大神操作了!
作者: lengzy123    时间: 2022-6-5 14:05
强大的动手能力;刚好现在kindle正版宣布停止服务了,随便折腾




欢迎光临 数码之家 (https://www.mydigit.cn/) Powered by Discuz! X3.4