参考 小米座舱PC刷机鉴权工具v2.0 - 使用说明

📌

  1. 实车优先 OTA。
  2. PT 阶段开始,实车均为熔丝设备。PT 之前的实车也可能是熔丝设备。
  3. 8650 平台建议先升级 MCU(25.05.07 之后的版本),然后再刷写 SOC,避免版本不匹配引起 soc 反复重启然后进入 Fastboot 模式 或 Recovery 模式(MCU 可通过 OTA 方式升级)。
  4. ROM 包所在路径不要超出 fastboot 参数长度,打包平台 rom 包路径较长,不要嵌套好几层。
  5. 底包为手机工厂包,则需使用 miflash 或 rom 内置脚本刷写至座舱版本。若要使用座舱工具则需在 EDL 模式下刷写。

权限说明

  1. 驱动安装 Windows常用驱动

  2. 刷机工具下载 小米汽车PC刷机鉴权工具 - 下载地址

  3. 刷机权限申请 小米汽车PC刷机鉴权工具 - 账号&权限申请说明

    1. 需要申请对应车型的刷机权限:
    2. 研发设备(熔丝台架/研发测试车)需要申请设备刷机调试权限:
      • 小米审批搜索:小米汽车座舱鉴权 - 车机白名单入库
      • 填写对应的车型、sn 号、说明申请原因(研发车/研发设备),sn 号会在刷机流程中体现
      • 研发设备进入白名单之后,所有用户均有刷机调试等权限。
    3. 量产设备(用户车/媒体车/店铺车)需要申请设备刷机调试权限:
      • 小米审批搜索:小米汽车座舱鉴权 - 一人一机权限申请(含量产设备)
      • 填写车型、sn 号、选择权限申请时长,依据需要调试的内容选择对应的权限:
        • 刷机权限:8295/8650 设备的 EDL 刷机权限
        • BIOS 权限:可以调试 bios 系统。
        • 解锁权限8295 平台 QNX shell 权限,8650 平台 Fastboot 解锁权限含刷机),各平台 SSH 诊断访问权限
        • MCU JTAG 权限:MCU 刷机时获取 一机一密权限,SN 为设备 IMEI。
        • MCU 串口权限:MCU shell 串口解锁权限。
    4. 未熔丝台架不做任何管制措施。
    5. 对应 SN 号说明:
      • SOC:芯片 id,全小写带 0x,用于 SOC 鉴权。
      • MCU:芯片 id,全小写带 0x,用于 MCU 串口鉴权。
      • IMEI:装车件 IMEI 号,全数字不带 0x,用于 MCU JTAG 权限获取一机一密密钥。

接线说明

台架接线说明

  1. 串口/端口/USB 连接说明

实车接线说明

  1. 8295 平台 暂无方控快捷键,线刷需要拆车。
  2. 8650 平台 需要准备 USB to USB 的数据线:
    • 车端 USB 接口位于副驾驶手套箱内。
    • 电脑端的数据口必须为 USB 头,但可以通过转接器转 Type-C 插入 PC。

确认刷机环境

环境说明

  1. 平台打包选项、编译选项、签名三者之间的关系:

    平台打包选项编译选项签名eFuse 可刷说明
    -eng-研发早期使用
    userdebuguserdebugdebug部分编译选项和鉴权未使能,最适合研发 debug 的版本
    user-rootuserdebuguser 版+调试能力,兼顾调试与测试,ROM 平台 debug 包默认配置
    releaseuserrelease所有鉴权均使能,ROM 平台 Release 包默认配置
    release-rootuser混搭混搭包,android 部分为 user-root,底层为 release。目标是为熔丝设备提供研发 debug 的能力
  2. 熔丝设备、刷机模式与 ROM 版本的关系:

    样件类型刷机模式ROM 类型结果
    非熔丝--不做管控,release-root 需勾选研发模式。
    熔丝设备Fastbootrelease可刷
    熔丝设备Fastbootrelease-root可刷,需勾选研发模式。若未勾选可在刷机结束后重进 fastboot 模式,执行 fastboot oem unlock 后重启即可
    熔丝设备Fastboot其他 debug刷完变砖,自动进入 EDL 模式,需刷 release 版救砖
    熔丝设备EDLrelease可刷
    熔丝设备EDLrelease-root不建议刷,等同于 Fastboot 模式未勾选研发模式。
    熔丝设备EDL其他 debug无法刷机,弹窗失败。

确认样件是否熔丝

  1. adb shell 可用时,如下属性为 1 即为熔丝设备:

    adb shell
    getprop | grep ro.boot.secureboot
    # 8295 平台属性为 ro.boot.secboot
  2. 有 SOC 串口打印时,观察上电后第一秒串口打印,如观察到 secureboot:on 字样则为熔丝设备。

Secure Boot On 判断

  1. (8650 平台专供)fastboot 模式可用时,执行如下命令返回 yes 即为熔丝设备:

    需要在座舱 rom 时才能判断,车机 rom 为手机部的某些测试 rom 时可能不准确。

    fastboot getvar secure

关闭 MCU 心跳包监测,进入刷机模式

8295 平台

