【微知】Mellanox mft工具的shell工具 mft-shell的基础用法(fw info、port info)
背景
mft-shell是一个不错的对于入门的方式,他会以初学者方式介绍如何用mft工具,用类似交换机配置的方式来引导,并且会把相关命令的实际执行命令列出来。
快速回忆
# mft-shell
mftShell> .set device 01:00.0 #设置所在device
mftShell [01:00.0]> fw info #sudo flint -d 01:00.0 q
mftShell [01:00.0]> fw crspace #查看mstdump的配置寄存器空间
mftShell [01:00.0]> fw info #mlxconfig查看配置: sudo mlxconfig -d 01:00.0 -e q
mftShell [01:00.0]> port info #查看端口信息:sudo mlxlink -d 01:00.0
mftShell [01:00.0]> port fec show
mftShell [01:00.0]> fw info full
mftShell [01:00.0]> port type eth
比如在mft中,mlxlink是查看port info的。 mlxconfig是查看fw info的。
用法
启动 mft-shell
查看帮助 .help
查看有哪些命令或者下一步
使用table 自动补全
操作某个端口
mft-shell操作很多需要先设置设备,进入类似交换机的交互界面
如果报错:Device to operate with is not defined. Use '.set device <device>' to set the device.
需要设置device,设置方式:.set device <table>
这里是指敲table命令
比如执行fw info,无法获取,需要用.set设置device之后即可
查看固件信息 fw info full
可以看到实际执行命令是:sudo flint -d 01:00.0 q full
查看配置寄存器 fw crspace
crspace: on-chip registers and resources of the device.
下面是详细的所有dump信息,寄存器配置空间的值:(另外通过这里,所谓的mstdump核心,其实就是configure register的dump,而不是其他。然后如果知道某些特殊寄存器代表的含义,可以定位出很多问题,这也是为何mstdump对于分析fw问题至关重要。甚至可以由此开发一个常见问题的分析清单和观测清单。比如某个寄存器或者某几个关联,或者某几次关联,能够看到不少关键点。
其他命令
设置speed,设置state,设置type是ib还是eth
这个工具有个好处不知道怎么设置ib或者eth命令,可以先用他,然后得到命令进行操作。
比如设置为eth模式:修改了sudo mlxconfig -d 01:00.0 s LINK_TYPE_P1=ETH
综述
在某些场景使用mft-shell还有有一些特殊作用,比如相比于mstdump直接收集信息到文件,使用mft-shell的fw crspace,可以更直观的知道sudo mstdump 01:00.0
,并且看到命令也是连续的。更多用法可以不断探索。