Crossflashing of LSI 9341-8i to LSI 9300-8i. Success (but no SMART pass through)

vorticity_flux

New Member
Jun 30, 2014
3
10
3
40
Crossflashing of LSI 9341-8i to 9300-8i. Success (but no SMART pass through)

Disclaimer: If you will decide to repeat any of my attempts please be warned that you are doing so solely on your own risk. You can even permanently ruin your card. As far as I know it is really hard to ‘brick’ one of those cards, you should be able to revert to HBA firmware. But at the moment of writing there is no way known to revert to the original firmware.

I have recently acquired LSI 9341-8i card to drive an array of 6 Intel 6Gb/s SSDs in RAID0 (offline backups but that’s not the point). I thought that controller that is capable of 12Gb/s should be able to handle pressure of 6 6Gb/s SSDs. It appears I was wrong about that. The card is becoming a bottleneck in RAID0 mode. Software RAID on top of 6 disks in JBOD mode is performing significantly better. So I decided to go for ZFS instead of hardware RAID. For this task a proper HBA will be a way better tool for the job. As LSI 9300-8i is visually identical to 9341-8i I have decided to take the plunge and try to cross flash my 9341-8i to LSI 9300-8i IT mode firmware.

I was not able to find any information describing the crossflashing of LSI3008 based controllers on the net. First I had attempted to apply the LSI 9300-8i flash head-on with sas3flash utility but the utility did not recognize the card (no surprise here). I have tried skipping Option ROM loading but sas3flash utility still couldn’t see the card. EFI utility version did not work either. Apparently LSI3008 chip was in a wrong mode.

I have spent significant amount of time looking for an analogue of MegaRec utility for LSI3008 chips (probably just a newer version of that utility should work). I have managed to get my hands on MegaRec utility that is half a year younger than the version that was released by SuperMicro and is used for crossflashing of LSI2008 cards. That has not helped a lot. However I have found a ton of LSI documents released for OEMs.

In one of them there was a description of a boot sequence of one of the LSI chips. That gave me an idea to look for an emergency recovery jumper near the flash chip on the card. I have examined the card and found a 2 pin jumper near the flash chip and the SAS interface ports labeled TP12. One of the pins can be traced to the flash chip and the other goes to the ground through a resistor. This has made me confident that it should be safe enough to give it a try. Once I have shorted the jumper and powered on the system the green light on the card was not blinking any longer. Once I have booted to DOS and launched sas3flsh utility I was delighted with the fact that now it could see the card. The remaining process was straightforward much like flashing any other LSI HBA. The card flashed ok and apparently works fine. BIOS, OS boot, IO meter tests. The only thing that does not work as expected is SMART pass trough. I am not able to see the drive SMART status using Intel SSD toolbox. So it works kind of like a bit faster JBOD only card… I am not sure if the issue is with the card or with the OS drivers.

The firmware versions I have tried (all tools and firmware I have used for those experiments are readily available on the OEM sites):
LSI 9300-8i (IT mode) – works fine, but no SMART pass through.
LSI 9311-8i (IR mode) – works fine, but no SMART pass through (as it should be).
Supermicro 3008 (IT mode) – Slot numbers of drives are reported incorrectly, otherwise it works fine. No SMART pass through.
IBM N2215 – flashed, boots, works, IO meters results are awkward (4k read is ok but OLTP is very low; I suspect it is not fully compatible). No SMART pass through.

