smzd 发表于 2023-10-24 10:49

记一次刷机救砖过程,及手动ROOT过程

本帖最后由 智能小柠檬 于 2023-10-24 17:04 编辑

我这是一台山东有线的E900V21C盒子,背后信息显示是创维的。第一次刷机不会刷,卡刷选错了包,废掉了,无法重启。每次启动的时候,电视黑屏,实际上是在疯狂重启。TTL串口接入,可见内存报错,有如下跑码信息:
BL2 Built : 15:03:51, Oct 26 2018.
gxl gaf9186d-dirty - liqiang.hou@droid07-sz

Board ID = 1, adc=79
set vcck to 1070 mv
set vddee to 1070 mv
CPU clk: 1200MHz
DDR3
DDR scramble enabled
DDR3 chl: Rank0+1 @ 792MHz - FAIL
DDR3 chl: Rank0 @ 792MHz - FAIL
DDR3 chl: Rank0 16bit @ 792MHz - FAIL
DDR init failed...
Reset...
GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
TE: 62372

BL2 Built : 15:03:51, Oct 26 2018.
gxl gaf9186d-dirty - liqiang.hou@droid07-sz

Board ID = 1, adc=79
set vcck to 1070 mv
set vddee to 1070 mv
CPU clk: 1200MHz
DDR3
DDR scramble enabled
DDR3 chl: Rank0+1 @ 792MHz - FAIL
DDR3 chl: Rank0 @ 792MHz - FAIL
DDR3 chl: Rank0 16bit @ 792MHz - FAIL
DDR init failed...
Reset...
GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
TE: 62345

BL2 Built : 15:03:51, Oct 26 2018.
gxl gaf9186d-dirty - liqiang.hou@droid07-sz

Board ID = 1, adc=79
set vcck to 1070 mv
set vddee to 1070 mv
CPU clk: 1200MHz
DDR3
DDR scramble enabled
DDR3 chl: Rank0+1 @ 792MHz - FAIL
DDR3 chl: Rank0 @ 792MHz - FAIL
DDR3 chl: Rank0 16bit @ 792MHz - FAIL
DDR init failed...
Reset...
GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
TE: 62390

内存都败了,还启动个毛啊!不知道是哪里的问题。据说要线刷,可以救砖。可是一直没有成功,刷机的时候总是报告USB的某些错误。但在最后一次不抱希望的线刷中,居然成功刷入了!包为“144-湖北移动E900V21C_S905L3B_emmc_线刷包-内有主板图及短接点-语音OK【黑马固件】(亲测).zip”。

我的机器是山东有线的,所以本以为不匹配;刷机的时候也依然报错,报的是“low_power”,但计数器仍然在跑;后台ttl跑码打印出一连串的“12345”,大约一分钟打出一行;直到10分钟后,刷基软件报错,重启之后居然刷好了!不过打开系统信息,居然见到这个盒子变成了“CM211-1-CH”!我下载的包也是E900V21C啊!TNND!先这样吧,我后来有尝试线刷过别的包,刷不进去,报错,里面还是这个CM211-1-CH系统。刷包的时候,不要勾选两个擦除选项。

启动的时候连入跑码,可以看到跑码到这里停止了,本以为是卡住了,但实际上是正常的。

BL2 Built : 13:36:55, Jun 22 2020.
gxl g85d6ad1 - longyong.chen@droid02-sz

Board ID = 1, adc=79
set vcck to 1070 mv
set vddee to 1070 mv
CARD_3 high, old board
CPU clk: 1200MHz

DDR3 chl: Rank0+1 @ 792MHz - FAIL
DDR3 chl: Rank0 @ 792MHz - FAIL
DDR3 chl: Rank0 16bit @ 792MHz - FAIL
DDR4 chl: Rank0+1 @ 864MHz - FAIL
DDR4 chl: Rank0 @ 864MHz
bist_test rank: 0 1f 00 3f 3b 1d 59 1b 00 37 3f 20 5f 1b 00 37 45 28 62 19 00 33                                                                                                                                                            41 23 60 609   - PASS

Rank0: 1024MB(auto)-2T-18
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x013c0000, size: 0x00007600
Load bl301 from eMMC, src: 0x00018200, des: 0x01380000, size: 0x00002400
Load bl31 from eMMC, src: 0x0001c200, des: 0x10100000, size: 0x00019600
Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x0007b000
NOTICE:BL3-1: v1.0(debug):361f8a7
NOTICE:BL3-1: Built : 16:43:26, Dec 19 2018
NOTICE:BL31: GXL normal boot!
NOTICE:BL31: BL33 decompress pass

efuse init ops = c5
efuse init hdcp = c, cf9=7
x2_hp_e = 0
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: 0 0 3 c c 0 6a b3 48 a0 0 c5 not ES chip

INFO:    BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9
DRAM:
MMC:    In:    Out:   Err:   ## defenv_reserve
done
wipe_data=successful
wipe_cache=successful
upgrade_step=2
: tee size: 0
rebootmode=normal


