红米5A 无电池直供电改造:插电自动开机 + 远程 ADB 映射(无需控制电源开关)
背景
红米5A(riva,msm8937 平台)作为无电池 USB 直供电设备使用(如工控、kiosk、测试机等场景),面临三个核心问题:
- 插电无法自动开机:断电后重新插上 USB,设备停留在充电界面,需要手动长按电源键才能进入系统
- 充电模式启动后 ADB 失效:即使设法从充电模式转入正常系统,USB gadget 仍保持在 mass_storage 模式,ADB 无法使用
- ADB 只能 USB 连接:需要通过内网穿透实现远程 ADB 访问
经过多轮测试和诊断,最终找到了可靠的解决方案。本文记录完整的排查过程和最终方案。
核心优势:全程无需按电源键,无需控制任何电源开关——只需接好双路供电并插入 USB,系统自动完成从充电界面到远程 ADB 可用的全部流程。
设备环境
- 设备:Xiaomi 红米5A (riva)
- 芯片:Qualcomm msm8937
- ROM:MIUI 9.6.27 开发版 (Android 8.1)
- Bootloader:已解锁(verifiedbootstate=orange)
- 供电方式:保留电池保护板(BMS)+ USB 双路供电(详见下文)
- 使用场景:需要断电后插电自动开机,并通过 ADB 远程控制
前置条件
软件前提
- 已获取 root 权限(通常需要 bootloader 已解锁,通过 SuperSU 或 Magisk 获取),需要修改
/system和/vendor分区
硬件改造:无电池直供电
本文的软件方案基于以下硬件改造前提:
改造方法
- 拆除电芯,保留电池保护板(BMS):将原装电池的电芯拆掉,但保留电池上的保护板(排线和小板)
- 从保护板输出端引出正负极,串联一个二极管后接入外部 5V/2A 电源(需稳压至 3.8V-4.2V 模拟满电状态),直接供电给主板
- 这样系统能检测到"电池存在"(BMS 正常通信),不会因检测不到电池内阻而关机或限频
为什么要保留 BMS
如果直接通过尾插 USB 供电(不接任何电池相关硬件),部分机型会因为检测不到电池内阻而:
- 拒绝开机
- 开机后自动关机
- CPU 限频运行
保留 BMS 可以欺骗主板,让它认为电池仍然在位。
双路供电触发充电模式
实际使用中需要同时提供两路供电:
- 保护板供电(模拟电池,维持主板正常工作)
- USB 接口供电(提供主要电力 + 数据连接)
本文为会员专享,开通月度会员即可阅读全部付费文章







