I was able to update some NetApp X357 3.84TB SAS SSDs from NA54 to NA55 using
storcli, on multiple servers of mine.
Drives:
- NETAPP X357_SLNGE3T8ATE
- NA54 -> NA55
- NA54 release: 0209E85B
Controller examples tested:
- AVAGO MegaRAID SAS 9460-16i
- Dell PERC H740P
First, find the controller and drives:
Code:
storcli show
storcli /call/eall/sall show all | egrep -i 'Controller|EID:Slt|X357|SLNGE|NA54|NA55|SN =|Firmware Revision|Firmware Release|State'
Example output identifying drives:
Code:
64:12 Onln ... X357_SLNGE3T8ATE
SN = HLY03EV1
Firmware Revision = NA54
Firmware Release Number = 0209E85B
64:14 Onln ... X357_SLNGE3T8ATE
SN = HLY03B2P
Firmware Revision = NA55
Firmware Release Number = 0408E862
Set the firmware path:
Code:
export FW=/tmp/X357_SLNGE3T8ATE.NA55.LOD
To flash a specific drive:
Code:
storcli /c0/e64/s12 download src="$FW"
To flash all known NA54 X357 drives, continuing even if one fails (though I had no failures):
Code:
for slot in 12 13 15; do
echo "===== flashing /c0/e64/s${slot} ====="
storcli /c0/e64/s${slot} download src="$FW"
echo "rc=$?"
echo
done | tee /root/netapp-na55-flash-$(date +%Y%m%d-%H%M%S).log
A successful firmware flash should look like:
Code:
Starting microcode update .....please wait...
MicroCode Update Operation not allowed. Retrying...
MicroCode Update Operation not allowed. Retrying...
MicroCode Update Operation not allowed. Retrying...
Flashing PD image .....please wait...
CLI Version = 007.2705.0000.0000 August 24, 2023
Operating system = Linux 6.14.8-2-pve
Controller = 0
Status = Success
Description = Firmware Download Succeeded.
For a different enclosure/controller, adjust /c0/e64/sXX. On another system mine were /c0/e98/s0, /c0/e98/s2, etc.
After flashing, verify:
Code:
storcli /c0/eall/sall show all | egrep -i 'EID:Slt|X357|NA54|NA55|SN =|Firmware Revision|Firmware Release'
Expected result:
Code:
Firmware Revision = NA55
Firmware Release Number = 0408E862
If the drives are in a virtual drive, check the array first:
Code:
storcli /c0/vall show
storcli /c0/dall show
One interesting result: I had one drive that had previously shown as UBad/foreign/bad, and I was still able to flash it to NA55. After clearing/setting it good, it reported normally again. So at least some “bricked” or controller-marked-bad drives may still be recoverable if they still enumerate and accept commands.
Hope that helps anyone else out!