Wednesday, September 11, 2013

Reflashing LSI MegaRAID SAS 8708ELP (SAS1078)

I wanted to use Fujitsu OEM (D2516, "LSI Logic MegaRAID SAS PCI Express(TM) ROMB") of LSI MegaRAID 8708ELP in JBOD mode, which apparently is not possible. Out of MegaRAID products only 9240-4i and 9240-8i support true JBOD. Also 9260 and 9280 series can apparently do it via MegaCLI which is another beast to master. Rest of models can only do single disk RAID0 which isn't the same thing.



Well, seems like no JBOD for me. At least I could do firmware upgrade to latest 8708ELP code (11.0.1-0054) as Fujitsu card had over four years old firmware on it. Plus create single Virtual Disk per Physical Disk with MegaCli.

LSI firmware upgrade package contains only firmware file which is supposed to be used with DOS based MegaCLI. Since I like to keep things difficult I went with Ubuntu 12.04.3 live on USB stick instead. Following is mostly based on this blog post.

- Download ubuntu-12.04.3-desktop-amd64.iso
- Create bootable USB with Universal USB Installer 1.9.4.1 or newer
- Boot and launch root shell, network connection required
- If it doesn't boot but gives "/casper/vmlinuz: file not found" it's problem with software you used to write ISO to USB stick

# Prepare and install some deps
sudo su -
mkdir -p /opt/src/megacli
cd /opt/src/megacli
apt-get update
apt-get -y install alien lib32gcc1 lib32ncurses5 libc6-i386 lib32stdc++6 lib32tinfo5

# Download and install MegaCLI
wget http://dump.asiantuntijakaveri.fi/le_bueno_dumpo/lsi/8.07.10_MegaCLI_Linux.zip
unzip 8.07.10_MegaCLI_Linux.zip
cd "8.07.10_MegaCLI_Linux/Linux MegaCLI 8.07.10"
alien MegaCli-.07.10-1.noarch.rpm
dpkg -i megacli_8.07.10-2_a.deb

# Run MegaCLI and get number of adapters found
/opt/MegaRAID/MegaCli/MegaCli64 -adpCount

# Create symlink to make use easier
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/MegaCli

# Now we can try to brick^Wupgrade SAS controller
# Grab new FW first
cd /opt/src/megacli
wget http://dump.asiantuntijakaveri.fi/le_bueno_dumpo/lsi/11.0.1-0054_SAS_FW_Image_1.40.282-2321.zip
unzip 11.0.1-0054_SAS_FW_Image_1.40.282-2321.zip

# Flash new firmware
MegaCli -AdpFwFlash -f mr1078fw.rom -aALL

# From here on changes are DESTRUCTIVE. That means loss of data.

# Reset adapter and volume configurations
MegaCli -CfgClr -aALL
MegaCli -AdpFacDefset -aALL
MegaCli -CfgLdDel -LALL -aALL

# Reboot here

# Check that config is sensible
MegaCli -AdpAllinfo -aALL | more

# Get list of Physical Disks, in my case they're from 252:0 to 252:7
MegaCli -PDList -aALL

# Create single RAID0 Virtual Disk per Physical Disk
MegaCli -CfgEachDskRaid0 -aALL

# Enable Cached IO, on-disk write cache, disable controller write cache
MegaCli -LDSetProp Cached -LALL -aALL
MegaCli -LDSetProp EnDskCache -LALL -aALL
MegaCli -LDSetProp WT -LALL -aALL

# Enable NCQ
MegaCli -AdpSetProp NCQEnbl -aALL

# Enable Smart
MegaCli -AdpSetProp SMARTCpyBkEnbl 1 -aALL

# Disable adapter BIOS since we're not booting via it
MegaCli -AdpBIOS Dsbl -aALL

# Disable Physical Disk fail history, 
MegaCli -AdpSetProp MaintainPdFailHistoryEnbl 0 -aALL

# That's it.

Problem with this approach of creating many RAID0 logical disks is it's not portable across disk controllers. You can't plug disks from JBOD controller to LSI RAID0 mode. Neither you can move these RAID0 disk to another controller.

BTW, all links to LSI support site are likely broken by time you read this. They're the new Microsoft doing weekly reorganizing on support site and breaking all existing links. Just because few mod_rewrite lines are too much to ask.


2 comments:

  1. Thank you. The LSI boot USB and CD did not work for me and my OS wouldn't start. I tried a few different live OS's but they didn't work. Your tutorial saved me.

    ReplyDelete
  2. Tahnk you. Now i have a firmware i can flash to this D2615 card.

    ReplyDelete

Got something to say?!