最近从家里翻出来一个电信宽带ITV送的创维盒子E900,准备把它刷成Android TV系统用用
拆机图

通过拆机发现芯片是一颗海思Hi3798MV100芯片,右下角引出了串口,我这里用万用表测量最左边是GND,剩下的就得试试了,接上TTL串口模块监听串口通电,判断出最右边是TX
备份原厂固件
把串口跑出来的日志喂给AI,得出我的设备型号版本为:Hi3798MV100 非高安版本
这里顺便就是原厂的固件备份了吧,插入一个U盘,执行df命令看看是否识别并且记住U盘挂载路径,然后通过一下命令备份:
dd if=/dev/block/platform/hi_mci.1/by-name/fastboot of=/mnt/sda/sda1/fastboot.img
dd if=/dev/block/platform/hi_mci.1/by-name/bootargs of=/mnt/sda/sda1/bootargs.img
dd if=/dev/block/platform/hi_mci.1/by-name/recovery of=/mnt/sda/sda1/recovery.img
dd if=/dev/block/platform/hi_mci.1/by-name/deviceinfo of=/mnt/sda/sda1/deviceinfo.img
dd if=/dev/block/platform/hi_mci.1/by-name/baseparam of=/mnt/sda/sda1/baseparam.img
dd if=/dev/block/platform/hi_mci.1/by-name/pqparam of=/mnt/sda/sda1/pqparam.img
dd if=/dev/block/platform/hi_mci.1/by-name/logo of=/mnt/sda/sda1/logo.img
dd if=/dev/block/platform/hi_mci.1/by-name/logobak of=/mnt/sda/sda1/logobak.img
dd if=/dev/block/platform/hi_mci.1/by-name/fastplay of=/mnt/sda/sda1/fastplay.img
dd if=/dev/block/platform/hi_mci.1/by-name/fastplaybak of=/mnt/sda/sda1/fastplaybak.img
dd if=/dev/block/platform/hi_mci.1/by-name/kernel of=/mnt/sda/sda1/kernel.img
dd if=/dev/block/platform/hi_mci.1/by-name/misc of=/mnt/sda/sda1/misc.img
dd if=/dev/block/platform/hi_mci.1/by-name/userapi of=/mnt/sda/sda1/userapi.img
dd if=/dev/block/platform/hi_mci.1/by-name/hibdrv of=/mnt/sda/sda1/hibdrv.img
dd if=/dev/block/platform/hi_mci.1/by-name/qbflag of=/mnt/sda/sda1/qbflag.img
dd if=/dev/block/platform/hi_mci.1/by-name/qbdata of=/mnt/sda/sda1/qbdata.img
dd if=/dev/block/platform/hi_mci.1/by-name/system of=/mnt/sda/sda1/system.img
dd if=/dev/block/platform/hi_mci.1/by-name/userdata of=/mnt/sda/sda1/userdata.img
dd if=/dev/block/platform/hi_mci.1/by-name/cache of=/mnt/sda/sda1/cache.img
dd if=/dev/block/platform/hi_mci.1/by-name/macid of=/mnt/sda/sda1/macid.img
dd if=/dev/block/platform/hi_mci.1/by-name/skparam of=/mnt/sda/sda1/skparam.img
dd if=/dev/block/platform/hi_mci.1/by-name/skbackup of=/mnt/sda/sda1/skbackup.img
dd if=/dev/block/platform/hi_mci.1/by-name/private of=/mnt/sda/sda1/private.img
dd if=/dev/block/platform/hi_mci.1/by-name/sdcard of=/mnt/sda/sda1/sdcard.img
可用固件
剩下的就是找固件了,从恩山论坛找了几个帖子:
创维E910V10C-E900-E900S-E910-E950-海思Hi3798MV100芯片-非高安-拆机强刷固件包
创维E900-E900S-E910-E950-海思Hi3798MV100芯片-非高安-当贝桌面-拆机强刷卡刷固件包
创维E900-S-非高安_HI3798MV100_免拆或拆机短接强刷-当贝桌面卡刷固件包
其实我是想线刷的,毕竟都接好了ttl,而且想找个8G小U盘也不容易,可是找到的固件包都是卡刷包,只好进行卡刷。
开始刷机
我这里选择的是第一个,刷机方法也很简单
- 准备一个USB2.0的8G大小的U盘,里面放入刷机包里的4个文件插入盒子靠近电源的USB接口
- 接上HDMI接口到一个显示器,并且断电,可以通过盒子上的按钮断电
- 找个金属镊子或者其他什么金属物件,我是用的一个杜邦线插针,把CPU的1、2两脚短接,说是1、2两脚,在芯片右上角开始的2个阵脚,以教程里的图示为准
- 短接状态时接通电源等待5秒再移除短接,显示器会出现Android机器人,进度条走完自动重启
刷机完成就会进入桌面了
原厂恢复
比较奇怪的是,刷了第三方固件后,ttl终端不接收指令了,只能看到日志打印,但是我准备是进入命令用dd命令回刷备份文件的,所以还是得进入命令行界面。
这里我们可以用adb,这个第三方固件默认是已经root了,所以先用遥控器连上WIFI获取一个内网IP,比如我这里联网后获取到192.168.1.74,执行一下命令:
# 第1步:连接盒子
adb connect 192.168.1.74
# 预期输出:already connected to 192.168.1.74:5555
# 第2步:进入盒子的 Shell 交互界面
adb shell
# 此时提示符应该变成:root@Hi3798MV100:/ #
这时就又进入命令行交互界面了,就可以使用dd命令,对换备份时的if、of参数顺序刷回去就行了
安装应用市场
这里我去当贝市场下载了apk文件到我本地,然后执行以下命令安装:
# chengpei @ cpp-macbook in ~/Downloads [13:46:54]
$ adb install dangbeimarket.apk
Performing Push Install
dangbeimarket.apk: 1 file pushed, 0 skipped. 0.2 MB/s (10206867 bytes in 40.920s)
pkg: /data/local/tmp/dangbeimarket.apk
Success
同样是要先adb connect xxx.xxx.xxx.xxx连接上再安装,这样就可以在盒子里看到当贝市场了
评论区