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:
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>
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:
- Prepare a bootable DOS flash with:
- sas3flsh.exe – flash utility
- SAS9300_8i_IT.bin – firmware file
- mptsas3.rom – bios rom file
- mpt3x64.rom – UEFI bios rom file (optional)
- Short the TP12 jumper on the board near the SAS connectors.
- Boot the system to the DOS mode.
- 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.
- Power off the system and remove the jumper.
- Boot to the DOS mode
- 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>
- Erase the full flash:
- C: \> sas3flsh -o -e 7
- Flash the new firmware again with ROM
- C: \> sas3flsh -f SAS9300_8i_IT.bin -b mptsas3.rom
- Flash the UEFI bios is necessary
- C: \> sas3flsh -b mpt3x64.rom
- Set the SAS address
- C:\> sas3flsh -o -sasadd <full_sas_address>
- Reboot and install the new driver if necessary.
- You are done!
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: