Manual Firmware Upgrade on Dell PERC Controllers
This is just a short entry explaining how to update the firmware on most Dell EMC RAID controllers without using the Windows or GNU/Linux tool.
What you need is a downloadable firmware package (Dell calls them DUPs) for Windows, i.e., the .exe version, and the perccli command line tool, which might be the GNU/Linux, UEFI or the Windows version.
The .exe file by Dell is (in all cases I have seen) just a self-extracting ZIP file, so you can use any unzip tool you want (e.g. unzip itself).
Among the many files in the archive there will usually be a subdirectory called payload:
payload/FW_H740P_Adapter_nopad.rom payload/FW_H740P_Mini_nopad.rom payload/FW_H840_Adapter_nopad.rom
The .rom files are the firmware files. You need to choose the correct firmware file, and then use perccli to flash it:
perccli /c0 download file=payload/FW_H740P_Adapter_nopad.rom
Where /c0 specifies which RAID controller to flash - if you only have one, then it will usually be /c0.
In my experience, it is safe to flash any file at any moment - if the controller is not compatible to the firmware, it will refuse to flash. Likewise, if the controller is not in a state where it can accept the new firmware, it will refuse to flash. Note that I am not liable for anything if it goes wrong...
After flashing, the controller needs to be restarted to use the firmware. To do this, you can either reboot or use this command to restart:
perccli /c0 restart
Again, this should be safe - if the controller is in a state where it cannot restart immediatelly, it will refuse (and a system reboot will be required). Otherwise it will be gone for a short while without disrupting any I/O operations.