Dear vl86m
First of all..sorry for the bad grammar and if it sounds direct.
I'm german and English is not my native language.
I think I can give you a few answers but have more questions...
→ Was it ever determined if there is an IT firmware that can be flashed to →→ enable NVME ←← ?
- I used P19 firmware from Broadcom website and successfully transformed a 530-8i to an HBA 9400-8i using HBA_9400-8i_mixed_Profile.bin
- it recognized my two PM983 (U.2) NVMe SSD, attached via the (f***ing expensive) u.2 enable cable from LSI
- did not test performance yet, cause I would like to hardware RAID them to RAID1. That's why I would need an answer to your 2nd question, too...
- need to know this too...
- I tried to erase the entire flash with the erase (excludemfg) command. After that, storcli /cx show told me this adapter is in an invalid state and I have to flash the firmware. Unfortunately, it did not accept 9440-8i_nopad.rom (v 51.17.0-3971), giving me back "invalid checksum" (with and without J4 jumpered). Only get it back to life with the firmware backup (storcli /cx get firmware file=xxx)
- I also extracted the Firmware Updates from Lenovo using 7zip. Did anyone notice, that Lenovos 9440-8i_nopad.rom is 7MB and Broadcoms is 8MB? At least it is in Lenovos Firmware package from 2017... Lenovos v51.13.0 (I think released in 2020) has 8MB *_nopad.rom.
I tried to exchange Lenovos 9440-8i_nopad.rom with the latest Broadcom version and execute the "install.bat", but unfortunately it just told me, my Firmware is already up to date and don't need to be flashed. Maybe there is a way to edit the install.bat to skip this check..? I don't know enough about batch to see what needs to be changed, but what I noticed is, it only calls lsiStoreUpdateWin.exe instead of storcli.exe...
for those who would like to have a look at the batch...(I hope, this is not a violation of any forum rule)
Maby someone knows what needs to be changed within the batch file, to turn a 530-8i into a 9440-8i and use NVMe
and have Raid capabilities...
@echo off
call vcredist_x86.exe /passive /quiet /install
SET VERSION=50.2.1-0598 #changed the version number higher and lower...made no difference.
SET USERPATH=""
SET FORCE=0 #changed it to 1, also no change in behavior
if not exist %SYSTEMDRIVE%\Lenovo_Support\ (
mkdir %SYSTEMDRIVE%\Lenovo_Support\
)
REM check for command line arguments
if not ["%~1"]==[""] (
if ["%~1"]==["-l"] (
if not "%~2"==[""] (
set USERPATH=%~2
if not ["%~3"]==[""] (
if ["%~3"]==["-f"] (
SET FORCE=1
)
)
)
) else if ["%~1"]==["-f"] (
SET FORCE=1
)
)
echo.
REM Validate the user path
if not [%USERPATH%]==[""] (
echo USERPATH %USERPATH%
ArgValidate "%USERPATH%" "\:"
set rc=%ERRORLEVEL%
if not ["%rc%"]==["0"] exit 1
)
ECHO Update may take several minutes to complete.
if %FORCE% == 1 (
call lsiStorUpdateWin.exe ctlr-info.txt -t MR -pn pn.txt -f
) else (
call lsiStorUpdateWin.exe ctlr-info.txt -t MR -pn pn.txt
)
SET iRC=%ERRORLEVEL%
if %iRC% == 0 (
SET STATUS=Success
ECHO If can any adapters were flashed, a system reboot is required to complete the firmware update process.
ECHO Reboot does not have to occur immediately.
) else (
SET STATUS=Failed
)
if ["%~1"]==[""] goto DEFAULT
if not exist %~1 (
REM Check if hour is less than 10
if %TIME:~0,2% LSS 10 (
echo %DATE:~4,2%:%date:~7,2%:%DATE:~10,4% 0%TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% > %~1
) else (
echo %DATE:~4,2%:%date:~7,2%:%DATE:~10,4% %TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% > %~1
)
) else (
if %TIME:~0,2% LSS 10 (
echo %DATE:~4,2%:%date:~7,2%:%DATE:~10,4% 0%TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% >> %~1
) else (
echo %DATE:~4,2%:%date:~7,2%:%DATE:~10,4% %TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% >> %~1
)
)
GOTO EXIT
EFAULT
REM Set log path
REM logDate Year Mon Day Hour Min
REM Check if hour is less than 10
if %TIME:~0,2% LSS 10 (
SET logDate=%DATE:~10,4%%DATE:~4,2%%date:~7,2%0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
) else (
SET logDate=%DATE:~10,4%%DATE:~4,2%%date:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
)
SET logPath=%SYSTEMDRIVE%\Lenovo_Support\sraidmr35-530_%logDate%.log
REM 08:18:2004 16:43:46,Update=BIOS,New=1.14,Status=Success,ReturnCode=0
if %TIME:~0,2% LSS 10 (
%DATE:~4,2%:%date:~7,2%:%DATE:~10,4% 0%TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% > %logPath% 2>&1
) else (
echo %DATE:~4,2%:%date:~7,2%:%DATE:~10,4% %TIME:~1,1%:%TIME:~3,2%:%TIME:~6,2%,Update=Firmware,New=%VERSION%,Status=%STATUS%,ReturnCode=%iRC% > %logPath% 2>&1
)
:EXIT
exit %iRC%
best regards,
Ben