This commit is contained in:
joy 2025-07-14 13:13:47 +08:00
parent 636508e281
commit 845693f976
3 changed files with 65 additions and 0 deletions

8
scripts/disable_acs.sh Normal file
View File

@ -0,0 +1,8 @@
for BDF in `lspci -d "*:*:*" | awk '{print $1}'`; do
# skip if it doesn't support ACS
sudo setpci -v -s ${BDF} ECAP_ACS+0x6.w > /dev/null 2>&1
if [ $? -ne 0 ]; then
continue
fi
sudo setpci -v -s ${BDF} ECAP_ACS+0x6.w=0000
done

27
scripts/ib-sn-check.sh Normal file
View File

@ -0,0 +1,27 @@
#!/bin/bash
# 获取符合条件的 Mellanox 网卡 PCI 地址列表
pci_devices=$(lspci | grep Mellanox | grep -Ev 'Infi|X-5|0\.1' | awk '{print $1}')
# 检查是否找到设备
if [ -z "$pci_devices" ]; then
echo "未找到符合条件的 Mellanox 网卡设备。"
exit 1
fi
echo "正在查询 Mellanox 网卡序列号 (SN)..."
echo "----------------------------------"
# 遍历每个 PCI 设备并查询序列号
for pci in $pci_devices; do
echo "PCI 设备: $pci"
serial=$(lspci -vvv -s "$pci" | grep -i serial)
if [ -n "$serial" ]; then
echo "序列号: $serial"
else
echo "未找到序列号信息。"
fi
echo "----------------------------------"
done

View File

@ -0,0 +1,30 @@
#!/bin/bash
cd /opt/
mst start
# 检查必要命令
command -v ibdev2netdev >/dev/null || { echo "错误ibdev2netdev命令未找到"; exit 1; }
command -v flint >/dev/null || { echo "错误flint命令未找到"; exit 1; }
# 固件文件定义
FW_FILE="fw-ConnectX7-rel-28_43_2566-MCX755106AS-HEA_Ax-UEFI-14.37.13-FlexBoot-3.7.500.signed.bin"
[ -f "$FW_FILE" ] || { echo "错误:固件文件 $FW_FILE 不存在"; exit 1; }
# 设备过滤和处理
ibdev2netdev -v | grep -Ev 'Umbriel|bond' | awk '{print $2}' | while read -r device; do
# 提取最后一位数字
last_digit=${device##*_}
# 检查是否为数字且为偶数
if [[ "$last_digit" =~ ^[0-9]+$ ]] && [ $((last_digit % 2)) -eq 0 ]; then
echo "正在更新双数设备: $device"
if ! flint -d "$device" -y -i "$FW_FILE" b; then
echo "警告:设备 $device 更新失败"
fi
else
echo "跳过非双数设备: $device"
fi
done
echo "固件更新操作完成"