Exact sequence of steps I have followed:

  1. Prepare a bootable DOS flash with:
    1. sas3flsh.exe – flash utility
    2. SAS9300_8i_IT.bin – firmware file
    3. mptsas3.rom – bios rom file
    4. mpt3x64.rom – UEFI bios rom file (optional)
  2. Short the TP12 jumper on the board near the SAS connectors.
  3. Boot the system to the DOS mode.
  4. Flash the firmware:
    • C: \> sas3flsh.exe -f SAS9300_8i_IT.bin
    • The system will hang on the resetting the board after flashing. This is normal, the flash utility is waiting for the board to boot and the board will never boot as the flash recovery jumper is shortened. You can try to add the -noreset flag to prevent this but I have not tested it.
  5. Power off the system and remove the jumper.
  6. Boot to the DOS mode
  7. Back up the full flash and/or other regions if you want. The flash is not original at this stage but some of the regions are. I do not have any use for those backups at the moments but who knows.
    • C:\> sas3flash -o -uflash <new_file_name>
    • C:\> sas3flash -o -unvdata <new_file_name>
    • C:\> sas3flash -o -umpb <new_file_name>
  8. Erase the full flash:
    • C: \> sas3flsh -o -e 7
  9. Flash the new firmware again with ROM
    • C: \> sas3flsh -f SAS9300_8i_IT.bin -b mptsas3.rom
  10. Flash the UEFI bios is necessary
    • C: \> sas3flsh -b mpt3x64.rom
  11. Set the SAS address
    • C:\> sas3flsh -o -sasadd <full_sas_address>
  12. Reboot and install the new driver if necessary.
  13. You are done!
I have also tried flashing back the original firmware (just for the sake of it), but I did not find the way to do that.

I still want to sort this SMART issue out. If anyone does have access to the original LSI 9300HBA card I would be very grateful for a confirmation that it can handle a SMART pass through and with what driver version. I would also much appreciate if someone with an access to the original LSI9300 could dump a flash memory contents for me (could it be that some parameter in the MPB flash region affects SMART pass through behavior?). Command to dump flash to file: sas3flash -o -uflash <new_file_name>
 
Last edited:

vorticity_flux

New Member
Jun 30, 2014
3
10
3
40
All experiments above were done using LSI Phase 5 or older firmware. It turns out original 9300 cards with that firmware level also have troubles with SMART pass through.
Recently released LSI 9300 P6 firmware is working fine on a 9341 card. SMART info is passed through to the OS and TRIM is working fine. LSI 9341 is now a fully functional HBA.

Instructions are exactly as mentioned above but you have to grab the P6 firmware and OS driver from the LSI support site.
 
  • Like
Reactions: Sleyk and Patrick

Luke H

New Member
Dec 13, 2014
1
0
1
45
Thanks for your post! I recently got a 9380-8e (by mistake) to drive a 12G Sans Digital JBOD with FreeNAS only to find out that the onboard H/W raid was useless and needed to be disabled. Think I may try your guide to crossflash mine to the 9300-8e IT firmware as well... have you run into any problems since you posted all this?
 

Badgerblack

New Member
Jan 29, 2015
1
0
1
48
Hello & thanks for your efforts on cross flashing the 9341.

Following your instructions, I managed to successfully cross flash an on board LSI3008 from a Supermicro X10 motherboard, to a LSI / Avago 9311-8i.
I would like to attempt to cross flash to a 9341 but could not find the appropriate bin file i.e SAS9341_8i_IR.bin from LSI / Avago's site.

Regards,

Steve.
 
Last edited:

PnoT

Active Member
Mar 1, 2015
606
135
43
Texas
I just picked a couple of these cards up off eBay for under $100 and was thinking about turning them into some fast HBA devices. I had a few questions thou.

1. Without crossflashing you said the performance of RAID 0 was bad. What numbers were you pulling?
2. What figures were you pulling after the crossflash into IT mode on this controller?
3. Has anyone figured out how to go back to the original firmware yet just in case?


Thanks for the steps!
 

Aluminum

Active Member
Sep 7, 2012
431
45
28
If you're using for things like ZFS etc you don't want to flash back, IT mode is the only function type that by design doesn't screw with your data.

This was basically what I did minus the ROM files, as long as the OS can talk to the controller with a proper driver you can mount the drives after boot.

I don't care if the UEFI/BIOS can see my drives since I always use a boot usb or SSD on the PCH, in fact the more I think about it in the grand scheme of things I'd rather they stay hidden from any code that doesn't understand the filesystem.

You might have to do a complete wipe to put the original firmware back on (make a backup) or it could be irreversible but none of us software filesystem converts care. Hardware raid is for the naive or misinformed. /soapbox
 

sfbayzfs

Active Member
May 6, 2015
247
104
43
SF Bay area
Success on a 9340-8i finally, using P10 firmware!

