其他
mpt3sas 的两个固件版本信息
[ 3.228243] mpt3sas_cm0: FW Package Version(13.17.03.05)
[ 3.229457] mpt3sas_cm0: LSISAS3008: FWVersion(13.15.02.00), ChipRevision(0x02)
的确有两个获取的方法:
_base_display_fwpkg_version()
├── dma_alloc_coherent() // 分配 DMA 缓冲区
├── mpt3sas_base_get_msg_frame() // 获取消息帧
├── ioc->put_smid_default() // 发送请求
│ └── _base_writeq() // MMIO 写入 0xC0
├── wait_for_completion_timeout() // 等待 DMA 完成
└── le32_to_cpu(fw_img_hdr->PackageVersion.Word)
_base_get_ioc_facts()
├── _base_handshake_req_reply_wait()
│ ├── base_readl(Doorbell) // 检查 Doorbell 状态
│ ├── writel(Doorbell) // 发送握手
│ ├── _base_spin_on_doorbell_int() // 等待中断
│ └── base_readl(Doorbell) // 读取响应
└── le32_to_cpu(mpi_reply.FWVersion.Word)
_base_display_ioc_capabilities()
└── 打印 FWVersion
如何获取到 firmware 版本
网卡: ethtool
🧀 ethtool -i enp4s0
driver: r8169
version: 6.18.5-100.fc42.x86_64
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
nvme 盘
🤒 cat /sys/devices/pci0000:00/*/*/nvme/*/firmware_rev
ZTA32F46
ZTA22001
SN12237
也可以用 sudo nvme id-ctrl /dev/nvme0
CPU microcode
cat /proc/cpuinfo | grep -m 1 microcode
GPU
nvidia-smi -q | grep -i vbios
其他的基本不出问题,就不用管了:
HBA
mpt3sas
# lspci -s 0000:3b:00.0
3b:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02)
# cat /sys/devices/pci0000:3a/0000:3a:00.0/0000:3b:00.0/host5/scsi_host/host5/version_fw
16.00.11.00
有问题的版本
cat /sys/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/host6/scsi_host/host6/version_fw
13.15.02.00
megaraid
/opt/MegaRAID/storcli/storcli64 /c0 show
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。