Skip to content

Instantly share code, notes, and snippets.

@buswedg
Created August 2, 2024 22:55
Show Gist options
  • Save buswedg/f94a7978b07c1976e81e6d456ec37853 to your computer and use it in GitHub Desktop.
Save buswedg/f94a7978b07c1976e81e6d456ec37853 to your computer and use it in GitHub Desktop.

Lenovo 430-x HBA Firmware/BIOS Update

What?

Guide on how to update the firmware and BIOS of a Lenovo ThinkSystem 430-x SAS/SATA 12Gb HBA.

References

Steps

  1. Download the latest STORCLI utility for LSI SAS3.5 Controllers per the reference above.
  2. Download the latest HBA (Windows) driver package per the reference above.
  3. Extract the packages to a folder on your local (Windows) machine.
  4. Copy the relevant files to a FAT32 formatted USB, for example:
    • storcli.efi
    • 16i_24_00_07_00.fw
    • mpt35sas_x64_24_00_05_00.rom
    • mpt35sas_legacy_9_47_03_00.rom
  5. Boot to the USB via EFI shell.
  6. Identify the relevant (cX) HBA:
    storcli.efi show all
  7. Confirm the relevant HBA:
    storcli.efi /c0 show
  8. Backup STORCLI output to the USB:
    storcli.efi /c0 show all > backup\output.txt
  9. Backup current controller bios, firmware etc. to the USB:
    storcli.efi /c0 get bios file=backup\bios
    storcli.efi /c0 get firmware file=backup\firmware
    storcli.efi /c0 get mpb file=backup\mpb
    storcli.efi /c0 get fwbackup file=backup\fwbackup
    storcli.efi /c0 get nvdata file=backup\nvdata
    storcli.efi /c0 get flash file=backup\flash
  10. Update the firmware:
    storcli.efi /c0 download file=16i_24_00_07_00.fw
  11. Update the EFI BIOS:
    storcli.efi /c0 download efibios file=mpt35sas_x64_24_00_05_00.rom
  12. Update the BIOS:
    storcli.efi /c0 download bios file=mpt35sas_legacy_9_47_03_00.rom
  13. Check HBA versions have updated:
    storcli.efi /c0 show
  14. Power cycle the machine.
@WarmWelcome
Copy link

I purchased an Avago 430-16i from AliExpress. Not sure whether it's a clone or refurbished original or what, but it seems to be working as expected.

Very likely to be a clone. I purchased one and found it to be, and it had severe issues.

Just one question, is it normal for the "Product Name" in storcli to remain "430-16i" after flashing to 9400-16i?

I am unable to verify this, as I do not have a lenovo variant, so take it with a grain of salt. I am pretty sure that is normal. The only thing that seems to have changed is what is updated, which is the firmware.

I am not able to boot into the HBA BIOS.

Possibly an issue with the update. I had one with one of my clones. After an update, it spat out nothing but gibberish. I could get into the bios, though, so ymmv.

@MatrixInfosec
Copy link

I bought two of these off of ebay and neither shows in in the preboot. No way to get into the lenovo/LSI firmware menu like all the other LSI cards I own. Is this normal? I tried on two Supermicro x9scm-f boards and on an ASRock board. If i run lspci in linux, neither card shows up. Any ideas?

@WarmWelcome
Copy link

@MatrixInfosec

I bought two of these off of ebay and neither shows in in the preboot. No way to get into the lenovo/LSI firmware menu like all the other LSI cards I own. Is this normal? I tried on two Supermicro x9scm-f boards and on an ASRock board. If i run lspci in linux, neither card shows up. Any ideas?

Go back to the supermicro board and boot into built in uefi with the usb and storcli.efi utility. Ensure that the slot is not disabled and is set to load an oprom in the pcie settings, and is set to the right lane configuration (probably in cpu settings). When booted into the built in uefi, navigate to the flash drive (using the command fs0: probably, use map -b to see storage devices if it didnt print it initially) and use the command storcli.efi show to list the controllers and storcli.efi /cx show ("x" being the card num shown in storcli.efi show) to list the properties for the card. After you are at that point, you can probably flash it with the above commands.

Your storage controllers may have been flashed improperly, or could be without a rom of a certain type. You can try the different oprom types by changing the oprom to legacy or uefi for the pcie slot in the supermicro motherboard bios.

Additionally, make sure that your x9 motherboard is updated to the latest firmware. Sometimes, x9 boards can have issues flashing firmware. This does not relate to detecting these cards, however, so it should work at least for that.

If you have any questions about this, @ me and I will do my best to respond promptly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment