拯救变砖的安卓游戏盒子

拯救变砖的安卓游戏盒子

2026-10-27 11:03:43 1点赞 3收藏 0评论

先上结论,省得你往下翻

一台开机动画无限循环的云游戏盒子,第三方报价 150–300 元换 eMMC。

实际没坏。花 8 块钱买个 CH340 串口模块,拆机接 3 根线,敲 2 条命令,机器活了。

没刷机、没双清、数据一个没丢。

全程两个晚上,失败 9 次。这篇把踩过的坑全部写出来,你照着走能少熬一宿。

一、先别掏钱:三步判断是软件还是硬件

盒子型号:速界 G1 Pro(G3142C1),晶晨 S905X4 / 4+64G / Android 11,京东全新 248–267 元。

故障:开机动画无限循环,永远进不去桌面。

第三方给的答案很统一:eMMC 坏了,换 eMMC 150–300 元。

我拒绝了。理由特别简单,一点都不专业:

它还在播开机动画。

开机动画是从存储里读出来的 bootanimation.zip,要读文件、解压、解码、上屏。能连续播几个小时不花屏、能正常循环,说明存储、分区、文件系统、内核、图形栈全是好的。

eMMC 真坏了是什么样?卡第一屏 logo、反复重启、报 I/O error、连 Recovery 都进不去。

一样都不符合。

所以我的第一判断是:系统活着,只是在等一个永远等不到的东西——桌面。

💡 这条判断帮我省了至少 150 块。你也可以用:只要开机动画在正常循环,就别信「存储坏了」。

【花费 0 元】【耗时 5 分钟】

二、第一轮:网络 ADB(失败,但很有价值)

Android 排障第一反应是 ADB。插网线,拿到 IP 192.168.1.19。

adb connect 192.168.1.19:5555 —— 连不上。

不意外。但我没停在「试了不行」,做了两件事:

① 全端口扫描(Python 多线程扫 1–4096)
结果:一个开着的端口都没有。能 ping 通,但没有服务在监听。

② mDNS 扫无线调试广播
结果:无响应。

结论:这台机器的网络调试从来没打开过。

⚠️ 这里翻了个小车:扫描时发现 192.168.1.8 的 ADB 居然是通的,我差点以为找到了盒子。一查 ro.product.model=ak30a5——是我自己家的 TCL 电视。排查时认错设备太常见了,IP 和 MAC 一定要核对。

【花费 0 元】【耗时 20 分钟】

三、第二轮:USB 直连(失败,但挖到关键情报)

盒子有两个 USB-A 口,一黑一蓝。理论上其中一个可能是 OTG,能直连电脑。

我开了个 USB 设备监控在后台,然后:

1. 盒子断电

2. 线一端插电脑后置 USB 2.0 口,一端插盒子黑色口

3. 上电,等 30 秒

结果:设备管理器毫无反应。连「无法识别的 USB 设备」都没弹。

换蓝色口再来:同样零枚举。

这里有两个必须纠正的误区

误区一:USB 口颜色代表 OTG。
不。黑的是 USB 2.0,蓝的是 USB 3.0(或者纯装饰配色)。颜色只代表速率,跟能不能被识别成设备一点关系都没有。

误区二:插上没反应就是线坏了。
不是。「零枚举」本身就是结论——说明这两个口是纯 Host 口,只有主机通路,没有设备通路。盒子只能读 U 盘,永远不会出现在电脑的「设备」列表里。

这条情报后面非常有用,它直接否掉了「买根双公头线刷机」的念头。

⚠️ 安全提醒:不要用普通双公头 A-A 线。两端 VCC 对接,运气不好会烧接口。一旦电脑弹「USB 端口过流」,立刻拔线。

【花费 0 元】【耗时 40 分钟】

四、第三轮:U 盘引导(最像有希望,死得最彻底)

查 S905X4 资料时翻到一条:晶晨 u-boot 里有

cfgloadusb → 扫 U 盘第一个 FAT32 分区,找 cfgload recovery_from_fat_dev → fatload aml_autoscript → autoscr 执行

重点在:读进内存就直接执行脚本,不校验签名。

如果这版固件还留着这个入口,我把脚本扔 U 盘根目录、插上通电,u-boot 就替我执行命令——不用按键、不用拆机、不用固件。

听起来完美。我认真做了。

做了什么

