Tried this and it bricked my HP H220 HBA card when I tried to flash it to firmware version 20. Here's what I got after I entered
sas2flsh -f 9207-8.bin which started out well but then I got
ERROR: NVDATA Image does not match Controller SubSystem ID! and
ERROR: No compatible NVDATA Image(s) found! and then the utility closed out. I restarted the flash utility and tried just to list the controller and once again it issued many doom and gloom messages and said I needed to input a valid firmware file but would still not accept it without failing. At this point my controller is DOA and I was really bummed since I just purchased it. Here is what I saw.
View attachment 18240
That's the bad news. The good news is that I fixed it after i found someone's similar experience (with FreeNASversion 9.3 and LSI firmware 16) and how they resolved it. It seems that the newer version of the flashing utility (probably starting at version 16) performs this Subsystem ID check and older versions did not. His fix involved using the flash utility from version 14 to flash the board to firmware version 16 and like magic it worked. Just to be safe, and praying this would work for me, I just used the firmware version 14 package "as is" to try and get my board functioning again. Just like magic my board was successfully re-flashed to version 14 and all was good. Now that I knew I could "un-brick" the board if need be I decided to see if I could update the board to version 20 using the version 14 flash utility and like "manna from heaven" it worked perfectly. Here's a shot of my current status.
View attachment 18241
Of note, I believe that the command
sas2flsh -o -e 7 possibly contributed to the "bricking" as it wiped out any old code that might have been reverted to after these errors were detected. I say this only because when I applied version 20 on top of 14 I did not do the erase beforehand and it did not seem to care.
I did find one additional tidbit (note it is for the sas
3flash utility) and that is if you add the parameter "-
nossid" to the end of the command string as shown below it may ignore that check and not fail. I have not tried it on version sas2flash but it may solve this issue. The root of the issue apparently has to do with a newer rev of the LSI board that supports PCI Express 3.0 and this is somehow related even though both the old and new hardware versions support the new firmware.
sas3flsh –o –e -6
sas3flsh –o –f <firmware> -b <bios> -nossid
I hope this helps someone. Here's the full post that I found that I used to fix my problem
https://www.willglynn.com/2014/11/10/lsi-sas-firmware-nonsense/