【转帖】三星部分机型刷机变砖的分析
三星的若干设备从某一次官方更新开始,因为官方内核的一个特性未考虑所有版本的硬件,因此导致官方更新变砖事件。此事比较讨厌,因为是官方带来的BUG,因此感觉有必要详细解读一下:
1.问题根源:eMMC芯片控制器的低版本固件无法正确处理MMC_ERASE指令,当操作系统执行MMC_ERASE指令时将有一定概率引发eMMC芯片内部死锁。
在早期的三星设备内核中没有使用MMC_ERASE指令,从I9100的某个更新开始,N7000的某个更新开始,M250S的Update4内核更新开始,引入了MMC_CAP_ERASE能力,因此使用这些内核就会触发eMMC的BUG。
2.什么设备有此问题:绝大部分I9100,一部分N7000,绝大部分M250。对I9100来说,执行下列命令:
adb shell "cat /sys/class/block/mmcblk0/device/cid|cut -b 19,20"
如果上述命令的返回结果是19或小于19,则你的设备有eMMC固件BUG。
为什么说是绝大部分I9100有此问题,也就是说还有一部分9100没问题?
2011年11月以后出厂的I9100/N7000/M250的eMMC固件版本更新到了无问题的版本,因此即使使用激活了MMC_CAP_ERASE特性的内核也不会变砖,这就是为什么有些人怎么wipe都没关系,这些人主要的幸运是购买I9100的时间比较晚,或者换过主板。其他大部分人都是没有这么幸运的。
3.情况下会触发eMMC死锁?使用官方更新的较新的内核,在使用官方自带3e recovery的wipe或者CWM的Recovery或者在内置SD卡上复制/删除大尺寸文件时都可能会触发此BUG。也就是说并不是CWM单独引起的问题,即使完全使用纯官方内核也有风险。
4.如何避免?
不要刷入最新的纯官方ROM,如果最新的纯官方ROM的cache.img中带有自动wipe脚本,则可能刷纯官方ROM直接变砖。
尽量不使用最新的官方ROM内核或基于该内核的修改版(嵌入CWM),因为eMMC的bug并不局限于wipe操作,因此就算你从不wipe也可能遇到问题。 I9100经常刷都没事。算我幸运吧。刷过。不下100台。。
页:
[1]