# mx-mft 用户手册 `mx-mft` 是用于管理墨芯 AI 计算卡设备固件的工具。固件分为板载固件和动态加载的固件两个部分。板载固件是存储在计算卡 Flash 上的固件,又分为板卡设备固件和板卡上的 MCU 固件。使用该工具可以查看设备固件版本、加载动态固件、重启设备、更新板载设备固件和 MCU 固件。 **命令格式:mx-mft [选项] 子命令** `-h,--help` : 显示帮助信息。 `-v,--version` : 显示 `mx-mft` 的版本。 ## 子命令 status 查看设备固件信息。设备固件 Mode 分为 Bootloader 和 Kernel UMD: - 设备重启后进入 Bootloader 状态,该状态下可进行设备固件升降级操作。 - 加载设备固件后进入 Kernel UMD 状态,该状态下可使用 `mx-qual` 等工具进行常规测试。 **mx-mft status [\]** `` : 指定设备的索引或范围,例如:1 或 0-2 或 all。未指定默认为 all。 ```Bash mx-mft status 1 ``` ``` Device 1 info: SN: 2023513080332 PN: 00S30-00A PCI bus: 0000:04:00.0 Mode: Kernel UMD Firmware version: V1.0.17 ``` | **输出字段** | **说明** | | -------------------------- | ----------------------------------------------------------------------------------------------------| | SN | 序列号 | | PN | 产品名称 | | PCI bus | PCI 总线 BDF(bus:device:function)标识 | | Mode | 板卡模式,包括:Kernel UMD 和 Bootloader | | Firmware version | 固件版本(Mode 为 Kernel UMD) | | Bootloader version info | Bootloader 版本信息(Mode 为 Bootloader),包括:version、type、build date 和 active slot。 | ## 子命令 boot 为设备加载动态固件。 **mx-mft boot \ ** `` : 指定设备的索引或范围,例如:1 或 0-2 或 all。未指定默认为 all。 `` : 指定主机上固件的路径,例如:`/usr/local/sola/driver/firmware/moffett-antoum-.tar.gz`。 ```Bash mx-mft boot all /usr/local/sola/driver/firmware/moffett-antoum-.tar.gz ``` ## 子命令 reboot 重启设备进入 Bootloader 模式。 **sudo mx-mft reboot \** `` : 指定设备的索引或范围,例如:1 或 0-2 或 all。未指定默认为 all。 ```Bash sudo mx-mft reboot all ``` ## 子命令 mcu-ota 更新 MCU 固件。 **mx-mft mcu-ota \ []** `` : 指定设备的索引或范围,例如:1 或 0-2 或 all。未指定默认为 all。 `` : 指定主机上 MCU 固件的路径,例如:`/usr/local/sola/driver/firmware/ota-test/mcu_fw.tar.gz`。仅降级时使用。 该命令有如下限制: - S4 计算卡不支持该命令。 - 升级板卡 MCU 固件时,S30 计算卡的 MCU 版本必须在 4X04 及以上版本。 - 降级板卡 MCU 固件时,S30 计算卡的 MCU 版本必须在 4X05 及以上版本。 ```Bash mx-mft mcu-ota all /usr/local/sola/driver/firmware/ota-test/mcu_fw.tar.gz ``` ## 子命令 update 更新设备固件。须先重启设备进入 Bootloader 模式。 **sudo mx-mft update \ [-f]** `` : 指定设备的索引或范围,例如:1 或 0-2 或 all。未指定默认为 all。 `` : 指定主机上固件的路径,例如:`/usr/local/sola/driver/firmware/moffett-antoum-.tar.gz`。 `-f` : 强制更新固件版本,适用于降级或平级更新。 以下示例演示如何升级固件版本: ```Bash sudo mx-mft update all /usr/local/sola/driver/firmware/moffett-antoum-.tar.gz ``` ## 工具应用 ### 降级板载设备固件版本 1. 重启设备进入 Bootloader 模式。 ```Bash sudo mx-mft reboot all ``` 2. (可选)获取降级版本的固件压缩包(以 V1.0.15 版本为例,如果主机上已存在该版本固件压缩包,跳过此步骤)。 ```Bash wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/driver/firmware/moffett-antoum-V3.91.15-20241219.tar.gz ``` 3. 降级板载设备固件版本(当前目录下)。 ```Bash sudo mx-mft update all ./moffett-antoum-V3.91.15-20241219.tar.gz -f ``` 4. 根据执行结果选择操作: - 如果出现以下提示,关闭并重启服务器,以使用新的设备固件。 ```{admonition} 注意 :class: caution ``` ************************************************************************ ** ** ** Please power off this server to use device new firmware ** ** ** ************************************************************************ ``` ``` - 如果未出现以上提示,重启 `mx-daemon` 服务,并等待 1 分钟后查询。 ```Bash sudo systemctl restart mx-daemon ``` 5. 查看降级后的板载设备固件版本。 ```Bash mx-smi select -f firmware_version ``` ``` Firmware version: 1.0.15 Firmware version: 1.0.15 Firmware version: 1.0.15 ``` 6. 测试完降级后,参见以下升级步骤,将固件恢复为 `/usr/local/sola/driver/firmware/` 目录中的版本。 ### 升级板载设备固件版本 1. 重启设备进入 Bootloader 模式。 ```Bash sudo mx-mft reboot all ``` 2. 升级板载设备固件版本。 ```Bash sudo mx-mft update all /usr/local/sola/driver/firmware/moffett-antoum-.tar.gz ``` 3. 根据以上命令执行结果选择操作: - 如果出现以下提示,关闭并重启服务器,以使用新的设备固件。 ```{admonition} 注意 :class: caution ``` ************************************************************************ ** ** ** Please power off this server to use device new firmware ** ** ** ************************************************************************ ``` ``` - 如果未出现以上提示,重启 `mx-daemon` 服务,并等待 1 分钟后查询。 ```Bash sudo systemctl restart mx-daemon ``` 4. 查看升级后的板载设备固件版本。 ```Bash mx-smi select -f firmware_version ``` ``` Firmware version: 1.0.17 Firmware version: 1.0.17 Firmware version: 1.0.17 ``` ### 降级板载 MCU 固件版本 1. 降级板载 MCU 固件版本。 ```Bash mx-mft mcu-ota all /usr/local/sola/driver/firmware/ota-test/mcu_fw.tar.gz ``` 2. 查看降级后的 MCU 版本。 ```Bash mx-smi select -f mcu_version ``` ```{admonition} 注意 :class: caution 测试完降级后,参见以下升级步骤,将 MCU 固件恢复为当前版本。 ``` ### 升级板载 MCU 固件版本 1. 选择以下任意一种方式升级板载 MCU 固件: - 加载动态固件包升级。 ```Bash sudo mx-mft reboot all # 重启设备进入 Bootloader 模式 mx-mft boot all /usr/local/sola/driver/firmware/moffett-antoum-.tar.gz ``` - 直接升级,无需指定固件包。 ```Bash mx-mft mcu-ota all ``` 2. 查看升级后的 MCU 版本: ```Bash mx-smi select -f mcu_version ``` ``` mcu_version 4X011 4X011 4X011 ``` ```{table} :class: bold-first-col | 板卡型号 | S30 | S40 | S40 AC | | ---------| ------------- | -------- |----------- | | MCU 版本 | 4X011 或 2V48 | 1V48 | 3V02 | ```