3

I'm running FreeBSD 7.2, with Seagate Cheetah (Model ST####) drives.

We are having some problems with the SCSI drives on these machines. Our vendor says that updating the firmware on the drives may fix the problems, and a firmware update did seem to fix some SCSI problems on another FreeBSD host.

How can I view the firmware version of these drives? I tried some tips from nixCraft, but nothing has worked so far. In dmesg, I see the Make and Model, but no firmware revision.

In Linux, this information is often in /var/log/dmesg (Although /var/log/dmesg is sometimes out of date), or I often find this information with something like sudo lshw -class disk, lshal or dmidecode.

Update: Wed May 26 12:00:09 PDT 2010

Well, turns out I was wrong. Or a little misled. 'dmesg' will show the firmware version, provided that the files at /var/log/dmesg.today and /var/log/dmesg.yesterday haven't been clobbered by the log rotation. I also didn't recognize that '0003' stood for the firmware revision.

# 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

The fields listed here are <"Make" "Model" "Firmware">.

Stefan Lasiewski
  • 22,949
  • 38
  • 129
  • 184

1 Answers1

3

Much like on Linux this data may be in your dmesg output (depending on your disk controller: a hardware RAID controller may not pass the firmware data through for an array).

If it's not you can install dmidecode from ports (sysutils/dmidecode) - that should get you what you need. ipmitool is also an option, but probably less likely to get you the data you're looking for.

If you're using a hardware RAID controller your controller firmware will probably tell you what firmware the drives are running, but flashing the drives would be a different can of worms...

voretaq7
  • 79,345
  • 17
  • 128
  • 213
  • You are right! It *is* in dmesg, provided that /var/log/dmesg.today and /var/log/dmesg.yesterday are not out of date (Unfortunately, the /var/log/dmesg.* files on my test system are from March...) – Stefan Lasiewski May 26 '10 at 18:59
  • Yup - dmesg output tends to get stale. When I'm looking for this kind of data I tend to bounce the system in a maintenance window to make sure I'm not looking at something way out of date (especially with hot-swap disks) – voretaq7 May 26 '10 at 20:58
  • 2
    On a default FreeBSD installation, the `dmesg` messages from boot should be recorded in `/var/run/dmesg.boot`. – coneslayer May 28 '10 at 17:42