简介:面向晶晨AML系列芯片机顶盒与网络电视盒的USB线刷工具包,适用于需要给电视盒重装或修复固件的玩家与维修人员,已在实际设备乐视C1s(AML8726MX)上验证可用。压缩包共162个文件、约6.37MB,以126个log日志、16个dll动态库、5个exe可执行程序及少量sys驱动、xml配置、inf安装信息和png图标为主,另含txt说明与ini配置,构成一套可直接运行的Windows端刷机环境;其中Qt与libusb相关组件承担界面与USB通信,日志文件便于回溯导入和刷写过程。已有9787人学习下载,说明该工具在AML方案机顶盒维护场景中具有一定参考价值。读者可获得可复用的线刷工具、固件加载与设备识别所需的运行组件,以及通过日志排查连接、驱动安装和刷写异常的思路,适合具备基础刷机认知、希望自行修复或升级盒子的用户按需取用。
1. 版本对不上:晶晨 AML8726MX 的线刷,卡住的往往不是镜像
上周又有人抱着一台老网络电视盒来找我,说照着教程插上 USB 线,晶晨 AML8726MX 的刷机工具界面干干净净,端口列表一行都没有。他换了两根线、试了三个 USB 口,最后开始怀疑盒子已经被自己刷废了。我把他那套工具关掉,换成包里另一个版本,同一根线、同一个口,三秒就出设备。AML8726MX 是 Cortex-A9 那一代的老 SoC,配套的 USB 线刷工具停在 2.0.x 分支上最听话,新版本对它的识别反而退化了。这类机器存量不小,机顶盒、网络电视盒、老式广告机里都有,刷对了能救活,刷错了真会变砖。下面按我自己的装机顺序,把系统、驱动、线材、镜像和烧录参数一条条摆清楚,适合手上有一台认不出的盒子、又不甘心直接扔的人。
2. 环境清单与版本选型:Windows、USB Burning Tool 2.x 和 WorldCup 驱动
动手前先把环境摆清楚,这一步比后面点“开始”重要得多。AML8726MX 的线刷链路只有四段:主机系统、烧录工具、USB 驱动、镜像包。四段里任何一段版本错位,表现都一样——端口列表空白,你根本分不清是驱动没装、线不通,还是盒子没进升级模式。所以先把每一段该用什么版本定死,再谈操作。
2.1 主机与系统:为什么一台老笔记本反而省事
我自己的刷机台上常备一台 Windows 7 x64 的老笔记本,专门干这个。不是因为怀旧,是因为 Win7 对未签名驱动的容忍度高,WorldCup 这类老驱动的签名证书早就过期了,在 Win7 上装完直接认,在 Win10 之后要额外折腾签名放行。
如果你只有一台主力机,Windows 10 也能用,但尽量挑 1809 之前的版本,或者至少保证能进“禁用驱动程序强制签名”的高级启动项。Windows 11 我没在 24H2 之后的版本上试过老工具,ARM 版 Windows 更是别碰,x86 的驱动装不上。
硬件上有三条硬要求,我写在下面这张表里,照着对一遍再开工:
| 项目 | 推荐配置 | 说明 |
|---|---|---|
| USB 口 | 主机后置 USB 2.0 | 前置面板和 USB 3.0 口识别率明显低 |
| USB 线 | 短、粗、能传数据 | 很多 Micro USB 线只供电不传数据 |
| 供电 | 原装 5V/2A 适配器 | 刷机过程中掉电是最伤的 |
| 硬盘空间 | 至少 4GB 空闲 | 镜像解包和日志会占空间 |
| 权限 | 管理员账户 | 驱动安装和工具写注册表都要 |
后置 USB 2.0 这条不是玄学。AML8726MX 的 USB OTG 控制器是老 IP,走 USB 3.0 主控转接时握手时序容易对不上,表现就是插上去毫无反应。中间加 USB Hub 也一样,Hub 芯片会把设备枚举过程拖慢,工具那边超时就放弃了。我一般直接插主板背后的口,笔记本就插机身左侧那个唯一的 USB 2.0。
还有一条血泪经验:刷机全程别让系统睡眠。Win10 默认 15 分钟休眠,烧录到 60% 屏幕一黑,醒来就是一个报废的 bootloader。
2.2 工具版本对照:2.0.x 和 2.1.x 在 AML8726MX 上的差别
USB Burning Tool 这个工具的分支差异很大,而 AML8726MX 恰好卡在分界线上。
2.0.x 系列是给早期芯片做的,界面简陋,但设备枚举逻辑宽松,只要驱动在、盒子在升级模式,基本都能认出来。2.1.x 之后工具重写了设备管理和镜像校验部分,加入了更严格的芯片 ID 匹配和镜像头校验,对 S905、S912 那些新芯片更友好,但面对 AML8726MX 这种老 ID,容易出现“设备已连接但无法识别芯片”的提示,或者干脆列表空白。
我的用法是:主力用包里的 2.0.x,遇到镜像校验报错再切 2.1.x 试一次。两个版本可以装在不同目录共存,不要覆盖安装,注册表项会打架。切换前先把上一个版本彻底退出,任务管理器里确认没有残留进程,否则新的那个打开就闪退。
工具本身是绿色版居多,解压后直接跑主程序。第一次运行建议右键“以管理员身份运行”,它要写驱动注册信息和日志目录,权限不够会在导入镜像那一步失败。
镜像是另一个变量。AML8726MX 用的是晶晨自家的升级包格式,文件名一般是aml_upgrade_package.img,体积从几百 MB 到 1GB 出头都有。这个包不是普通的 dd 镜像,里面分了 bootloader、kernel、system、recovery 几段,工具会按段烧。所以镜像和芯片型号必须对得上,拿一个 S905 的包往 8726MX 上刷,工具会在 DDR 初始化那一步直接报错,不会让你把机器写坏,但也不会给你任何有用的提示。
2.3 镜像、线材与供电:刷机前必须先确认的三样东西
在点任何按钮之前,我习惯做三件事,做完心里才有底。
第一件,确认镜像来源和完整性。拿到.img之后先算一次哈希,和提供方给的对照。别嫌麻烦,一个字节损坏的镜像能让工具烧到 87% 然后报校验失败,这时候设备里的 bootloader 已经被擦了一半,只能短接救。
# 计算镜像的 SHA256,和来源方给出的值逐位比对 Get-FileHash .\aml_upgrade_package.img -Algorithm SHA256 | Format-List # 顺便看一眼文件大小,正常的 AML8726MX 升级包一般在 300MB 以上 Get-Item .\aml_upgrade_package.img | Select-Object Name, LengthGet-FileHash默认就是 SHA256,-Algorithm写不写都一样,写上是为了让后来接手的人一眼看懂。Length是字节数,除以 1048576 就是 MB。如果只有几十 MB,多半是下载中断的残包,别浪费时间。
第二件,确认线材。拿万用表量不现实,我的土办法是插上一个 U 盘或者手机,系统能识别出存储设备,说明这根线有数据线芯。很多盒子附赠的线只焊了电源两根,插上去工具那边永远是空的。
第三件,确认盒子的 USB 口。AML8726MX 的板子上通常有多个 USB 口,但只有标注了OTG、DEV或者靠近复位键的那个能走从设备模式。插错了口,盒子只会把自己当主机,永远等不到枚举请求。看不清丝印就拿手电照,或者干脆每个口试一遍,插上后听 Windows 有没有“叮”的一声。
注意:刷机前把盒子断电,不是待机,是拔掉电源适配器。待机状态下 SoC 处于低功耗模式,复位键的时序会乱。
3. 装驱动:WorldCup Device 的三个安装入口和签名放行
驱动这一环是整个流程里最容易翻车的地方,因为它的失败表现和“没插好线”一模一样。AML8726MX 在升级模式下会把自己枚举成一个叫WorldCup Device的 USB 设备,注意这个名字,后面判断成功与否全靠它。
3.1 用 pnputil 把 WorldCup 驱动一次性装进去
工具包里的驱动一般在Driver或者USB_Driver目录下,里面有几个.inf、.cat和.sys文件。最省事的装法是命令行直接灌进去,不用点下一步下一步。
:: 以管理员身份打开 cmd,切到驱动目录 cd /d D:\AML8726MX\USB_Burning_Tool\Driver :: 把驱动包加入系统驱动仓库并立即安装 pnputil /add-driver WorldCup_Device.inf /install :: 如果需要递归安装目录下所有 inf,用这条 pnputil /add-driver *.inf /subdirs /install/add-driver是把驱动登记进 Windows 的驱动仓库,/install是让系统立刻尝试匹配当前在线的设备。/subdirs会遍历子目录,适合驱动目录里按系统版本分了Win7、Win10子文件夹的情况。
执行完会打印一段“已成功添加驱动程序包”,后面跟着一个oemXX.inf的编号。这个编号有用,卸载驱动的时候直接pnputil /delete-driver oemXX.inf /uninstall就行,比在设备管理器里翻半天干净。
如果这条命令报“找不到元素”或者“参数无效”,先确认 cmd 是不是管理员权限开的。普通权限下 pnputil 能读不能写,报错信息还特别含糊。
3.2 设备管理器手动指定 INF 的完整路径
命令行装不进去的时候,走图形界面。这条路慢,但你能看见系统到底卡在哪一步。
先把盒子断电,按住复位键不放,插上 USB 线,再上电,保持按住三秒后松开。这时候设备管理器里会冒出一个带黄色感叹号的未知设备,名字可能是WorldCup Device、USB download gadget或者一串USB\VID_1B8E&PID_xxxx。
右键它,选“更新驱动程序”,再选“浏览我的电脑以查找驱动程序”,然后指到驱动目录,勾上“包括子文件夹”。系统会自己挑对应的 inf。如果提示“已找到驱动但安装时遇到问题”,说明签名没过,往下看 3.3。
装成功的判据很明确:设备管理器里出现一个没有感叹号的WorldCup Device,位置通常在“通用串行总线设备”或者“libusb-win32 devices”下面。有些版本会把它归到“Android Device”,不影响使用。
这里有个细节容易忽略:驱动装好之后,盒子一旦断电,这个设备就从列表里消失了,这是正常的。它不是常驻设备,只在升级模式存在。很多人看到设备消失就以为驱动掉了,反复重装,其实什么都没坏。
3.3 Win10/11 的驱动签名放行:两种做法的取舍
WorldCup 这套驱动的签名证书是很早的,Win10 1607 之后默认不认。有两种放行方式,我按使用场景分开说。
第一种是临时放行,重启一次生效一次,适合只刷一两台机器的人。操作路径是:设置 → 更新和安全 → 恢复 → 高级启动 → 立即重新启动 → 疑难解答 → 高级选项 → 启动设置 → 重启 → 按 F7 选“禁用驱动程序强制签名”。重启后签名检查关闭,装完驱动刷完机,下次正常重启就恢复了,系统不留痕迹。
第二种是长期放行,修改启动配置,适合刷机台上那台专用机。
:: 开启测试签名模式,重启后生效,桌面右下角会有水印 bcdedit /set testsigning on :: 用完记得关掉,否则某些安全软件会一直报警 bcdedit /set testsigning offtestsigning on之后系统会接受自签名驱动,代价是桌面右下角常驻一个“测试模式”水印,部分带反作弊的游戏和银行控件会拒绝运行。所以我只在那台专用刷机机上开,主力机一律用临时放行。
还有一种情况是驱动装上了但设备带感叹号,错误代码 52,提示“无法验证签名的驱动程序”。这就是签名没过,两种方式任选其一,别去网上找什么“驱动签名永久破解工具”,那些东西本身来路不明。
4. USB 线刷实操:从导入 img 到“烧录成功”的完整参数配置
驱动装好、设备能认出来,剩下的就是时序和参数。这一章的操作密度最高,我按界面从上到下的顺序走一遍。
4.1 导入镜像与擦除选项:哪两个勾必须打
打开 USB Burning Tool,第一件事是导入镜像:菜单栏“文件” → “导入烧录包”,选中aml_upgrade_package.img。导入成功的标志是右侧信息区显示出芯片型号、镜像版本、各分区的大小。如果这里显示的芯片型号和你的盒子对不上,立刻停下,别往下走。
然后是配置区那几个勾选框,这是最容易凭感觉乱点的地方。我一般这么设:
| 选项 | 设置 | 原因 |
|---|---|---|
| 擦除 flash | 勾选 | 清掉旧分区表,避免残留数据打架 |
| 擦除 bootloader | 一般不勾 | 勾错会让盒子彻底进不了 USB 模式 |
| 覆盖烧录密钥 | 不勾 | 涉及设备唯一密钥,刷错不可逆 |
| 烧录完成后重启 | 勾选 | 省一次手动断电 |
“擦除 bootloader”这一项要单独说。它的作用是连引导程序一起清掉再重写,理论上更干净。但 AML8726MX 的 bootloader 里带着 USB 升级模式的入口,一旦擦除过程中断电或者镜像损坏,盒子就再也进不去升级模式,只能拆机短接 NAND 引脚救。除非你确认镜像完整、供电稳定、并且之前刷过一次同样的包成功过,否则不要勾。
“擦除 flash”相对安全,它清的是用户数据区,坏了还能重来。
参数区还有一项“是否重启”,勾上之后工具会在烧录完自动发重启指令。有些老盒子对这个指令不响应,会一直卡在 100% 不动,这时候手动断电重启就行,不是失败。
4.2 进入升级模式的时序:复位键、短接点和上电顺序
这是整个流程里唯一需要手眼配合的地方,时序错了,前面全白搭。标准动作分四步:
- 盒子拔掉电源,USB 线一头插主机后置口,另一头准备好但先不插盒子。
- 用卡针或者牙签按住盒子上的复位孔(RESET),保持住不要松。
- 把 USB 线插进盒子的 OTG 口,此时盒子靠 USB 供电,指示灯可能微亮。
- 插上电源适配器,继续按住复位键约 3 秒,然后松开。
正确的时序下,工具的端口列表会在两三秒内刷出一行设备,显示WorldCup Device加一个连接状态。如果没有,先别急着重复,把线拔了等十秒再来一次,连续快速插拔会让 USB 控制器进入保护状态。
有些批次的板子没有外置复位键,只有板载的两个短接点。这种就得拆壳,用镊子短接那两个焊盘,同时插 USB 上电,看到工具出设备就松开。短接点位置各板不同,一般在 NAND 或者主控旁边,标着RESET或者两个相邻的过孔。短接的时候手别抖,碰到旁边的元件可能直接报废。
还有一个反直觉的点:部分盒子在插上 USB 的瞬间就自动进入升级模式,根本不用按复位键。判断方法是插上后看工具列表,如果直接出设备,说明这块板子的 OTG 检测电路是常开的,后面刷机就不用折腾按键了。
4.3 进度条每一段在干什么,卡住时该看哪
点“开始”之后,进度条会分几段走,每一段对应不同的写入对象。知道它在干什么,卡住的时候才知道该往哪个方向查。
- 0% 到 2%:握手和芯片识别。这一段卡住,问题在驱动、线材或者盒子没进升级模式,跟镜像无关。
- 2% 到 7%:DDR 初始化和 bootloader 写入。这一段报错,八成是镜像和芯片型号不匹配,或者供电不足导致 DDR 训练失败。
- 7% 到 15%:分区表和环境变量写入。这一段失败通常是镜像包结构损坏。
- 15% 到 90%:system 和 data 分区写入,最耗时的一段,正常要几分钟。
- 90% 到 100%:校验和收尾。
工具界面下方有个日志窗口,出问题先看那里,比进度条有用得多。日志默认存在工具目录的log文件夹里,文件名带时间戳,每次刷机一份。这个日志我建议留着,后面如果机器出问题,翻出来能对上是哪一步写坏的。
烧录过程中不要动盒子,不要碰线,不要让主机休眠。我有一次烧到 78% 的时候顺手挪了一下盒子,USB 接触瞬间断开,工具报“USB 传输错误”,盒子直接变成半砖,最后靠短接才救回来。从那以后我刷机的时候桌上什么都不放,就一台盒子一根线。
5. 常见问题排查:识别不到、卡 2%、刷完黑屏怎么救
这一章是我这些年攒下来的失败记录,按现象分类。遇到问题先对号入座,别一上来就重装系统。
5.1 端口列表一直是空的,插上毫无反应
现象:盒子按标准时序进了升级模式,指示灯也亮了,但工具端口列表一行都没有,设备管理器里也看不到新设备。
原因:按出现频率排,依次是 USB 线只供电不传数据、插了前置面板或者 USB 3.0 口、驱动没装或者被签名拦住、盒子压根没进升级模式只是通了电。
解决:先用同一根线接个 U 盘验证数据线芯;换主机后置 USB 2.0 口;打开设备管理器,勾选“显示隐藏的设备”,看有没有带感叹号的WorldCup Device,有就回第 3 章装驱动;以上都排除,说明盒子没进升级模式,重新走一遍 4.2 的时序,按住复位键的时间延长到五秒再松。
5.2 卡在 2% 到 7% 之间不动,最后报 DDR 错误
现象:设备能认出来,点开始后进度条走到 2% 或者 4%、6% 就停住,几十秒后日志刷出一行[0x10103005]Romcode/Initialize DDR/Read initialize status之类的错误。
原因:DDR 初始化失败。要么镜像包不是给 AML8726MX 的,要么供电不稳导致内存训练过不去,要么这颗 SoC 的实际型号和镜像里声明的不一致(有些盒子标 8726MX,实际是 8726M 或者别的变种)。
解决:先换一个确认来源的镜像包,这是最常见的;再把盒子从 USB 供电改成独立电源适配器供电,USB 口只走数据;还不行就换一台主机试,某些主板的后置口输出电流偏弱。最后一种可能是芯片型号真的对不上,那就别硬刷了,刷进去也开不了机。
5.3 进度走到 100% 显示成功,开机黑屏
现象:工具提示“烧录成功”,盒子重启后 HDMI 无输出,指示灯常亮或者闪烁,等十分钟也没反应。
原因:镜像和硬件不适配,最常见的是拿了同芯片但不同板型的包;或者擦除了 bootloader 之后新 bootloader 没写完整;还有一种是首次开机需要初始化,时间比正常长。
解决:先等满五分钟,部分老盒子首次启动要重建 data 分区,慢得离谱;还是没有输出就重新刷一次,这次勾上“擦除 flash”,确保分区表干净;连续两次黑屏说明镜像不对,换包,别在同一个包上反复刷。刷之前如果能确认板型编号,对着编号找包,成功率会高很多。
5.4 刷完之后盒子再也进不去 USB 升级模式
现象:想再刷一次,按原来的复位键时序操作,工具永远识别不到,设备管理器里连未知设备都不冒。
原因:上一次刷机勾了“擦除 bootloader”,而新的 bootloader 没写成功,或者写进去了但 USB 升级入口被关掉了。这时候盒子只剩一个空的引导区,复位键逻辑也随之失效。
解决:只能拆壳短接。找到板子上的 NAND 或者 eMMC 芯片,短接它的数据引脚(具体引脚定义要查芯片手册),同时插 USB 上电,强制 SoC 进入 Romcode 模式。这个模式下工具能认出一个WorldCup Device,然后重新刷一个完整包。短接有风险,手不稳会烧芯片,没有经验的话建议先拿一块报废板练手。
5.5 工具打开就闪退,或者被杀毒软件直接清掉
现象:双击主程序,窗口闪一下就没了;或者解压完发现某个.exe、.dll不见了。
原因:USB Burning Tool 这类工具会直接操作 USB 设备和磁盘扇区,行为特征和某些风险程序重合,杀毒软件容易误判。另外工具依赖的几个运行库如果系统里没有,也会启动即崩。
解决:把工具整个目录加进杀毒软件的白名单再解压;确认系统装了 VC++ 运行库的 x86 版本,注意是 x86 不是 x64,这工具是 32 位的;右键属性里勾上“以兼容模式运行这个程序”,选 Windows 7。还是闪退就换包里的另一个版本,2.0.x 和 2.1.x 的运行库依赖不完全一样。
6. 验证一次跑通:冷启动自检和三个必须留的日志
烧录成功不等于刷机成功,这是两回事。工具说的“成功”只代表它把字节写进去了,盒子能不能正常起来是另一码事。我每次刷完都走一遍固定的自检流程,五分钟,能省掉后面一小时的扯皮。
第一步是彻底冷启动。拔掉 USB 线、拔掉电源,等满三十秒,让板子上的电容放干净。这三十秒不能省,我见过太多“刷完黑屏、断电重插就好了”的案例,其实是残余电荷让 SoC 停在异常状态。
第二步,只插电源适配器,不接 USB,观察三个信号:指示灯是否从常亮转成呼吸或者闪烁、HDMI 是否在十秒内出信号、开机画面是否完整走完。三个都正常,基本可以判定 bootloader 和 kernel 没问题。
第三步,如果能进系统,接上网线或者无线,用 adb 再确认一遍关键属性:
:: 确认设备在线,序列号能读出来说明 adbd 正常 adb devices :: 读芯片型号和构建版本,和刷入的镜像对一遍 adb shell getprop ro.product.board adb shell getprop ro.build.version.incremental adb shell getprop ro.build.datero.product.board应该能对上 AML8726MX 相关的板型标识,ro.build.version.incremental和ro.build.date要和镜像包的文件名或者发布说明一致。对不上就说明刷进去的不是你以为的那个包,可能是工具缓存了上一个镜像,重新导入一次再刷。
第四步,留日志。工具目录下的log文件夹里,每次烧录一份带时间戳的文本,我习惯把它和镜像的哈希值一起归档,命名成板型_日期_镜像版本.log。以后这台机器再出问题,翻出这份日志就能确认当初烧的是哪一版、有没有报过警告。另外一个要看的是盒子自己的last_kmsg或者dmesg,能进 adb 的话直接拉出来:
:: 拉取内核日志,重点看 DDR 训练和分区挂载有没有报错 adb shell dmesg > dmesg.txt adb shell "cat /proc/last_kmsg" > last_kmsg.txtdmesg里搜mmc、nand、mount这几个关键词,出现failed或者timeout就要留意。刷完能开机但用一会儿就重启的机器,问题八成藏在这里。
最后一步是复刷验证。同一台机器,用同一个包再刷一次。第二次能顺利走完 100%、开机正常,说明这套组合是稳定的;第二次就失败,说明第一次成功带有偶然性,可能是接触或者供电的临界状态,这种机器交付出去迟早返修。
从那以后我每次刷完 AML8726MX,都强制走一遍冷启动加复刷的流程,不管当时多赶时间。吃过一次亏——一台盒子刷完当场能开机,我直接装回去,三天后用户说反复重启,拆开一看是 bootloader 写入不完整,返工的成本是当场验证的十倍。这套流程看着啰嗦,实际也就多花五分钟。希望帮到你。
本文还有配套的精品资源,点击获取