I’m running a Ryzen 5700G APU on an Asrock X470 Taichi motherboard, where one of the two PCIe x16 slots are populated with an Intel X520 10G SFP+ NIC, and the other has the LSI card in question. I have the LSI card plugged into two SilverStone SDP11 adapters, each of which take four M.2 SATA SSD’s.
When booting up the system, I do not see any of the M.2 SATA SSD’s in the BIOS nor in the actual TrueNAS SCALE system. the LSI HBA also doesn’t appear in the CLI when using sas2flash or sas3flash, and is not listed under lspci or dmidecode. I can at least confirm that the LSI HBA’s and the SSD’s do seem to get power, as they both are above ambient temps to the touch.
So far I’ve tried swapping the PCIe slots where those cards are plugged into, as well as trying a second LSI 9207-8i that I have. I also tried just having the LSI HBA plugged in without the NIC plugged in, but to no avail.
Is there anything I can try doing to get this to work? I’ve read some reports online of people taping off some two pins on the LSI HBA’s to fix their issues, but in those cases the LSI HBA’s would prevent the system from POST-ing, whereas my issue is that they don’t seem to be detected.
I have a half dozen Intel and AMD systems with SAS2008- and SAS2308-based cards in pure UEFI mode and they all work great, so that’s not a concern. There’s a dedicated slot for a UEFI-compatible option ROM that enables booting from attached devices and even a handy BIOS menu on some systems. You just have to pass in the correct ROM file(s) when you run sas2flash for legacy or UEFI or both (in addition to the IT or IR firmware binary). Works great.
I would definitely try to get this recognized in Linux on an older Intel system, flash the generic P20 IT firmware (and the UEFI ROM if you intend to boot from it), then it should work fine in your X470 board. Assuming you don’t have any bent CPU pins or other complications.
So for the time being, I don’t have any other systems to test it on. I can boot into a live USB of Ubuntu or other distro, but I’m not sure where to even get the proper drivers / BIOS / sas2flash or sas3flash programs to do any of this. I hate to ask, but do you have some guide on how to go about this?
So IpPlugged it into another machine, and lspci does actually see the card registered as Mass storage controller: Broadcom / LSI SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05). Is there something I should do with drivers / BIOS to get it working? How do I even get those things and related utilities?
That’s great! Now you can flash it. Here are some questions you need to answer:
What’s it currently flashed to? You should be able to run sas2flash -list to see its current status. That will determine your options to re-flash it; you can reference this page for that. Hopefully you can just flash it from Linux, that’s the easiest.
Do you want to run IR (firmware “RAID”) or IT (HBA) mode? Your answer to this question which firmware you need to download and pass in with -f.
Do you want to run with either the legacy option ROM or the UEFI option ROM, or both, or neither?
An option ROM is required for booting off an attached drive, and it’s particularly useful in IR mode for defining your topology in a boot menu. Your answer to this question will determine which ROM file(s) you need to download and pass in with -b.
If you don’t need any option ROMs you can simply erase both slots and the system will boot faster; I think that’s -e 5.
Yes the X470 Taichi board runs with either the top slot in x16 and 2nd slot not being usable, or both are in x8 modes. I tried changing the related BIOS setting in auto, x16, and x8x8 modes (for x16 I had the HBA in the top slot) and none of those seemed to make any difference. For the time being it’s on x8x8 so I can still use the 10G NIC.
Thanks for all that! Here’s the weird part.
I put the HBA in the other system like I mentioned, but the sas2flash utility claimed there were no compatible LSI SAS adapters connected.
I then tried the tape trick I saw online (taping off PCIe pins B5 and B6 of the HBA), but still nothing.
I put this HBA back into my NAS and booted off a live Ubuntu USB, and the HBA now appears there!
But like with the other system, sas2flash also reports the same error about not finding any LSI SAS adapters.
I’m going to try a FreeDOS live USB and see if that works, but if that fails, does that mean these two cards I bought are busted?
Neither of the cards are branded aside from the bug LSI logo on the PCB to the right of the heatsink.
That thread you posted seems interesting, and I want to try what they described, but I have no idea how to get into an EFI shell on my machines. I saw the option in my BIOS’ boot menu to select EFI shell from filesystem but it just has a pop-up saying “Not Found”. Any way I can boot into it to use the EFI sas2flash.efi tool? Not really finding any explanations of how to do this online
So tried a few things, and ran into quite a few issues. Here’s the rundown:
Tried to create a USB to boot into an EFI shell. I thought I got it working when the monitor reported that the resolution / refresh rate it was being sent was not supported. I tried a different monitor, and instead of an error the system just would not get into the EFI shell.
Went back to using FreeDOS through Rufus. Found this guide that someone made on fixing up these cards, and they included a link to another forum that had saved many of the older LSI files like the megarec application.
Followed what the guide said (which is also what most other online sources said to do) which includes these steps:
Boot into FreeDOS after copying all of those files over
Make sure the HBA is listed when running megarec -adplist
Wipe the HBA with megarec -cleanflash 0 (where 0 is the card index, and in my case I only have the one card installed)
Press CTRL + ALT + DEL to reboot the system and go right back into FreeDOS
run megarec -m0flash 0 2208_16.bin
That last step is where I’m stuck. It starts to program the flash, but then fails with this message:
Currently flashing component = APP
Error in programming image into Flash.
Error code = 64
Failed to flash the image. Please retry recovery
Trying to find any resources on these error codes, just like finding the apps & files in general, is pretty difficult. I’m not sure what to do next to try to fix this.
The EFI shell issue could’ve also been the actual USB stick I was using be dumb, since I followed that guide and used a different USB stick for it.
I got into the EFI shell, used sas2flash to wipe the card again, flashed the new firmware bin and rom files, rebooted into TrueNAS and the card is getting detected, and all 8 of the SSD’s are being detected!
Thanks a ton @bambinone and everyone else for helping me figure all of this out!