I believe before I was having problems because when I flash LSI SAS2 cards, I tend to always specify -o even if it is not needed and -c 0 to specify the first card, even if that is not needed. One or both of those were messing up my flashes before, it is working perfectly according the the original instructions above with these changes:

* The jumper to jump is J6, found to the right of the silver heatsink just above the labelled flash chip.

* I tried with the -noreset flag as was previously untested above, and it does work to exit after the initial flash of IT firmware with the jumper jumped, so there is no confusion about when you can reboot!

* I found that you can specify both the regular BIOS and UEFI BIOS files in one sas2flsh command as -b [FILE1] -b [FILE2] and it will flash both of them, and you can specify the -sasadd along with them in the same command line as well if you like.

The other change between my flash attempts which probably had no effect is that I am using an x8dte motherboard for flashing now.

Here is a reduced version of the problems I was having before in case they help anyone - remember, do NOT specify the card index (-c 0) or advanced mode (-o) if they are not needed!

***

The 9340-8i has connectors on the top of the card instead of the end, and the heatsink is tall and narrow like on the SAS2 MegaRaid cards. There is no TP12, but there is a jumper spot near the flash chip, labelled j6, which seems to mostly work like the tp12 jumper you describe on the 9341-8i card.

For reference, I do all of my flashing from a FreeDOS 1.1 boot USB on an early DDR3 generation Asus AMD desktop board with ECC unbuffered DDR3. If I ever figure out UEFI scripting (if there is any) I might switch to that, but freedos is easier for me to navigate and automate flash operations in currently.

I tried all of this with P9 firmware and tools I downloaded about a month ago, only to find that P10 was released on October 7th, so I retried with that firmware, bios, and tools, with the same results. I also downloaded the P5 sas2flsh, but the only difference with that is that it claimed the P10 BIOS file was incompatible with the controller.

Generally, many of the commands ran to a point, performing alleged adapter resets, but eventually hanging on the final reset. If I specified the -noreset flag,

* cold boot with no jumper - no LSI card found, cannot run commands
* boot with jumper - commands will run, but request a ROM file to use for the command for say -list, -f, -b, etc. and hang at what looks like the final reset
* -o -e 7 and -o -e 6 seem to work OK at erasing the flash - with no jumper, no BIOS is shown when booting anymore
* -f [romfile] withor without -b seems to work as above - with -noreset it completes, otherwise hanging, but after a reboot, no card detected again
* -f [romfile] -b [bios] without -noreset never gets to the BIOS flash
* -f [romfile] -b [bios] with -noreset continues to the BIOS flash, gets as far as "attempting to flash BIOS" or something similar, and lights on the card blink a bit off and on, but nothing progresses even after 5+ minutes
* -b [biosfile] without -f hangs at the same point trying to flash the BIOS file
* -list asks for a ROM file to load, loads it, and starts doing a show command, is very slow, and hangs a line or 2 after the (empty) SAS address line, before it gets to anything really interesting.
 
Last edited:
  • Like
Reactions: Sleyk and raileon

PnoT

Active Member
Mar 1, 2015
606
135
43
Texas
Is P10 the latest version you can put on these cards as P20+ is out correct?

Thanks for the pictures!
 

PnoT

Active Member
Mar 1, 2015
606
135
43
Texas
Sas2 and sas3 controller lines have different firmware. sas2 is at p20 now, sas3 is at p10 now.
I should have verified that myself before asking... sorry about that and thank you for the information. I'm about to crossflash both of my 9341-8i this weekend so I'm a little nervous about it but will try and follow the guide. Thanks
 

sfbayzfs

Active Member
May 6, 2015
247
104
43
SF Bay area
No worries, sorry if I sounded curt, I was replying on the go. Mine worked fine, and even if you end up with a completely wiped card like I did for a while by wiping without initially flashing, you can easily recover from it later. It is very similar to the sas2 card flashing procedure except for the jumper part. Now that I think of it, late model actual sas2 9240-8i cards which have been reported to not be flashable to IT mode might benefit from a jumper trick like this, I would try if I had one.
 

Kristian

