Lenovo 530-8i IT Mode Firmware update process

chrimat

Cadet
Joined
Nov 13, 2022
Messages
2
Hello,

I am trying to get TrueNAS to work with my (re-flashed) Lenovo 530-8i.
I bought it used and it already had an IT-Mode Firmware (LSI 9400) on it, but since the driver was outdated I had to put a more recent FW and BIOS version on it to get it to work under the latest ESXi 8.
I know - neither VMWare officially supports this Mainboard / Architecture (see Signature) for ESXi nor does Truenas officially support virtualized Instances and Passthru, but I've been at this long enough to understand that it should be doable. An ESX-based virtualization is the most effective use of the Hardware I got and it works so far for my other VMs - I even got PCIe Passthru to work with my NVIDIA GPU - So please just go with the premise that ESX 8 and PCIe Passthru can be done with this System. A bare-metal installation of TrueNAS would not be cost- or energy efficient at all on this kind of Gear).

Hence, I downloaded HBA_9400-8i_SAS_SATA_Profile.bin from Broadcom and put it on the card by executing
Code:
storcli64 /c0 download file="./9400_fw/Firmware/HBA_9400-8i_SAS_SATA_Profile.bin"

(from within esxcli) yielding
Code:
Description = CRITICAL! Flash successful. Please power cycle the system for the changes to take effect

Following up with the recommended reboot, the FW version was updated to 24.00.00 without issue.

Then also ran
Code:
storcli64 /c0 download efibios file="/etc/vmware/tmp/9400_fw/UEFI_BSD_HII_SAS3.5_IT_X64/mpt35sas_x64.rom"

since I assumed, the FW and BIOS had to be installed separately and should be from the same version/download package.

Code:
storcli64 show

now displays the Card with new BIOS and FW as
[root@ESXi8-0:/usr/tmp/9400_fw] /opt/lsi/storcli64/storcli64 show
CLI Version = 007.2307.0000.0000 July 22, 2022
Operating system = VMkernel 8.0.0
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = ESXi8-0.vsphere.local
Operating System = VMkernel 8.0.0
StoreLib IT Version = 07.2400.0200.0000
StoreLib IR3 Version = 16.14-0

IT System Overview :
==================

--------------------------------------------------------------------------
Ctl Model AdapterType VendId DevId SubVendId SubDevId PCI Address
--------------------------------------------------------------------------
0 HBA 9400-8i SAS3408(B0) 0x1000 0xAF 0x1000 0x3010 00:02:00:00
--------------------------------------------------------------------------

Now I passed this Card trough from the Host (ESXi 8) to the TrueNas VM (8GB RAM, 2 Cores) with the Disks for Datastore attached to it. The system itself resides on a simple 30GB VHDX file residing in the ESX Datastore on NVME.

root@truenas[~]# dmesg | grep mps
yields no results

root@truenas[~]# dmesg | grep mpt
mpt0: <LSILogic SAS/SATA Adapter> port 0xe00-0xeff mem 0xffbb0000-0xffbb3fff,0xffba0000-0xffbaffff at device 0.0 on pci2
mpt0: MPI Version=1.5.0.0
da0 at mpt0 bus 0 scbus2 target 0 lun 0
cd0: Attempt to query device size failed: NOT READY, Medium not present

root@truenas[~]# dmesg | grep mpr
mpr0: <Avago Technologies (LSI) SAS3408> port 0xd00-0xdff mem 0xfdc00000-0xfdcfffff,0xfdb00000-0xfdbfffff,0xfe300000-0xfe3fffff at device 1.0 on pci2
mpr0: Firmware: 24.00.00.00, Driver: 23.00.00.00-fbsd
mpr0: IOCCapabilities: 2fa84c<ScsiTaskFull,DiagTrace,EEDP,TransRetry,EventReplay,MSIXIndex,HostDisc,FastPath,RDPQArray,AtomicReqDesc>
root@truenas[~]# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 16.00.00.00 (2013.03.01)

Now, here's the catch: None of the attached Harddisks are found (7x 2 TB) and no HBA device is shown with sas2flash -listall nor with sas3flash -listall, despite the mpr query above yielded some results.

Did I use the wrong Firmware or BIOS file to flash onto the card? What would be the correct files / commands to prep the card for IT Mode usage / as HBA?

With kind regards,
Christopher
 

chrimat

Cadet
Joined
Nov 13, 2022
Messages
2
My suspicion is, that the driver 23.00.00 is just one version too low - the device now has Firmware 24.00.00 on it.
Can someone tell me, when the latest driver will be included in a new FreeNAS release (or is there already a nightly build that includes it)?

By the way - storcli from within TrueNAS / FreeBSD also lists the device, so the passtrough seems to have worked just fine:

root@truenas[/]# storcli show all
CLI Version = 007.1207.0000.0000 Sep 25, 2019
Operating system = FreeBSD 13.1-RELEASE-p1
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = truenas.local
Operating System = FreeBSD 13.1-RELEASE-p1
StoreLib IT Version = 07.1300.0200.0000

IT System Overview :
==================

--------------------------------------------------------------------------
Ctl Model AdapterType VendId DevId SubVendId SubDevId PCI Address
--------------------------------------------------------------------------
0 HBA 9400-8i SAS3408(B0) 0x1000 0xAF 0x1000 0x3010 00:02:01:00
--------------------------------------------------------------------------

Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=Array NotOptimal|VNOpt=LD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Spare Drive
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit
Hlth=Health|Safe=Safe-mode boot
 
Top