Supermicro X9DRH-7F - SBR and SPD

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

w0mbl3

Member
Aug 13, 2013
36
19
8
Sydney, Oz
Hopefully someone can help me - playing around with flashing my onboard LSI 2208 on my X9DRH-7F and currently getting the dread message "F/W is in Fault State - MFI Register State 0xF0010002".

I'm unsure whether I've still got the correct SBR file (I have one called BACKUP.SBR I made, but may have overwritten it with the empty one I flashed later).

If anyone with the above motherboard (or a similar Supermicro X9-series with onboard 2208 e.g. X9DRW or X9DAX) is able to extract a copy of both the SBR and SPD files from their Megaraid BIOS that would be most helpful.
 

w0mbl3

Member
Aug 13, 2013
36
19
8
Sydney, Oz
Looks like the backup I had was the right one.. between that and the STH thread linked below, I have a working controller again:
Is there a way to restore an LSI 2208 after firmware update failure?

Have flashed with the latest version of the Supermicro 2208 firmware found here:
ftp://ftp.supermicro.com/Driver/SAS/LSI/2208/Firmware(not_for_X9DRL-7F)/

And have attached a zip file with the current SBR and SPD for my X9DRH-7F now that its working.

Process I just went through:

Using LSI_DOS.zip package from above thread (extracted from the ISO):
megarec -cleanflash 0
(reboot)
megarec -writesbr 0 smc2208.sbr
megarec -m0flash 0 2208_16.rom (rom from the LSI recovery ROM thread linked above)
(reboot - got to working firmware ver 3.270.65-2578 )

Using firmware image from Supermicro's FTP linked above):
megacli -adpallinfo -a0 (spits out long file including SAS Address and all config options)
megacli -adpfwflash -f smc2208.rom -a0
(reboot - working latest firmware 3.460.115 from supermicro)
 

Attachments

glennv

New Member
Aug 17, 2019
5
0
1
I have the same motherboard and can upgrade the firware fine to the latest version, but i can not read or write the sbr. What version of megarec did you use . I used 01.02-007 August 03, 2011. Older versions did not recognise controller btw.
(If you used a new , link please)
I am getting a timeout, sbr read failed , error code = 4096.
Same for write but then with error code 8192.
All other tools work fine, just cant read/write that dammed SBR (need it to crossflash to 2308 as discribed elsewhere)
 

glennv

New Member
Aug 17, 2019
5
0
1
Anyone any idea why the sbr seems locked for reading and writing while i can flash and do everything else ?
 

glennv

New Member
Aug 17, 2019
5
0
1
Yeah tried that also. Gave me an “open bar1: no such file or directory” error.
According to the issues log in the git repo that seems to indicate in general that it wont work for that controller

It all makes no sense. Have seen no such report anywhere on the net about issues with reading or writing the sbr, while at the same time you can perfecfly fine flash another firmware/bios on it......
 

glennv

New Member
Aug 17, 2019
5
0
1
Actualy , correction to my last post regarding lsirec. That error was due to me typing something wrong. Tried it again today and it does read the sbr, only it reads it wrong as takes only 256 bytes (should be 512) and shifts stuff by a few bytes (as you can see in below dump) if i compare it to a proper sbr. So i dont dare to use this to write a modified sbr. Theoreticaly i could use the offset version and find/change the stuff in there and write it back but i could probably brick my motherboard with that. I dont see an option to have it read /understand 512byte versions and then write back a proper 256byte version for IT mode 2308 back.
It is also described in the issues list in github, but without a solution.

Commands/Output :
lsirec 0000:01:00.0 readsbr test.sbr :
Device in MPT mode
Using I2C address 0x50
Using EEPROM type 1
Reading SBR...
SBR saved to test.sbr

python3 sbrtool.py parse test.sbr test.cfg :
WARNING: Mfg data copies differ, using first
WARNING: Mfg data checksum error
WARNING: SAS address checksum error

cat test.cfg :
Unk00 = 0x053aef61
Unk04 = 0x5f5ae960
Unk08 = 0x712d010b
PCIVID = 0x5ae0
PCIPID = 0xff04
Unk10 = 0x92d6
HwConfig = 0x1000
SubsysVID = 0x005b
SubsysPID = 0x0400
Unk18 = 0x9015d901
Unk1c = 0x00000006
Unk20 = 0x00000000
Unk24 = 0x00000000
Unk28 = 0x00000000
Unk2c = 0x00000000
Unk30 = 0x00000000
Unk34 = 0xff8c6300
Unk38 = 0x00417007
Unk3c = 0xcc6c6600
Interface = 0x0c
Unk41 = 0x00
Unk42 = 0xca01
Unk44 = 0x860b1400
Unk48 = 0x6fda
Unk4a = 0xa8
SASAddr = 0x000000000000009d
 

nezach

Active Member
Oct 14, 2012
210
128
43
Flashing 2208 to 2308 is a bit more esoteric than flashing from IR to IT mode and I don't think there are that many people who tried it, so you might have to take some risks if you want to achieve that.
 

glennv

New Member
Aug 17, 2019
5
0
1
yeah i realised that ;-)

For now i just parked the idea . Seems not worth the risk of bricking maybe even the board. Put a chinese (probably knockoff but working perfecty fine) perc card in there instead which works great. Would have been cool though as i am out of pcie slots now (yeah all 7 as my gpu already takes 3, plus 2xhba , 1x10Gb, 1xusb3 )