① 手工构造脚本镜像
aml_autoscript 是 u-boot 的 Legacy Script Image 格式。懒得装 mkimage,直接用 Python 按字节拼:magic 0x27051956、IH_TYPE_SCRIPT=6、AArch64、header 和 data 各算一遍 CRC32。写完自己验了一遍,全对。

② 四个文件名 × 三个变体
不同厂商查找的文件名不一样,所以同一份镜像放四份:aml_autoscript / cfgload / boot.scr / s905_autoscript。
命令做了三个变体(强制 recovery / 引导 recovery 分区 / 触发 update 流程),每个都是 saveenv + reset。
再配一个假 update.zip——故意不签名,目的不是刷成功,是骗晶晨 Recovery 弹出菜单。报「签名验证失败」也算成功,说明它读了 U 盘。

③ 插上、断电、上电

结果:黑屏 / 卡 logo。

我一度以为成功了(A 变体结尾是 reset,U 盘一直插着会「执行→重启→再执行」死循环,表现就是进不了系统)。

然后发现了真正的问题

U 盘里的文件没了。

热插拔惹的祸:Windows 写入缓存没落盘,目录项直接丢了。

也就是说——之前那次「黑屏」跟脚本一点关系都没有,盒子可能压根没读到文件。

这是个很典型的实验错误:没确认「输入真的到位」,就去解释「输出的异常」。

解决方式很土:写完文件强制卸载卷,再从闪存回读(不是读缓存),逐个校验大小 + magic + CRC。确认文件真在闪存上,才算准备好。

最关键的一步:基准对照

重做之后,我做了一件很多人会跳过的事——先跑一次不带实验变量的对照:

拔掉 U 盘,盒子断电、上电,看它什么状态。

结果:回到原来的开机动画循环,和最开始一模一样。

这一个结果,含义有三层:

1. 之前的「黑屏」是巧合,不是脚本干的;

2. 盒子状态从未被脚本改过;

3. 所以所有变体根本没被执行——不是「执行了没效果」,是没跑。

💡 没有这个对照,我会一直以为「脚本跑了但命令不对」,然后在换变体里耗到天亮。
这是整晚最值钱的一次实验设计。

9 条路,全灭

#方法结果1网络 ADB :5555TCP 1–4096 全关2mDNS 扫无线调试无响应3USB 直连黑色口零枚举4USB 直连蓝色口零枚举5遥控器组合键无反应6通断电 3 次 + 放电无反应7U 盘假 update.zip无反应8U 盘 u-boot 脚本(4 文件名 × 3 变体)无反应9基准对照与之前一致 → 确认 7、8 真没生效

不是操作问题,是这版固件把这些入口全裁了。2023 年后的认证机型普遍带 AVB2.0 + 签名校验,厂商删掉工厂测试通道是常规操作。

【花费 0 元(U 盘家里有)】【耗时 一晚上】

五、算笔账:还值不值得修

到这一步,只剩两条路:

方案花费时间结果UART 串口8–15 元1–3 小时数据不丢,成功率约 90%售后 / 换新248 元5 分钟100% 可用

我选了 UART,理由很实在:8 块钱买一个确切答案,值。

但我也给自己划了线:最多投 10 块钱 + 一次拆机,搞不定就换新。没有这条线,很容易陷进沉没成本里。

关于「再买点什么」的两个劝退:
双公头 A-A 线?别买。线刷要三个条件同时满足:A-A 线 + 盒子进 MaskROM(得短接主板 eMMC_D0 与 GND,无复位键只能拆机)+ 原厂固件。三缺二,买了就是白花钱。
键盘鼠标?现在没用。系统还没到收输入的阶段。留着万一进 Recovery 当光标用可以。

六、采购清单(一共 10 元出头,包邮)

配件价格怎么挑CH340 USB 转 TTL 模块6–10 元🔴 必须能拨到 3.3V 电平
❌ 别买 PL2303(Win11 驱动坑)
❌ 别买一体成型的「下载线」(多半固定 5V,改不了)杜邦线 母对公3–5 元母头接模块排针,公针插主板裸孔

就这两样。一扎 40 根几块钱,买一扎比买 4 根划算。

【花费 约 10 元】

七、拆机与接线:三根线,两条纪律

拯救变砖的安卓游戏盒子

拆开之后,主板上留了一排 5 个孔,丝印很清楚:

