4

My SuperMicro X13SAE has hardware raid for the three m.2 NVME drives that it supports. My question is how does it handle firmware updates for these drives? If the drives aren't being exposed to the operating system, then I assume fwupdmgr and fwupdtool won't see them as distinct drives. So how does the firmware get updated by default? And what options do you have for updating the firmware short of turning off hardware RAID or plugging the drives in elsewhere?

2
  • "how to deal with broken hardware?" seems like two steps before we even get to "how to deal with broken firmware of that rare sort where the vendor understands, acknowledges and provides proper fixes?" - how are you keeping track of the devices own health assessment, if not by querying the individual controllers?
    – anx
    Commented Jul 24, 2023 at 22:01
  • @anx Currently, I run fwupdmgr update and it shows all the devices and updates the ones not up to date. I'm not sure what you mean by health assessments, but that's not the question here. Commented Jul 24, 2023 at 22:27

2 Answers 2

6

The NVMe standard specifies a firmware update process. Any NVMe device supporting that process can be updated by a standard routine located in the RAID controller's firmware. The update can be integrated in the general configuration GUI or some extra tool.

See the NVMe Base Specification clause 3.11 for details.

A real hardware RAID controller necessarily and completely abstracts the physical drives from the operating system. The board you've linked uses Intel's Rapid Storage Technology (IRST) however, which actually is only host/firmware RAID - a software RAID with BIOS support, making it bootable but possibly problematic with non-RAID OS drivers. Open-source systems usually ignore host RAID and access the bare disks, breaking RAID synchronization - you might be better off using OS-level software RAID. Depending on the operating system and tools you might also get to the drives directly, but that could interfere with host RAID operation.

4
  • I wonder how clever the intel firmware is about the "reset me to switch to that firmware slot" answer. I would not dare trying anything but strictly sequential upgrades.
    – anx
    Commented Jul 24, 2023 at 22:35
  • 4
    "The board you've linked [...] actually is only host/firmware RAID" - Which means OP is probably better off using Linux software raid. That also immediately solves the firmware update problems, as then the individual drives are accessible from Linux. Feel free to include that in your answer :)
    – marcelm
    Commented Jul 25, 2023 at 12:01
  • @marcelm Host RAID is generally problematic with anything else than Windows, but that's for the user to evaluate once they've recognized that on-board RAID isn't necessarily hardware RAID.
    – Zac67
    Commented Jul 25, 2023 at 12:20
  • @Zac67 I agree that's for OP to decide, but you could still point them in that direction. Especially as it actually answers the question OP had (how to update firmware).
    – marcelm
    Commented Jul 25, 2023 at 13:50
1

Any decent hardware raid controller will have some type of software to manage the underlying drives. My Adaptec ASR71605 raid controller, for example, uses the maxView Storage Manager.

From there, I can simply click the device in question, then click "firmware update" in the GUI. I haven't tried it while the device is in use, but since I have parity in the array the worst case scenario is that it would need rebuilt after the firmware update. I would still make sure to have an up-to-date backup before modifying firmware though.

I'm on Windows, but the tool's website says it supports "Windows, Linux, VMWare, and Solaris", which is pretty typical for these kinds of devices.

Firmware update button via storage manager.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .