Failing to cross flash Dell H310 as SBR keeps getting overwritten

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

AciD-ZerO

New Member
Oct 21, 2013
1
0
1
Hi,

I've picked up a Dell Perc H310 Adapter off eBay and trying to cross flash it to the latest LSI 9240-8i (release 0150) firmware. Firstly the reason I want to cross flash it is although the card is detected fine (I've applied tape to the B5/B6 PCI-E pins as it's in an Intel chipset motherboard), sees any attached disks and can configure the arrays, if I enable BIOS boot in the H310 the system will just sit at a 'Loading Operating System' prompt and never boot (even if another device is set as a higher priority boot device in the motherboard BIOS). Also the official Dell firmware updates/drivers fail to detect any adapter when run (I discovered the reason for this, explained below). I'm hoping the LSI or IBM firmware will resolve these issues with what is otherwise a fully functioning adapter.

I've figured out from posts here and other sites how to flash the card successfully and, to a degree, it is working with the following steps:

megarec -readsbr 0 backup.sbr
megarec -writesbr 0 ibmm1015.sbr (Obtained from the sas2008.zip flashing package. I don't have a LSI 9240-8i SBR file available)
megarec -cleanflash 0 imr_fw.rom (Obtained from LSI website. Have also tried the latest IBM M1015 firmware with the same end result)
<reboot>


Card is correctly identified as an IBM M1015 and I can successfully enter the configuration utility (which is the IBM/LSI configuation GUI rather than the simpler Dell interface) or boot into Windows and the LSI drivers correctly install and see the controller/defined arrays. The problem however is after the next reboot the adapter always displays the error:

F/W is in fault state. MFR register state 0xf0010002

After hours of searching and re-flashing I've figured out what is causing the problem, what I need to do to fix it but not 'how' to fix it.

It seems when I do the 'megarec -writesbr 0 ibmm1025.sbr' command it is correctly writing the new SBR to the adapter. Reboot and the new SBR is still there. However reboot again and the SBR is reverting back to the original Dell SBR which contains invalid SubVendorID and SubDeviceID codes for the IBM/LSI firmware (I've verified this by running the 'megarec -readsbr 0 file.sbr' command at each stage and checking the device IDs within it):

<Starting with the original Dell SBR>
VendorID=0x1000, DeviceID=0x0073, SubVendorID/SubDeviceID=0x1f78#### (can't remember exact value atm)

<Flash M1015 SBR - no reboot>
VendorID=0x1000, DeviceID=0x0073, SubVendorID/SubDeviceID=0x03B11014 (which correctly matches SUBSYS ID in the LSI driver .inf file for the M1015)

<reboot>
VendorID=0x1000, DeviceID=0x0073, SubVendorID/SubDeviceID=0x03B11014

<Reboot>
VendorID=0x1000, DeviceID=0x0073, SubVendorID/SubDeviceID=0x1f78####


This also explains why the official Dell drivers/firmware updates fail as according the the driver .inf file, a H310 Adapter should be 0x1000, 0x0073, 0x1f4e1028! The tools are therefore seeing the 0x1f78#### and deciding it is not a Dell card (the 0x1f78#### doesn't even correspond to a 5/i, 6/i, H200, H700, H710, H720, H800, H810 or H820!)

It seems the MegaSCU tool will allow me to reprogram the adapter's Device and Vendor IDs with the command

MegaSCU -AdpFactorySettings -SetPciData -f config.ini -a0

However I do not know the format of the ini file. Even creating a backup of the full settings with

MegaSCU -AdpSettings Write -f FileName -a0

and deleting the additional lines (leaving just VendorID, DeviceID, SubVendorID and SubDeviceID) does not work as the -SetPciData command just complains that the ini file is not correct.

Knowing this I have tried clearing the persistent storage area with 'sas2flash -o -e 3' (as well as -e 7) and then repeating the flashing process but same end result, the SBR gets restored after the 2nd reboot still. Even tried the 'sas2flash -o -sbr' command (using latest version from the LSI 9211-8i P17 firmware update package) which is meant to check for mismatch between current sbr and NVDATA MFG Page 2 and then update the Persistent MFG Page 2 but the command itself fails to even run.

Can anyone point me in the right direction on how to successfully re-program the adapter's vendor/device IDs permanently or how to prevent the newly written SBR from being overwritten back to the original Dell SBR after the 2nd reboot?

Thanks.
 

CFelipe

New Member
Aug 19, 2014
3
0
1
53
Hi,

I am reading some things about H310 and found your post.

There are several versions of H310, but I have no info about all diferences between them.

I saw some, and the form factor is a distinct thing between them, but the core still a LSI 2008, as RAID capabilities.

That is a Dell Perc H310 for Precision Workstations (probably your card - SUBDEV=1f78).


That is a regular Dell Perc H310 I found in Dell Servers (SUBDEV=1f4e, much like M1015) :


Some IDs are here:
1000:0073:1028:1F4E=PERC H310 Adapter
1000:0073:1028:1F4F=PERC H310 Integrated
1000:0073:1028:1F50=PERC H310 Mini Blades
1000:0073:1028:1F51=PERC H310 Mini Monolithics
1000:0073:1028:1F52=PERC H310 Embedded1
1000:0073:1028:1F53=PERC H310 Embedded2
1000:0073:1028:1F54=PERC H310 Reserved
1000:0073:1028:1F78=Dell Precision H310

Did you complete the crossflash to M1015?