NA GND RX TX VCC

是裸孔,没焊针。内径约 1.0 mm,杜邦线公针 0.64 mm 见方——插得进,但不牢。

接法(只有三根)

板 GND → 模块 GND ✅ 必须接 板 TX → 模块 RXD ✅ 交叉! 板 RX → 模块 TXD ✅ 交叉! 板 VCC → ✗ 不接 板 NA → ✗ 不接

为什么要交叉?TX 是「我说」,RX 是「我听」。两个「说」接一起没意义,必须一方的嘴对另一方的耳朵。

🔴 纪律一:VCC 一根都不能接。
盒子有自己的 DC 电源,模块从电脑 USB 取电。把模块的电灌进主板 = 两路电源对撞,轻则保护,重则烧 SoC。两套电源各自独立,只靠 GND 共地。

🔴 纪律二:模块电平拨到 3.3V。
S905X4 的 IO 是 3.3V,5V 会打坏。

两个手工细节,决定成败

1. 公针折弯约 15° 再斜插,靠金属弹力顶住孔壁。直插会掉。

2. 用美纹纸把线束粘在板边,别让线的重量压在针上。

这条路上最常见的失败不是技术问题,是接触不良。我一开始只接 2 根(GND + 板 TX → 模块 RXD)先确认能收到数据,再接第三根——这样万一没输出,能立刻分清是接线问题还是模块问题。

【风险 中(要拆机,但不用电烙铁)】【耗时 40 分钟】

八、第二个坑:驱动问题代码 28

模块插上电脑,设备管理器出现 USB-SERIAL CH340,但状态是 Error,没有 COM 口。

· 硬件 ID:USBVID_1A86&PID_7523(VID_1A86 = 南京沁恒)

· 问题代码:ProblemCode = 28 = 驱动未安装

有意思的是,驱动早就在系统里:

C:WindowsSystem32DriverStoreFileRepositorych341ser.inf_amd64_*ch341ser.inf

INF 里明确写着支持 USBVID_1A86&PID_7523。电脑认出了芯片,却没给它加载驱动。

不需要联网下载任何东西,管理员权限跑一次就行:

pnputil /add-driver <那个 inf 路径> /install pnputil /scan-devices

问题代码从 28 变 0,端口出现:COM7。

💡 原因:Windows 只在设备首次插入那一刻匹配驱动。那一刻没匹配上,就永远卡在错误状态,不会自己恢复。手动绑一次,永久解决。

【花费 0 元】【耗时 15 分钟】

九、console:/ $ 出现的那一刻

串口参数:115200 / 8N1。先开监听,再给盒子上电(反了就错过最前面几行)。

然后看到:

ÄüÑøübÄbã&bDBÄøýý¬ý ... read_ao no reg:0x11 [VRTC]: xMboxGetRTC val=0x0 disable wdt console:/ $

前面一大段乱码,后面突然清晰,最后给了个提示符。

🔑 这条经验几乎没人讲

Amlogic 盒子的 u-boot 阶段和 Android console 阶段,波特率可能不一样。

在 115200 下,u-boot 那几秒就是纯乱码,而 Android console 是标准 115200 可读。

所以:看到一开始满屏乱码,别以为接错了线,也别急着换波特率。等 20–30 秒,如果乱码之后开始出现可读文字、最后给你提示符,就是通了。

console:/ $ = 一个 uid=2000(shell) 的命令行,落在一个活着的 Android 上。

这一个符号出现,数据就得救了。

十、几行输出问出真相

id # uid=2000(shell) ... getprop sys.boot_completed # (空) ← 从未完成启动 getprop init.svc.bootanim # running ← 动画服务一直在跑,就是屏幕上那个循环 pm list packages -d # package:com.android.tv.settings # package:com.aigyzn.gylauncher ← 原厂桌面被禁用了! cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME # No activity found ← 全系统没有可用桌面

连起来读:

系统起来了一切,唯独没有桌面。ActivityManager 等不到 HOME,bootanim 就永不停止。

「开机动画无限循环」不是卡住了,是系统在耐心等一个永远不会出现的桌面。

十一、两条命令修好

pm enable com.aigyzn.gylauncher # Package com.aigyzn.gylauncher new state: enabled pm enable com.android.tv.settings # Package com.android.tv.settings new state: enabled reboot

重启后验证:

