mx-mft 用户手册
概述
墨芯 AI 计算卡上的固件分为板载固件和动态加载的固件两个部分,其中板载固件又分为板载设备固件和板载 MCU 固件。mx-mft 是用于管理墨芯 AI 计算卡设备固件工具,您可使用 mx-mft 查询设备固件版本,给设备加载动态固件,重启设备,更新板载设备固件和 MCU 固件。
前提条件
在主机上安装 SOLA。具体的步骤,请参见《SOLA Toolkit 安装指南》。 安装 SOLA 后,mx-mft 的二进制文件位于/usr/bin
目录下。
命令说明
执行 mx-mft --help
命令获取 mx-mft 的使用方法:
$ mx-mft --help
mx-mft(V1.05) avaliable commands:
mx-mft status <id> : show device status
mx-mft boot <id> <firmware package>: load bootimage for devices
mx-mft reboot <id> : reboot device
mx-mft mcu-ota <S30_id> [<fw_file_path>]: ota S30 mcu fw
mx-mft update <id> <firmware package>: update bootloader for devices
for command detail help, use "mx-mft -h <command>"
for mx-mft version information, use "mx-mft -v"
mx-mft 命令支持以下选项:
选项 | 说明 |
---|---|
-v |
查看 mx-mft 的版本信息 |
status <device_id> |
显示设备的状态和版本信息。 |
boot <device_id> <firmware package> |
对设备加载固件。 |
update <device_id> <firmware package> -f |
更新板卡固件。 注意: 您需要获取 root 权限后才能更新板卡固件。卡处于 bootloader 模式时才能更新卡的固件,如果卡已经加载动态固件,请使用 mx-mft reboot 命令使卡重新启动到 bootloader 模式。固件升级可以不加 -f 参数,固件降级和平级更新则需要增加-f 参数。 |
reboot <device_id> |
重启设备,使设备进入 bootloader 模式。 |
mcu-ota <device_id> [<fw_file_path>] |
更新板卡上 MCU 的固件。 注意:仅 S30 计算卡支持此功能,墨芯其他计算卡不支持此功能。 |
说明:
device_id:设备的 ID,参数可以类似是 0 或者 0-2(表示 0,1,2 这 3 个设备),或者是 all(表示所有的设备)
firmware package:墨芯发布的固件包压缩文件,例如 moffett-antoum-V3.52.14-20240327.tar.gz。
fw_file_path:墨芯发布的固件二进制文件的路径,例如/usr/local/sola/driver/firmware/ota-test/DMS-BC404X0007.bin
命令示例
查看设备状态
$ mx-mft status 0
回显信息示例如下:
卡尚未加载固件状态下
#其中Mode: Bootloader表示卡处于bootloader模式 Device 0 info: SN: 9002348s21 PN: 00S30-00A PCI bus: 0000:04:00.0 Mode: Bootloader Bootloader version info: version: V12 type: Release build date: Nov 27 2023 active slot: A
卡已经加载固件状态下
#其中Mode: Kernel UMD表示卡已经加载完成固件 Device 0 info: SN: 9002348s21 PN: 00S30-00A PCI bus: 0000:04:00.0 Mode: Kernel UMD Firmware version: V1.0.14
加载设备的固件
#以实际文件路径和文件名为准
$ mx-mft boot 0-0 /usr/local/sola/driver/firmware/moffett-antoum*.tar.gz
Extracting boot image...
package boot image version info:
version: Vxx
build time: Nov 27 2023 15:42:06
boot image check OK, image size: 65.21MB
Device 0 info:
SN: 9002348s21
PN: 00S30-00A
PCI bus: 0000:04:00.0
Mode: Bootloader
Bootloader version info:
version: Vxx
type: Release
build date: Nov 27 2023
active slot: B
start loading boot image for device 0-0:
device 0 (00S30-00A - 9002348s21): Boot image load success
total 1 device loading boot image, all success
重启设备
重启设备,使设备进入 bootloader 状态。
注意: 您需要获取 root 权限后才能重启卡设备。
$ sudo mx-mft reboot 0
request device 0(pci bus:0:04:00.0) reboot success
wait devices rebooting...
remove devices from pci bus...
rescan all devices...
device 0 reboot success
更新板卡固件
$ sudo mx-mft update 0-0 /usr/local/sola/driver/firmware/moffett-antoum* -f
重启服务器
固升级完成后您需要重启服务器以使用新的固件。
$ sudo systemctl restart mx-daemon
查看固件版本
$ mx-qual list | grep "Firmware version"
使用示例
升级固件
查询当前的固件版本。
$ mx-qual list | grep "Firmware version"
重启设备,使设备进入 bootloader 状态。
$ sudo mx-mft reboot all
更新板载的设备固件升级到 v15 版本。
#以实际文件路径和文件名为准 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.15-*.tar.gz
重启加载驱动服务。
$ sudo systemctl restart mx-daemon
等待 1 分钟左右后,查询新的固件版本。
$ mx-qual list | grep "Firmware version"
完整流程示例如下:
### 参考结果:操作前后 $ mx-qual list | grep "Firmware version" Firmware version: 1.0.14 ... Firmware version: 1.0.14 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.15-*.tar.gz Package bootloader version info: version: V15 type: V14 OTA TEST build time: Jan 6 2024 11:24:35 Device 0 info: SN: 2023513080278 PN: 00S30-00A PCI bus: 0000:51:00.0 Mode: Bootloader Bootloader version info: version: V14 type: Release build date: Dec 28 2023 active slot: A ... Device 23 info: SN: 2023483080243 PN: 00S30-00A PCI bus: 0000:e6:00.0 Mode: Bootloader Bootloader version info: version: V14 type: Release build date: Dec 28 2023 active slot: B Start updating bootloader for device 0-23: device 0 (00S30-00A - 2023513080278): bootloader update success, version is V0.15 now ... device 23 (00S30-00A - 2023483080243): bootloader update success, version is V0.15 now Total 24 device update bootloader, all success $ mx-qual list | grep "Firmware version" Firmware version: 1.0.15 ... Firmware version: 1.0.15
降级固件
查询当前的固件版本。
$ mx-qual list | grep "Firmware version"
重启设备,使设备进入 bootloader 状态。
$ sudo mx-mft reboot all
更新板载的设备固件降级到 v13 版本。
#以实际文件路径和文件名为准 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.13-*.tar.gz -f
重启加载驱动服务。
$ sudo systemctl restart mx-daemon
等待 1 分钟左右后,查询新的固件版本。
$ mx-qual list | grep "Firmware version"
完整流程示例如下:
## 参考结果:操作前后 $ mx-qual list | grep "Firmware version" Firmware version: 1.0.15 ... Firmware version: 1.0.15 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*13-*.tar.gz -f Package bootloader version info: version: V15 type: V14 OTA TEST build time: Jan 6 2024 11:14:51 Device 0 info: SN: 2023513080278 PN: 00S30-00A PCI bus: 0000:51:00.0 Mode: Bootloader Bootloader version info: version: V15 type: Release build date: Jan 6 2024 active slot: A ... Device 23 info: SN: 2023483080243 PN: 00S30-00A PCI bus: 0000:e6:00.0 Mode: Bootloader Bootloader version info: version: V15 type: Release build date: Jan 6 2024 active slot: B Start updating bootloader for device 0-23: device 0 (00S30-00A - 2023513080278): bootloader update success(without reboot), version is V13 now ... device 23 (00S30-00A - 2023483080243): bootloader update success(without reboot), version is V13 now Total 24 device update bootloader, all success Important: Please power off this server to use device new firmware $ mx-qual list | grep "Firmware version" Firmware version: 1.0.13 ... Firmware version: 1.0.13
平级固件
基于上文的降级固件,进行以下步骤:
查询当前的固件版本。
$ mx-qual list | grep "Firmware version"
重启设备,使设备进入 bootloader 状态。
$ sudo mx-mft reboot all
更新板载的设备固件降级到 v13 版本。
#以实际文件路径和文件名为准 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.13-*.tar.gz -f
重启加载驱动服务。
$ sudo systemctl restart mx-daemon
等待 1 分钟左右后,查询新的固件版本。
$ mx-qual list | grep "Firmware version"
完整流程示例如下:
# e.g. 固件平级 ### 参考结果:操作前后 $ mx-qual list | grep "Firmware version" Firmware version: 1.0.13 ... Firmware version: 1.0.13 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.13-*tar.gz -f Package bootloader version info: version: V13 type: V14 OTA TEST build time: Jan 6 2024 11:14:51 Device 0 info: SN: 2023513080278 PN: 00S30-00A PCI bus: 0000:51:00.0 Mode: Bootloader Bootloader version info: version: V13 type: Release build date: Jan 6 2024 active slot: A ... Device 23 info: SN: 2023483080243 PN: 00S30-00A PCI bus: 0000:e6:00.0 Mode: Bootloader Bootloader version info: version: V13 type: Release build date: Jan 6 2024 active slot: B Start updating bootloader for device 0-23: device 0 (00S30-00A - 2023513080278): bootloader update success(without reboot), version is V13 now ... device 23 (00S30-00A - 2023483080243): bootloader update success(without reboot), version is V13 now Total 24 device update bootloader, all success Important: Please power off this server to use device new firmware $ mx-qual list | grep "Firmware version" Firmware version: 1.0.13 ... Firmware version: 1.0.13
更新固件至最新版本
查询当前的固件版本。
$ mx-qual list | grep "Firmware version"
重启所有设备,使设备进入 bootloader 状态。
$ sudo mx-mft reboot all
更新板载的设备固件升级到最新版本。
说明:
该过程约耗时 3-5 分钟,请耐心等候。
moffett-antoum-V3.41.14-20240112.tar.gz 仅代表本例,实际以
/usr/local/sola/driver/firmware/
内的同类型文件为准。
$ sudo mx-mft update all /usr/local/sola/driver/firmware/moffett-antoum-*.14-*.tar.gz -f
断电关机。
$ sudo shutdown -P now
在关机后等待 1分钟左右后进行开机,并查询新的固件版本。
$ mx-qual list | grep "Firmware version"
完整流程示例如下:
# e.g. 固件更新至最新版本 $ mx-qual list | grep "Firmware version" Firmware version: 1.0.13 ... Firmware version: 1.0.13 $ sudo mx-mft update all /usr/local/sola/driver/firmware/ota-test/moffett-antoum-*.14-*.tar.gz Package bootloader version info: version: V12 type: V12 OTA TEST build time: Jan 6 2024 11:24:35 Device 0 info: SN: 2023513080278 PN: 00S30-00A PCI bus: 0000:51:00.0 Mode: Bootloader Bootloader version info: version: V12 type: Release build date: Dec 28 2023 active slot: A ... Device 23 info: SN: 2023483080243 PN: 00S30-00A PCI bus: 0000:e6:00.0 Mode: Bootloader Bootloader version info: version: V12 type: Release build date: Dec 28 2023 active slot: B Start updating bootloader for device 0-23: device 0 (00S30-00A - 2023513080278): bootloader update success, version is V0.14 now ... device 23 (00S30-00A - 2023483080243): bootloader update success, version is V0.14 now Total 24 device update bootloader, all success $ mx-qual list | grep "Firmware version" Firmware version: 1.0.14 ... Firmware version: 1.0.14
降级板卡 MCU 固件
注意:
仅在 S30 板卡上支持板卡 MCU 的升级和降级。
降级板卡固件时,S30 的 MCU version 必须在 4X05 及以上版本。
板卡需要在加载动态固件后才能更新 MCU 的固件,如果板卡尚未加载动态固件,请使用
mx-mft boot
命令加载卡的固件。
下文以升级 MCU 版本为例,演示了更新板卡 MCU 固件的流程:
查询设备 0 1 2 的 MCU 版本。
$ mx-smi select -f mcu_version -i 0 1 2 mcu_version 4X08 4X08 4X08
导入固件二进制文件,对设备 0 1 2 的 mcu 版本降级为 4X07。
#以实际文件路径为准 $ mx-mft mcu-ota 0-2 /usr/local/sola/driver/firmware/ota-test/DMS-BC404X0007.bin device 0 mcu ota updating... device 0 mcu ota success! device 1 mcu ota updating... deivce 1 mcu ota success! device 2 mcu ota updating... deivce 2 mcu ota success!
降级流程结束后执行以下命令,查看当前 MCU 版本。
$ mx-smi select -f mcu_version -i 0 1 2 mcu_version 4X07 4X07 4X07
升级板卡 MCU 固件
注意:
仅在 S30 板卡上支持板卡 MCU 的升级和降级。
升级板卡固件时,S30 的 MCU version 必须在 4X04 及以上版本。
板卡需要在加载动态固件后才能更新 mcu 的固件,如果板卡尚未加载动态固件,请使用
mx-mft boot
命令加载卡的固件。
查询设备 0 1 2 的 MCU 版本。
$ mx-smi select -f mcu_version -i 0 1 2 mcu_version 4X07 4X07 4X07
执行以下命令,升级板卡 MCU 固件。
## 对设备0 1 2的mcu版本升级为 4X08,默认不带DMS-xxx.bin参数,则使用当前环境自带的最新版本. $ mx-mft mcu-ota 0-2 device 0 mcu ota updating... device 0 mcu ota success! device 1 mcu ota updating... deivce 1 mcu ota success! device 2 mcu ota updating... deivce 2 mcu ota success!
升级流程结束后执行以下命令,查看当前 MCU 版本,确认是否升级成功。
## 查询设备0 1 2的mcu版本,前后对比可知,mcu版本从4X07升级为4X08 $ mx-smi select -f mcu_version -i 0 1 2 mcu_version 4X08 4X08 4X08