Files
doc/docs/tutorial-basics/usb-flash.md
2023-11-26 02:16:42 +08:00

7.7 KiB
Raw Blame History

sidebar_position
sidebar_position
2

USB 刷机(海思)

短接盒子的特定电路,让 CPU 判断从 usb 口磁盘读取根目录的 fastboot.bin 启动配合启动指令进行刷入NAS系统。

准备工作

  • 一个 U盘需要格式化为 FAT16 或者 FAT32 文件系统;
    这个U盘必须是2.0协议的普通U盘最好是牌子正品的。
    转接器或者硬盘盒之类的 99% 无法被 CPU 即时识别。
    建议 1G-64G 之间容量的 U 盘。

  • 短接板子电路的工具:镊子、刀片或者小铜线;

  • 根据网络搜索,或者厂家电路图,找出你的机顶盒型号的短接点。

  • Windows7以上电脑系统。

刷机步骤

格式化 U 盘

:::caution 请务必使用此工具格式化你的 U 盘:
它能把 U 盘格式化为标准的 fat32 格式,并且能让 99% 的老旧 CPU 识别;
::: pic
:::tip 下载地址:
神雕U盘格式化小工具
:::

下载对应盒子芯片型号的固件

根据设备适配表确定你的盒子是哪个fastboot简称的型号
下载下表对应的固件包仅支持armv7系统

CPU 型号 fastboot简称 下载地址 备注
hi3798mv100 mdmo1a mv100-mdmo1a-usb-flash.zip
hi3798mv100 mdmo1b mv100-mdmo1b-usb-flash.zip
hi3798mv100 mdmo1c mv100-mdmo1c-usb-flash.zip
hi3798mv100 mdmo1d mv100-mdmo1d-usb-flash.zip
hi3798mv100 mdmo1f mv100-mdmo1f-usb-flash.zip
hi3798mv100 mdmo1g mv100-mdmo1g-usb-flash.zip
hi3798mv200 mv2dma mv200-mv2dma-usb-flash.zip 待发布
hi3798mv200 mv2dmb mv200-mv2dmb-usb-flash.zip 待发布
hi3798mv200 mv2dmc mv200-mv2dmc-usb-flash.zip 待发布
hi3798mv300 mv3dmw mv300-mv3dmw-usb-flash.zip 待发布
hi3798mv300 mv3dmm mv300-mv3dmm-usb-flash.zip 待发布

解压到 U 盘

将固件包解压到 U 盘的根目录,如下图:

pic
注意:根据型号不同,分别是mv100/mv200/mv300的子文件夹。

拆开外壳,准备短接点

以下分别是100、200、300已知的型号短接点作为示例
如果你发现有新的短接图纸,请私聊告知群主。

hi3798mv100 的盒子

:::tip 所有hi3798mv100型号的机顶盒短接点都可以通用的短接点
CPU 右上角的 12 脚 短接法:
:::
pic
个别已知的例子如下:
例子 1 :华为悦盒 ec6108v9c 短接 J16 (用镊子把这两个孔连上)
华为悦盒 ec6108v9 短接 J15
注意如果你发现自己的ec6108v9板子是J16 请使用mdmo1g的刷机包。部分商家外壳标识不规范

pic

例子 2 UNT400B 短接图 (用镊子把这两个孔连上)
pic

hi3798mv200 的盒子

:::tip hi3798mv200的通用短接办法
靠近CPU的R37贴片靠外一侧跟USB口铁壳地线短接 ::: pic

hi3798mv300 的盒子

:::tip hi3798mv300的盒子目前没有发现通用的短接办法
目前只发现一款盒子,移动的魔百盒 301H 如下图:
短接 c46 (用镊子把这个贴片的两端轻轻而又稳稳地夹住)
小心别太用力,注意别损坏! ::: pic
pic

开始刷机

    1. 将前面准备好的 U 盘插入机顶盒的任一 usb 口;
      (一般靠近电源的 usb 口,也可以尝试另一个口)
    1. 网线接好,盒子网口接到路由器 LAN 口;

:::caution

注意:请接好网线刷机,不然 99% 可能刷好以后找不到 IP。

:::

    1. 每次刷机都是按照砖头状态来刷的,理论上可以无限次刷!

请按照此动作顺序进行刷机:

关闭电源 --> 短接住 --> 打开电源 --> 5秒左右放开短接 --> 自动刷机

注意事项(无比珍贵的经验)

  • 你短接操作后,打开电源就亮原来的安卓欢迎屏(或者原来的屏幕),代表短接不成功。重新来!
  • 5-8秒后必须放开短接否则无法写入文件
  • 正确短接后打开电源黑屏约2分钟然后会亮“正在刷入激动人心的系统”屏
  • 超过5分钟一直黑屏代表U盘不被识别无法传送文件请更换U盘或插到另一个usb口
  • 5分钟后亮起第二张屏“我是小盒子也是大世界”和作者二维码则代表刷完底包
  • 此时务必等待5-8分钟系统初始化匆忙断电请重新刷机
  • 整个过程如果你无法使用HDMI屏幕观察也可以通过U盘的闪烁灯常闪判断是否在刷入
  • 如果刷完底包后一直无限重启,就是刷错了固件包,请重新更换正确的固件包。

pic
pic

查找 IP 进入管理页面

  1. 在路由器管理页面查找到自动分配给盒子的 IP浏览器输入 IP 进入系统管理页面

分配的IP的mac寻址为 00:11:22:33:44:55很容易查找。
pic

  1. 在我的电脑-网络-主机名(hi3798mvxxx)-downloads文件夹下可以找到 IP。
    pic
    pic

  2. windows的cmd下ping主机名也可以找到IP。
    pic

恭喜

pic

知识点

能使用 U 盘刷入系统,是作者其中之一的创新,
在uboot代码中添加了run命令函数可以让其具有run common的能力
然后使用bootargs的启动指令将U盘中的文件通过自创指令写入emmc
具体的实现例子如:

loadfiler=fatload usb 0 0x1000000 mv100/recoverybox32.ext4
flashpartitionr=mmc write.ext4sp 0x0 0x1000000 0x11000 0x20000
flashrootfs=run loadfiler flashpartitionr
bootcmd=run flashrootfs;

关于系统初始化和network的联通到出现分配的 IP 地址interface里采用的是auto模式而不是hotplug模式目的是开机启动必须自动往上寻址只要你的网线、路由、DHCP等网络环境是正常的那么就保证了盒子能够得到分配的 IP 。系统里有很多脚本是需要判断联网局域网后才会初始化的所以如果你刷机或者开机时没有连接好网络就会出现多发性的初始化错误。当然刷机第一次联网启动完成后就代表初始化完整了此后重启不受此影响。当然这个auto寻址模式也仅仅持续最多等待5分钟实在没有网络也会继续初始化。但是你可能需要多等至少5分钟的垃圾时间了。

当使用hitool工具擦除掉emmc全器件时emmc内容完全清空此时CPU启动时会自动跳跃去找usb口的fastboot.bin,也就是相当于短接的效果。

本教程写到这里基本结束了,想说的是,那些拿着作者的教程去卖钱的人士,是不是应该自觉捐款以安慰作者拔凉的心?

pic