Active Member
Jun 1, 2013
347
83
28
Thank you. With you help I managed to crossflash a Intel RS3UC080 I bought for $125 to a LSI 9300 8i
 
  • Like
Reactions: PnoT

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,029
1,578
113
CA
Anyone know a reason I couldn't flash my Intel RS3DC080 with this? Same as @Kristian but with RAM... that's the difference I saw at-least.
 

skavan

New Member
Mar 2, 2015
10
3
3
55
Thank you. With you help I managed to crossflash a Intel RS3UC080 I bought for $125 to a LSI 9300 8i
I want to do the same (but with the RS3DC080). Could you do us a favor and layout your steps...and in particular which bin files and rom files you used and where you got them from (and the location of the infamous Jumper!). I can't find a TP12 or anything like it.
I want to run in IR mode.

Thanks so much! After scouring the net, this is the first and only thread where I see the Intel RS3XX080 being cross-flashed!
 
Last edited:

Kristian

Active Member
Jun 1, 2013
347
83
28
The method I used is the same as described in the initial post if I remember correctly.

On my card the TP12 is located at the spot below.

IMG_5877.JPG
 

skavan

New Member
Mar 2, 2015
10
3
3
55
Thanks. Unfortuntely my card is a 9361 ... But I think I figured the jumper...but I desperately need the LSI firmware! Cd you link to a copy of wherever you got it from?
I also have an LSI 9631 but try as I might I can't grab the firmware from that as it insists I "upload" a rom when I have the jumper closed.
 

skavan

New Member
Mar 2, 2015
10
3
3
55
I am trying to cross-flash an Intel RS3DC080 to its LSI equivalent, the LSI-9361-8i.
I have both cards to play with.
As far as I can figure out, to perform this, I need at least the 3108 IT Firmware and the 3108 bios rom.
I can find neither on the LSI/Avago web site or from scouring the net. The Megaraid ROM on the Avago website seems to be a different beast completely (mr3108fw.rom). [sidebar: would be good to find a simple explanation of what these various roms and bins actually do!].

  • Question 1: Anyone have any idea where I can get these files?
I thought I might be able to export these files from the LSI 9361-8i that I have, so I booted to from a DOS USB stick, and tried SAS3FLSH, which stubbornly refuses to aknowledge the presence of a card in my rig.
OK -- so after trial and error, I appear to have located the jumper that needs to be bridged.
But now, with the LSI-9361 installed, I get a "request for a ROM file" and can issue no useful Upload to File commands.
  • Question 2: Can anyone suggest (presuming I can't get the fw/bios files any other way) how to overcome this problem?
Hopefully, if I can get past this hurdle I can go on and execute the procedure articulated above!
All help and advice super gratefully received!

EDIT:
I tried applying the SAS9311_8i_IR.BIN to the Intel RS3DC080 and I get the following:
...
Firmware Image compatible with Controller
...
ERROR: NVDATA Image does not match Controller Device
Device ID - NVDATA:0x97 Controller:0x91.
 
Last edited:
  • Like
Reactions: T_Minus

sfbayzfs

Active Member
May 6, 2015
247
104
43
SF Bay area
As far as I know, the IT mode firmware only works on SAS2008 and SAS3008 chipsets, and the SAS2108 and SAS3108 chipsets used in the higher end LSI RAID cards with cache RAM and connectors for BBUs / flash backup cannot use the IT mode HBA firmware, only MegaRaid firmware. That said, I have never tried it - does anyone else know for certain in the SAS2 world if the older SAS2108 based cards and their higher end equivalents - 9260 / 9261 / 9265 / 9285 can take HBA firmware?
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,029
1,578
113
CA
I'm hoping we can flash the Intel @skavan is trying. There shouldn't be a reason the "1" cards don't work that usually just signifies the "cache" on-board, but I know my SM board lists a "3108" onboard but really has 2GB (so it says). I'm hoping to flash that too.


It'll be a sad day if my Intel 3108's can't be flashed.


Also:

How to Flash IBM ServeRAID M5014 to LSI 9260-8i Firmware

May be useful :)
 
  • Like
Reactions: Sleyk