XCD刷机常见问题 & 解决办法自查表
刷写 super/misc/preset 分区时中断
问题现象:
在使用 fastboot 或者 EDL 模式刷写 super 稀疏镜像,或者在刷写 misc 镜像时刷机异常中断,且报错为 FAILED(Error reading sparse file) 时,很大概率是由于心跳开启导致的超时机制触发并中断了刷机。
解决办法:
在 MCU shell 运行 pm.soc.fastboot.ctrl 1 后再刷机。
参照 XCD SoC功能安全心跳开启后刷机指导 在终端输入对应命令关闭心跳后重新启动刷机流程。
注:若刷机中断时间距离刷机开始时间过长,如已经超过 120s,可能是连接不稳定导致的。
启动 bat 脚本后闪退 / 脚本刚启动就报错
问题现象:
在 Windows 上直接双击运行 bat 刷机脚本后闪退,或者在脚本刚启动时就出现报错。
解决办法(按顺序自查):
- 板子与 ROM 是否匹配:是否在 P801 的板子上刷写
suiren/ 是否在 N801 的板子上刷写ampere。正确对应关系:- N801 硬件 → suiren ROM
- P801 硬件 → ampere ROM
- fastboot 版本:是否已经安装了最新版本的
fastboot并已经成功将其添加到系统变量PATH。理想情况下,应在 cmd 中的任何工作目录下输入fastboot --version都能显示 35 以上的版本号。Windows最新adb/fastboot工具包下载 - 若以上都确认完毕,而脚本仍然闪退的话,尝试在 cmd 中切换到刷机包目录,然后运行
python fastboot_flash.py,查看具体报错:- 若在刷写
gpt_both0时报错为Device unauthorized,请使用小米汽车鉴权工具刷机。参考 小米汽车PC刷机鉴权工具 - 使用说明 - 若在刷写
gpt_both0时报错为No such file or directory,请首先检查 ROM 路径不应该有空格,其次检查进入 fastboot 的方式:不要使用adb reboot fastboot,应该在 MCU 终端输入pm.soc.fastboot.ctrl 1进入 fastboot
- 若在刷写
刷机失败导致设备重启后仍然进 fastboot
问题现象:
由于未关闭心跳,或者在刷机未完成时断电等情况,使得刷机在中途停止后,正常重启设备后仍然进入 fastboot 模式,无法正常开机。
解决办法:
按照本文第一节的解决办法正确关闭心跳后,或者在解决其他问题后完整刷机一次,重启即可。
刷机后预装业务未按预期工作
问题现象:
刷机后预装业务(如小爱同学、高德地图)的功能异常,未按预期效果执行。
解决办法:
首先请确认刷机时是否刷写了 preset 分区。往设备内刷写 preset 分区的途径有:
- 运行刷机包内的
flash_all_preset.sh或者flash_all_preset.bat脚本 - 在终端或 CMD 中,在刷机包目录下执行
python fastboot_flash.py -x flash_all_full.xml(需要安装 Python 3.6 及以上版本) - 在小米汽车鉴权工具中,使用 EDL 刷机;或者在 fastboot 刷机中勾选工厂级刷机,在弹出的窗口输入”确认”
其次请确认所需测试的功能是否存在于全量线刷包。若是,请下载全量线刷包并使用以上方法重新刷机。
💡 什么是全量线刷包?
全量线刷包指的是刷机包内有完整
preset镜像的 ROM 包。一般不涉及预装业务的领域,使用体积更小的线刷包即可。全量线刷包体积比一般线刷包的更大,且名字拥有_preset后缀。
板子与 ROM 对应速查
| 硬件平台 | ROM product |
|---|---|
| N801 | suiren |
| P801 | ampere |