getprop sys.boot_completed # 1 getprop init.svc.bootanim # stopped pm list packages -d # (空) mCurrentFocus # com.aigyzn.gylauncher/.activity.MainActivity

四条全绿。桌面回来了。

数据零丢失。没双清、没刷机、没格式化、没动 eMMC。

两个晚上 + 9 次失败,换来两行 pm enable。

十二、附:把桌面换成当贝(又踩一个坑)

修好后想换成当贝桌面,标准做法一条命令:

cmd package set-home-activity com.dangbei.tvlauncher # Success

resolve-activity HOME 也正确指向当贝。结果重启后桌面又回原厂了。

查 dumpsys package 才发现:

flags = [ SYSTEM ... PERSISTENT ... ] privateFlags = [ ... DIRECT_BOOT_AWARE ... ] RECEIVE_BOOT_COMPLETED: granted 进程 uid = system

PERSISTENT + DIRECT_BOOT_AWARE + 开机广播 + system uid —— 这是厂商定制的常驻系统桌面,开机自己抢前台,会盖过「默认桌面」设置。

所以必须让它让位:

cmd package set-home-activity com.dangbei.tvlauncher pm disable-user --user 0 com.aigyzn.gylauncher # 只对 user 0 停用,数据保留 am start -a android.intent.action.MAIN -c android.intent.category.HOME

用 disable-user 而不是 disable:只针对 user 0,应用和数据都保留,一条 pm enable 就能恢复。

💡 最重要的一个教训

我最初是先把原厂桌面禁用,再指望当贝接管——结果系统没有任何 HOME,直接开不了机。这次故障的起因大概率就是这个。

换桌面的正确顺序:先把新的设为默认,再让旧的让位。
先杀旧的再等新的,等于把自己关在门外。

十三、账单与复盘

方案花费结果第三方换 eMMC150–300 元误诊,价格还够买半台新机直接换新248 元旧机变电子垃圾UART + 2 条命令约 10 元 + 两个晚上修好,数据零丢失

三条我觉得最值钱的经验

① 现象比诊断可靠。
「开机动画能播 = 存储没坏」不需要任何专业设备,但直接否掉了一个 150–300 的报价。任何时候先问:如果真是 X 坏了,现象该是什么样?跟眼前的景象对一遍。

② 一定要做基准对照。
U 盘那段如果没做「拔掉 U 盘再上电」,我永远不知道脚本有没有执行,会在「换变体」里耗一整晚。变量没确认到位时,不要解释异常结果。

③ 止损线提前写死。
「整机 250 元」从第一天就写进方案。它决定了:超过 100 元的维修一律不接、UART 最多投 10 块、搞不定就换新。没有这条线,很容易在「都折腾这么久了」里越陷越深。

十四、如果你也想救一台

先试这些(零成本,按顺序)

1. 遥控器组合键进 Recovery(确认+返回 / 菜单)

2. 机身底部、脚垫下、贴纸下找隐藏 RESET 孔(很多人漏看这里)

3. 连续快速通断电 3 次,部分晶晨固件会自动进升级模式

都不行 → UART

买 CH340(记得 3.3V 跳线)+ 母对公杜邦线,接 GND / TX / RX 三根,VCC 不接,115200 8N1,先开监听再上电。

拿到 shell 后照这个查

getprop sys.boot_completed getprop init.svc.bootanim pm list packages -d cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME

resolve-activity 返回 No activity found = 没有桌面,就是它。把被禁用的桌面包 pm enable 回来,重启,结束。

⚠️ 保修优先
拆机会留痕迹(撬痕、断卡扣、螺丝磨损),很多售后据此判人为损坏。
正确顺序:先花 5 分钟问客服保修状态 → 在保就寄修 → 过保再动手。
当然我这台早就没保修了,售后客服也没反应了。

最后

两个晚上、9 次失败、一次误判、一次热插拔丢文件。这里面没有天才,只有一遍遍排除。

但账是清楚的:10 块钱,换回一台 250 块的机器,和一次「原来可以这样」的经验。

如果你手上也有一台这样的盒子,先别扔,也别急着付钱。花 10 块钱,给自己一个确切的答案。

所有命令均为实际执行记录。拆机与接线存在风险,电平接错可能损坏主板,请自行评估后操作。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮

电子数码韭菜

关注 打赏
最新文章 热门文章
3
扫一下,分享更方便,购买更轻松