我正在运行 FreeBSD 7.2,带有 Seagate Cheetah(型号 ST####)硬盘。
这些机器上的 SCSI 驱动器存在一些问题。我们的供应商说更新驱动器上的固件可能会修复这些问题,而且固件更新似乎确实修复了另一台 FreeBSD 主机上的一些 SCSI 问题。
如何查看这些驱动器的固件版本?我尝试了一些提示nixCraft,但目前没有任何效果。在 dmesg 中,我看到了品牌和型号,但没有固件修订版本。
在 Linux 中,这些信息通常位于 /var/log/dmesg 中(尽管 /var/log/dmesg 有时会过期),或者我经常使用sudo lshw -class disk
、lshal
或 之类的内容找到这些信息dmidecode
。
更新时间:2010 年 5 月 26 日星期三 12:00:09 PDT
好吧,事实证明我错了。或者说有点误导。'dmesg' 将显示固件版本,前提是 /var/log/dmesg.today 和 /var/log/dmesg.yesterday 中的文件没有被日志轮换破坏。我也没有意识到 '0003' 代表固件修订版。
# grep -i seagate /var/log/*
/var/log/dmesg.today:da2: <SEAGATE ST3300655LC 0003> Fixed Direct Access SCSI-3 device
/var/log/dmesg.today:da3: <SEAGATE ST3300655LC 0003> Fixed Direct Access SCSI-3 device
这里列出的字段是<“品牌” “型号” “固件”>。
答案1
与在 Linux 上非常相似,这些数据可能出现在您的dmesg
输出中(取决于您的磁盘控制器:硬件 RAID 控制器可能不会将固件数据传递到阵列)。
如果不是,你可以dmidecode
从 ports 安装(sysutils/dmidecode) - 这应该可以得到你需要的东西。 ipmitool
也是一个选择,但可能不太可能得到你想要的数据。
如果您使用的是硬件 RAID 控制器,您的控制器固件可能会告诉您驱动器正在运行什么固件,但刷新驱动器将是一个不同的麻烦……