短接金手指上电

  1. 短接金手指上电,车机将在上电时自动进入 EDL 刷机模式,此时 MCU 会关闭心跳包监测(你有 40 分钟的时间用来刷机)。
  2. 如果刷机一半突然中断,则可能为 MCU 关闭心跳包监测失败,请下电后短接金手指上电,并保持长按 10 秒以上再松开然后刷机,此时 MCU 会再次关闭心跳包检测。
  3. 若还不能关闭心跳,请重刷不休眠的 MCU(debug 签名的 MCU 默认不打开心跳包监测)。
  4. edl 模式刷机失败时都要先下电,再重新上电进 edl 模式重置 Qsahara 协议。

8650 平台(任选其一)

实车方控

  1. 长按方向盘右侧滚轮 + 右侧滚轮左键 10s,自动关心跳且进入 fastboot 模式。

    Fastboot 模式下串口驱动:android_drv_1100000_x64_1221.exe

  2. 长按方向盘右侧滚轮 + 双闪开关 10s,自动关心跳且进入 EDL 模式。双闪开关:红三角按钮,su7/yu7 都在车内后视镜位置附近。

  3. 长按方向盘左侧滚轮 + 右侧滚轮 10s,则实车执行一次重启。

  4. 长按方向盘右侧滚轮 + 右侧右键 5s,则将 USB mode 切换为相反。(device 切换为 host,host 切换为 device,刷机需要 device)这部分可能会去掉

  5. 更多方向盘组合按键请参考:xCD方向盘组合按键功能定义和使用说明

用户反馈(适合台架有屏幕)

  1. 打开用户反馈连击十次

用户反馈连击十次

SOC开关状态关闭

  1. 将 SOC 开关状态(心跳开关)关闭。

  2. 请先重启一次点亮屏幕正常进入系统,然后再重启到刷机模式。

  3. 如果没有 adb,请阅读 开发者选项答疑,注意 打开 USB 调试,以及将 USB mode 切换为 device

    adb reboot                 # 等待第一次重启完成
    adb reboot bootloader      # 进入 fastboot 模式,请勿使用 adb reboot fastboot
    # 此时如果需要进入 edl,执行以下命令。熔丝的机器需要先用鉴权工具解锁才能使用 fastboot 命令
    # fastboot oem edl

ADB shell(适合台架无屏幕有 adb root)

方法一:adb 直连 mcu 串口

adb root && adb shell
stop mculog
microcom /dev/ttyHS4  # 连接 mcu 串口
 
pm.soc.fastboot.ctrl 1  # 盲打,回车后串口直接断开,adb 直接退出

方法二:adb 设置属性,关心跳后重启一次再进入刷机模式

adb root && adb shell setprop persist.soc_heartbeat_switch false
adb reboot  # 关闭心跳会在重启后才生效
 
# 等待车机重启
 
adb reboot bootloader  # 再次重启进入 fastboot 模式
# 此时如果需要进入 edl,执行以下命令。熔丝的机器需要先用鉴权工具解锁才能使用 fastboot 命令
# fastboot oem edl

MCU shell(适合无屏幕无 adb root 需串口线)

参考 串口/端口/USB 连接说明 / XCD SoC功能安全心跳开启后刷机指导

  1. (debug 样件) 可通过 MCU 串口执行命令进入对应的刷机模式,当前上电周期会自动关闭心跳监测,重启失效。完成后然后将数据线接回至 SOC USB 口(远离电源线的 USB)刷机:

    pm.soc.fastboot.ctrl 1   # 关闭 mcu 心跳并控制 SOC 重启至 fastboot 模式
    # pm.soc.edl.ctrl 1      # 关闭 mcu 心跳并控制 SOC 重启至 EDL 模式
     
    usb.set.mode.saved 0     # 控制 MCU 使 USB 口处于 device 模式,saved 代表重启后仍生效
  2. (熔丝的机器) MCU 串口有鉴权,使用鉴权工具可完成一键鉴权工作,并可选自动切换刷机模式:

    • 先打开 mobaxterm(或其他串口工具)按回车,看到 MCSS / MCSE 字样即为需要鉴权,然后关闭 mobaxterm 避免串口占用
    • 鉴权工具页面点击开始认证。
    • 如果弹窗超时按照附录 2 处理下驱动
    • MCU SN 号需要有权限,若弹窗无权限参考第一条申请权限。
    • PS:解锁后单次上电周期内有效,24h 失效。

刷机工具使用

  1. 确保设备处于刷机模式,且数据线插在 SOC USB 口。
  2. 选择对应的车型平台。
  3. 选择对应的刷机设备。
  4. 选择刷机包,选中对应的 package_info.xml
  5. 刷机前信息检查,刷机选项确认(fastboot 刷机时提示无权限,则已选设备列表即为 sn,申请时请带 0x,全小写)。
  6. 开始刷机。

附录

常见问题

  1. 刷机一半中断了,不断重启进 fastboot,此时需要关闭心跳,重新刷机。
  2. 熔丝设备误刷了 debug 包,重启后黑屏,此时需要通过 EDL 方式救砖。

MUC 鉴权 串口认证接受消息超时

  1. 如果 mobaxterm 可以正常连接 mcu shell,但是鉴权工具接收消息超时;
  2. 则在设备管理器中尝试一下其他的驱动(最后一步不要选 Enhanced Serial CH343)。

驱动替换1

驱动替换2

驱动替换3

驱动替换4