写在前面
当机顶盒因刷机而无法启动,典型的表现就是按遥控器无任何反应,此时,首先方法是 短接J16 救回,假如,此法救不回,TTL便是终极救法。
短接J16
1、拆开盒子,用镊子短接 J16 两脚,盒子HDMI口接上电视(盒子处于断电状态);
2、在盒子的USB口插上已经拷贝好救砖包的优盘,优盘根目录包含救砖的四个文件:bootargs.bin(4096KB) fastboot.bin(1024KB) recovery.img update.zip
3、盒子通电,开机,观察电视屏幕,等待android机器人图标出现后,拔掉镊子,等待刷机完成。
TTL线刷前的硬件准备
1、用于机顶盒与电脑之间通讯的:CH340G( USB转TTL 要用到的 CH340G模块且至少带三根杜邦线 ),线序如下: RX串行数据接收,TX串行数据发送,GND电源负极
USB端线序 | 机顶盒线序 |
GND | GND |
RXD | TXD |
TXD | RXD |
机顶盒接线注意
网络上多数教程认为,需要将通讯线焊接到机顶盒的PCB板上,诚然没错,但是,我是一个追求完美的人,这么好的PCB板,假若焊接技巧没达到一定水平,针脚会给焊的很不美观且有可能破坏掉PCB板,我的建议是找三条跟脚孔孔径大小差不多的金属插进去,然后,再把USB模块的通讯线与之缠绕捆绑在一起就可以了。
确认CH340G模块通讯状态
在经历如上的接线后,将USB模块插入电脑USB口(机顶盒无需加电),安装相应的驱动,运行(devmgmt.msc),打开设备管理器,端口(COM和LPT),确定自己模块所在的端口,例如:USB-SERIAL CH340 (COM3),而后,用 串口调试助手 测试CH340G模块通讯是否正常。
确认机顶盒已接入同局域网
机顶盒与刷机的电脑在同一局域网,并且,再次,确认,机顶盒已经接入局域网
TTL线刷的软件准备
1、准备好要烧录的eMMc全固件(EC6108V9U)
2、海思烧写工具(HiTool):http://cdn.tvapk.com/down/ang/hitool.zip
3、安装Java并配置环境变量:jdk-7u80-windows-i586
传输方式(网口)(Static IP)
1、本地PC配置 串口:选择小板串口(COM3),服务器IP不动(192.168.2.5)
2、板端配置 IP地址:(192.168.2.55)子网掩码(255.255.255.0)网关:(192.168.2.1)其它保持默认
3、传输方式(选网口)
传输方式(网口)(TFTP)
1、打开HiTool之前,先把 CH340G 的USB端从电脑上拔掉重插认一下(避免上面因测试串口状态而端口被占用的情况);
2、在开启TFTP之前,先确保机顶盒是处于加电开启状态,因为TFTP服务端开启后,会自助新增一个网段用来与板端通讯(机顶盒端);
3、在HiTool的HiBurn视图,本地PC配置,串口位置,选择正确的串口;服务端IP选择由TFTP生成的私有网段,一定要选一下,此时右边的板端配置会自动更改为与服务端IP相匹配的网段信息;传输方式(网口);
4、烧写eMMC,选定eMMC分区表文件后,会自动导入与之相关的固件包文件,取消所有,只勾选:fastboot bootargs recovery;
5、开启TFTP;
6、点 烧写;
7、机顶盒 断电 稍等一两秒钟 再次加电,等待烧录完成。本次底包操作码是:6321,其它还有 1301、1302、8288 。
传输方式(串口)
如非万不得已,不用这种方式,因为串口的数据传输率是115kbps~230kbps,太慢了。
假如选用这种方式,那么,有烧录之前,确保机顶盒处于断电状态,当点下烧录后,加电即可。
上载(网口)
1、串口速率:9600,一定要开TFTP服务器,即便不开,netstat -an里查看,也会启动69端口
2、要确定串口通讯是否正常,可在HiTool里,终端连接,同时,设备管理器里的当前串口和HiTool里的串口速率都要调整为:115200
3、生成目录里有.tmp文件是正常现象,上载完毕后,删除所有.tmp文件即可。
终端连接技巧
HiTool连接刷机时,串口端口设置–>位/秒:9600(默认值)
CRT跑码 连接时,串口端口设置–>位/秒:115200
优化脚本
@echo off set adb="adb\adb.exe" %adb% kill-server echo. set /p ip=请输入盒子IP地址,回车连接: %adb% connect %ip%:5555 ping 127.0.0.1 -n 4 >nul cls color 8F echo. echo. Tv-box is connected, please do not disconnect. echo. echo. Transferring files to tv-box and optimizing, please wait... echo. %adb% shell mount -o remount,rw /system %adb% shell mount -o remount,rw /data for /r %%h in (apks\*.apk) do %adb% push %%h /system/app/ for /r %%h in (apks\himedia\*.apk) do %adb% push %%h /system/app rem INSTALL_FAILED_INSUFFICIENT_STORAGE %adb% shell rm -rf /data/app/*.apk %adb% shell rm -rf /data/local/tmp/* %adb% shell rm -rf /data/dalvik-cache/* for /r %%f in (install\*.apk) do %adb% install -r %%f rem %adb% install -r install\nPlayer.apk %adb% shell chmod 644 /system/app/*.apk %adb% push others\su /system/xbin/su %adb% shell chmod 0755 /system/xbin/su %adb% push others\su /system/xbin/daemonsu %adb% shell chmod 0755 /system/xbin/daemonsu %adb% shell "settings put secure install_non_market_apps 1" %adb% shell "echo 1 > /system/etc/.installed_su_daemon" %adb% shell chmod 0644 /system/etc/.installed_su_daemon %adb% shell mkdir /system/etc/init.d %adb% shell chmod 0755 /system/etc/init.d %adb% push others\99SuperSUDaemon /system/etc/init.d/99SuperSUDaemon %adb% shell chmod 0755 /system/etc/init.d/99SuperSUDaemon %adb% push others\99adbd /system/etc/init.d/99adbd %adb% shell chmod 0755 /system/etc/init.d/99adbd %adb% push others\install-recovery.sh /system/etc/install-recovery.sh %adb% shell chmod 0755 /system/etc/install-recovery.sh %adb% push others\install-recovery-2.sh /system/etc/install-recovery-2.sh %adb% shell chmod 0755 /system/etc/install-recovery-2.sh %adb% shell "> /system/checksum.img" %adb% push others\build.prop /system/build.prop %adb% shell chmod 0644 /system/build.prop %adb% shell rm -rf /system/app/Browser.apk %adb% shell rm -rf /system/app/MyApps.apk %adb% shell rm -rf /system/app/QuickSearchBox.apk %adb% shell rm -rf /system/app/Tv_Rcs_signed.apk %adb% shell rm -rf /system/app/Dangbei.apk %adb% shell rm -rf /system/app/IPTV*.apk %adb% shell rm -rf /system/media/*.mp4 %adb% push others\logo\bootanimation.zip /system/media/ %adb% push others\logo\logo.img /dev/block/ %adb% shell "dd if=/dev/block/logo.img of=/dev/block/mmcblk0p7" %adb% shell rm -rf /dev/block/logo.img %adb% shell unmount /system %adb% shell unmount /data ping 127.0.0.1 -n 5 >nul pause cls color 0F echo. echo.******************************************************************** echo. echo.All optimizations are complete. echo. echo.Press any key to automatically restart the TV-box... echo. echo.******************************************************************** echo. pause %adb% shell "busybox reboot -f" exit
ADB SHLL 修改 MAC地址
修改网卡MAC的方法(非无线网卡)比如你的网卡MAC想修改为54:93:59:26:D:E0
# 新版 echo -ne "\x54\x93\x59\x26\xDD\xE0" | dd of=/dev/block/mmcblk0p4 bs=1 seek=$((0x24)) conv=notrunc ; sync # 旧版 echo -ne "\x54\x93\x59\x26\xDD\xE0" | dd of=/dev/mmcblk0p4 bs=1 seek=$((0x24)) conv=notrunc ; sync # http://www.7po.com/thread-919207-1-1.html or # https://www.znds.com/forum.php?mod=viewthread&tid=1122461&page=1
ADB SHELL
记录一些 ADB SHELL 的常用命令
# adb shell 控制台不支持find命令搜索文件,可用如下命令查找文件 busybox find /system -name *.jpg* # 改开机第一屏 ? dd if=/mnt/sda/sda1/logo.img of=/dev/block/platform/hi_mci.1/by-name/logo # 改开机第一屏 ? dd if=/mnt/sda/sda1/logo.img of=/dev/block/mmcblk0p7
SDK Platform Tools(adb shell)
切换为English语言后下载
Download SDK Platform-Tools for Windows
当贝市场下载的APP目录
/mnt/sdcard/Download
批量安装APK
If you have apks in different folders (like if you usedadb pull
) then you can use my script below:
for /r %%h in (apks\*.apk) do %adb% push %%h /system/app/ for /r %%h in (apks\himedia\*.apk) do %adb% push %%h /system/app # 安装 for /r %%f in (install\*.apk) do %adb% install -r %%f
盒子无信号
通过HDMI连接无信号你可以按照下面方法排查下:
1.可能是盒子的 HDMI 输入分辨率设置太高,电视机不支持。请长按主页键
10秒,即可将 HDMI 输出分辨率恢复为720P试试。
2.可能是 HDMI 线未正常连接或故障,请重新连接或更换 HDMI 线。
3.可能是所连的电视机 HDMI 接口坏掉了,请更换其他 HDMI 接口再试试。
4.可能是盒子待机了,按下遥控器待机/唤醒键
看是否恢复。
放弃案例
当盒子跑码出现如下提示时,可以放弃救了,真实场景是某网友错看了魔百盒短接CPU 1、2脚可以救砖,于是也用在了EC6108V9C上,再启机,即开机卡在第一屏, 多次换线刷包均卡在开机第一屏,CPU烧。
WARN::dwc_otg_core_reset:5176: dwc_otg_core_reset() HANG! Soft Reset GRSTCTL=80000001 WARN::dwc_otg_core_reset:5176: dwc_otg_core_reset() HANG! Soft Reset GRSTCTL=80000001 # DMA mode 需更换CPU Using Buffer DMA mode
开机跳过IPTV直接进桌面
# 修改 /system/build.prop ro.product.bootiptv=true # 为 ro.product.bootiptv=false
解决软件闪退
在 build.prop 文件添加如下字段
ro.sf.lcd_density=240
海美迪桌面组件app
https://www.cr173.com/aztv/920288.html
cp FileManager.apk /system/app cp Hmdcher.apk /system/app cp NetworkMonitor.apk /system/app cp NewAppManager.apk /system/app cp NewAppShortCut.apk /system/app cp Recentapp.apk /system/app chmod 0644 /system/app/FileManager.apk chmod 0644 /system/app/Hmdcher.apk chmod 0644 /system/app/NetworkMonitor.apk chmod 0644 /system/app/NewAppManager.apk chmod 0644 /system/app/NewAppShortCut.apk chmod 0644 /system/app/Recentapp.apk rm /system/app/d1.apk 删除当贝桌面
TTL刷机
https://www.cnblogs.com/popapa/p/ec6108v9u.html
http://www.7po.com/forum.php?mod=viewthread&tid=1107087&fromuid=248644
固件备份
https://www.znds.com/forum.php?mod=viewthread&tid=1030104&typeid=1876
https://www.right.com.cn/forum/thread-312044-1-1.html