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.
@glaserf
Copy link

glaserf commented Sep 24, 2025

@webermar Thanks for the link - but I still don't get the explanation part why the Ali adapters don't work to be honest.. What do you mean by "they did with with u.2 adapters" (who is "they", Ali or Broadcom)?

@webermar
Copy link

webermar commented Sep 25, 2025

@webermar Thanks for the link - but I still don't get the explanation part why the Ali adapters don't work to be honest.. What do you mean by "they did with with u.2 adapters" (who is "they", Ali or Broadcom)?

Yeah nobody else knows what is special about that cable, too. From images we can infer that it has no active components but they way it connects to the controller must be special.
The people at servthehome did it with u.2 to m.2 adapters. So for me, that confirms the cable is the critical part.

If you look at it it seems there are only genuine cables which connect 2x SAS8643 to 2x U.2. I would speculate that this is for some reason...
https://www.genuinemodules.de/05-50065-00

@glaserf
Copy link

glaserf commented Sep 25, 2025

@webermar Thanks for the link - but I still don't get the explanation part why the Ali adapters don't work to be honest.. What do you mean by "they did with with u.2 adapters" (who is "they", Ali or Broadcom)?

Yeah nobody else knows what is special about that cable, too. From images we can infer that it has no active components but they way it connects to the controller must be special. The people at servthehome did it with u.2 to m.2 adapters. So for me, that confirms the cable is the critical part.

Ah okay, got it. Yeah indeed no active components neither in the cable nor the U2/M2 adapter. What all threads in this regard seem to agree on is that the "secret sauce" really is Broadcom somehow mapping NVMe on a connector that can also do SAS/SATA (SFF-8643). For this to work they had to get creative in the pinout, and the special cable "undoes" this. I suspect that this is also the reason that there is no single-SFF-8643 to single-U.2 cable, but only dual-to-dual and each U.2 gets some signals from both of the SFF-8643 connectors.

However, that still does not explain why this darn cable from Ali does not work even though it claims to be Broadcom compatible/special, or why this setup as a whole does not work.
I found this cable from Amazon which looks different compared to the Ali one (and is even cheaper), reluctant to give it a try: https://www.amazon.com/dp/B07JM1H18S

@webermar

@glaserf
Copy link

glaserf commented Sep 25, 2025

If you look at it it seems there are only genuine cables which connect 2x SAS8643 to 2x U.2. I would speculate that this is for some reason... https://www.genuinemodules.de/05-50065-00

Damn.. there's also this https://www.genuinemodules.de/05-50061-00 which further cements our suspicion about the 2x 8643 being necessary. And now I really wonder if these cables work with what I originally had in mind (see above).

@glaserf
Copy link

glaserf commented Oct 10, 2025

Well, what should I say?

It bloody works - finally!

Turns out, the cable from Ali was dodgy - who would've thought! Not sure if only mine or they don't work in general, either way it is straight going back and my money refunded.
The cable from Amazon just works, is cheaper, and in general looks like its built with higher quality.

What a journey. Sadly, temperature reporting for the NVMe drive connected to the HBA does not work, as has been mentioned here and elsewhere already. Apart from that, it absolutely fits my use case, given the PCIe limitations of my MoBo/platform.

@webermar

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