5. 常见错误解析

  • Linux 升级固件镜像失败并提示 Qt xcb 插件加载失败

    在 Linux 主机端升级固件镜像时,出现下面错误信息:

    From 6.5.0, xcb-cursor0 or libxcb-cursore
    is needed
    to load the Qt xcb platform plugin.
    Could not load the Qt platform plugin"xcb" in ""even
    though it was found.
    

    原因

    主机环境缺少依赖库 libxcb-cursor0,导致 Qt 无法正确加载 xcb 平台插件。

    解决方法:

    1. 在主机端执行以下命令安装依赖库:

    sudo apt-get install libxcb-cursor0
    
    1. 重新升级固件镜像。

  • 切换账号后运行 GUI 升级工具失败并提示 X11 认证错误

    在 Linux 主机端使用 GUI 界面方式升级固件镜像时,如果先通过 su 切换到其他账号,再执行 M50_Upgrader_GUI,返回下面错误:

    X11 connection rejected because of wrong authentication
    

    原因

    X11认证信息(.Xauthority 文件)未正确传递到切换后的账号。

    解决方法:

    暂不支持在切换账号后使用 GUI 升级工具。需直接使用当前登录账号运行 M50_Upgrader_GUI

  • GUI 升级固件镜像失败并提示inspect模块缺失

    使用GUI界面方式升级固件镜像时,如果出现以下错误:

    No module named 'inspect'
    

    原因

    运行环境中的 GNU C Library 版本过低,导致 GUI 程序依赖的 Python 模块无法正常加载。

    解决方法:

    系统的 GNU C Library 版本不低于 2.28。

  • 命令行升级固件镜像失败并提示设备节点打开失败

    使用命令行方式升级固件镜像时,如果出现以下错误:

    (53 hm_errcode)last error: No such file or directory
    (55 xh2a_sys_opeen)/dev/xh2a_system_device0 open failed
    dev 0xh2a_sys_openfailed
    can not read device 0 dual backup status, default disabled
    device 0 start to upgrade fsbl, address:0x00042000, length:0x0003e000 bytes
    (53 hm_errcode)last error: No such file or directory
    (776 xh2a_memory_allocator_open)/dev/xh2a_memory_allocator_deviceo_ddr open fail
    

    原因:

    可能是当前主机配置不支持分配多个MSI中断,请检查主机BIOS设置。

    解决方法:

    • X86_64平台:

      检查BIOS/UEFI 配置,确保平台 IOMMU 功能已开启。不同厂商命名可能为 VT-d、AMD VT、IO Virtualization 或 IOMMU等名称呈现。

      例如,在部分 海光平台主机中,IOMMU 的配置项位于 Chipset -> NBIO -> IOMMU,而另一类海光平台主机中,IOMMU的配置可能位于 Hygon CBS 菜单下。对于AMD和海光处理器,还可以在 Linux 中检查是否存在 IVRS 表项,用于辅助判断 IOMMU 是否正确启用。如果系统中不存在 /sys/firmware/acpi/tables/IVRS 文件,则表明BIOS中未正确开启IOMMU。

    • ARM平台:

      请根据实际平台确认GIC/ITS或中断重映射功能已启用。

  • Windows 命令行升级固件镜像时提示DMA烧录失败

    在Windows11环境下,使用命令行方式升级固件镜像时,如果出现以下错误:

    flash failed with DMA, address: 0x0031e000, trying CPU mode..
    

    解决方法:

    为降低升级失败风险,建议在升级前先使用后摩 SMI 工具检查后摩设备状态,确认设备状态正常后再进行固件镜像升级。

    在升级过程中如出现上述错误,请按以下步骤处理:

    1. 确认升级结果。

      • 如果最终在CPU模式下升级成功,则忽略该错误提示信息,无需额外处理。

      • 如果在CPU模式下升级失败,请继续执行后续步骤。

    2. 使用下面后摩SMI工具检测后摩设备状态:

      hm_smi -a
      
      • 若命令能够正常返回后摩设备信息,请重新执行固件升级操作。

      • 若命令未能返回后摩设备信息,请重启主机。

    3. 主机重启后,再次使用后摩 SMI 工具检查后摩设备状态。

      • 若设备状态正常,请重新升级后摩设备。

      • 若设备状态仍异常,请联系后摩工程师处理。

  • Kylin V11远程环境下GUI升级进程无法自动结束

    在Kylin V11环境下,运行下面指令,使用GUI界面方式升级固件镜像时,烧录进程可能无法自动结束。

    sudo -E hm_upgrade_gui
    

    原因:

    在远程登录(SSH / 远程桌面) 场景下,固件镜像升级的图形界面依赖 X11 显示服务。

    解决方法:

    将当前普通用户的 X11 授权信息 手动导入至 root 用户,使 root 用户具备访问图形会话的权限。

    1. 在普通用户下获取 X11 授权信息:

      xauth list $DISPLAY
      

      返回信息示例如下:

      user-pc/unix:15 MIT-MAGIC-COOKIE-1 0578829fbb9c243e22f5110de956667d2
      
    2. 切换至 root 用户:

      sudo -i
      
    3. 将授权信息添加到 root 用户:

      xauth add <xauth-entry>
      

      其中 <xauth-entry> 为步骤 1 中 xauth list $DISPLAY 输出的完整内容,上述实例中 user-pc/unix:15 MIT-MAGIC-COOKIE-1 0578829fbb9c243e22f5110de956667d2

    4. 在 root 用户下重新启动固件升级工具:

      hm_upgrade_gui
      
  • Kylin V11升级固件后SMI工具通信失败

    在Kylin V11环境下成功安装驱动,并升级固件镜像后,使用后摩SMI工具监控设备时,出现下面错误信息:

    E/         [2025-10-13 20:08:42 pid:54883 tid:54883] (53 hm_errcodee)last error: Broken pipe
    E/HMRPMSG  [2025-10-13 20:08:42 pid:54883 tid:54883] (269 xh2a_rpmsg_lite_send)fd 4 ioctl SEND failed
    E/HMCLIENT [2025-10-13 20:08:42 pid:54883 tid:54883] (49 xh2a_rpmsg_packet-send)Failed to send rpmsg packet
    E/HMSHELL  [2025-10-13 20:08:42 pid:54883 tid:54883] (45 xh2a_shell_run)Failed to send shell command
    [HM_SMI] [cmd]: cat /sys/class/devfreq/ipu/governor Erron: devo cann't get message from device! ret:-1
    

    解决方法:

    可通过以下任意一种方法恢复设备通信:

    • 重启主机后再运行后摩SMI工具。

    • 对上级PCI设备进行rescan操作,指令示例如下:

      echo 1 | sudo tee /sys/bus/pci/devices/<pcie_bdf>/remove
      echo 1 | sudo tee /sys/bus/pci/rescan
      

      其中,<pcie_bdf> 为上级PCI设备的BDF,如 0000\:00\:07.0