OK
OK
OK
[    0.000000@0] Initializing cgroup subsys cpu
[    0.000000@0] Initializing cgroup subsys cpuacct
[    0.000000@0] Linux version 3.14.29 (jenkins@ubuntu) (gcc version 4.9.2 20140                                                                                                                                                             904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.0                                                                                                                                                             9) ) #1 SMP PREEMPT Wed Mar 31 18:36:24 CST 2021
[    0.000000@0] CPU: ARMv71 Processor revision 4
[    0.000000@0] no prop version_code
[    0.000000@0] bootconsole enabled
get_dvfs_info 0001
INFO:    HDCP22 key read fail!
INFO:    p1d 0
INFO:    pd1 0
Login: : tee size: 0
: tee size: 0
: tee size: 0
: tee size: 0
WARNING: Unimplemented Sip Call: 0x82000036
start detecting wifi&Bt......
wifi detected: uwe5621



本以为是卡在这里了,但是居然这是正常的!敲击几下回车,会进入登录:


start detecting wifi&Bt......
wifi detected: uwe5621

Login:
Login:
Login:
Login:
Login:


登录为root试试,居然能登录进去!密码网上查,可以搜到!不愿搜可以看下面:
**** Hidden Message *****

刷了上述这个包之后,系统是没有root的,也找不到一个root包可以刷,于是手动root吧,因为已经能从ttl拿到root权限了!

下面有些信息是从网上搜的,具体哪里不太清楚了,先向原作者致意表示感谢!

首先用 cat /proc/mounts 命令查看结果如下:root@p201_iptv:/system/bin # cat /proc/mounts
rootfs / rootfs ro 0 0 -------------Read Only!
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /tmp tmpfs rw,relatime 0 0
tmpfs /tmp/playInfoLog tmpfs rw,relatime 0 0
tmpfs /tmp/capture tmpfs rw,relatime 0 0
tmpfs /storage/external_storage tmpfs rw,relatime,mode=775,uid=1000,gid=1023 0 0
/dev/block/system /system ext4 ro,nosuid,nodev,noatime,nodiratime,noauto_da_alloc,data=ordered 0 0 ----------------Read Only!
/dev/block/cache /cache ext4 rw,nosuid,nodev,noatime,nodiratime,nodelalloc,noauto_da_alloc,data=ordered 0 0
/dev/block/data /data ext4 rw,nosuid,nodev,noatime,nodiratime,discard,nodelalloc,noauto_da_alloc,data=ordered 0 0
/dev/block/params /params ext4 rw,nosuid,nodev,noatime,nodiratime,nodelalloc,noauto_da_alloc,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/zram0 /swap_zram0 ext2 rw,relatime,errors=continue 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
/dev/block/vold/8:1 /storage/external_storage/sda1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
root@p201_iptv:/system/bin #
里面有两处是我标了Read Only的地方。

在上图中,可以看到,“/”根目录和“/system”目录,都被挂载成”ro“只读模式,其他的文件系统都挂载成”rw“读写模式,这就导致了在这两个目录下无法创建和复制文件。同时在上图中也可以看到根目录对应的设备文件为“rootfs”,"/system"目录对应的设备文件为“/dev/block/system”,把这两个设备文件重新挂载成“rw”可读写模式即可,执行以下命令:
1.
/*把根目录挂载成可读写模式*/
mount -o rw,remount rootfs /

2.
/*把"/system"目录挂载成可读写模式*/
mount -o rw,remount -t ext4 /dev/block/system /system


然后从这里(“简单的方式给机顶盒添加root权限/电视盒子ROOT-简单的方式给机顶盒添加root权限/电视盒子ROOT 很多人总喜欢要加个root权限,好像不加就总吃不饱睡不欢一样 提权虽然是方便了,但带来的风险也几何级增加,不建议一般用户开启,... (xgiu.com)”)下载到了su文件,然后将其放进了/system/bin,又往/system/xbin里面拷贝了一份,再往/system/xbin里拷贝一份,这次命名为daemonsu。这三个文件都加了06755的权限。
此时执行“/system/xbin/daemonsu --auto-daemon &”盒子就root了,但重启之后root消失,因为没有地方执行这一句。


费了更大的周折要把这一句塞到哪个脚本里面去,结果btplay.sh不起作用;install_recovery.sh不存在,即便创建了写进去也无效。。。
最后,在root的状态下,用supersu.apk解决了root问题。运行supersu.apk时会报告要更新su文件,选择常规方式即可完成root;如果选用另一种方式,盒子重启会进入紧急恢复模式,不知道后续应该如何操作,看起来心惊胆战,因此重新选择常规模式,然后就root了。
至此这个盒子就刷完了也root完了。
暂时记录到这里吧,结局应该是很解压的了。如果有想要深入了解过程中某些细节的,我们私下再交流吧!

13472734745 发表于 2023-10-24 14:57

6666666

电视分享 发表于 2023-10-24 17:04

厉害啊,学会了

长腿欧巴丶 发表于 2023-10-24 17:04

真的可以

智能小柠檬 发表于 2023-10-24 17:05

楼主您方便给个联系方式吗,我是超级版主,想联系您成为达人~

smzd 发表于 2023-10-25 14:54

智能小柠檬 发表于 2023-10-24 17:05
楼主您方便给个联系方式吗,我是超级版主,想联系您成为达人~

加你QQ了。。。

艹B艹 发表于 2023-10-26 13:26

666666666

woaichenan 发表于 2023-11-26 17:43

666666666666666

shinyi 发表于 2023-12-5 10:56

楼主发贴辛苦了!谢谢楼主分享,论坛有你更精彩

llbamd 发表于 2023-12-10 11:47

谢谢分享
页: [1] 2 3 4
查看完整版本: 记一次刷机救砖过程,及手动ROOT过程