Need LSI SAS2X36 Expander Firmware and Xtools

Status
Not open for further replies.
Joined
Feb 17, 2017
Messages
4
Hello,

I'm looking for firmware for a LSI SAS2X36 SAS Expander ("Bobcat") and also the Xtools package for Xflash and Xutil. I have 220 DCS8100S 16-bay expansion sleds for the Dell DCS Scorpion chassis that (I believe) were decommissioned and pulled out of the Texas Advanced Computing Center's Stampede supercomputer. They appear to be setup with zoning, because plugging in a Mini-SAS cable to one of the four ports will only see odd or even drive numbers. I disassembled one of these units and they have a LSI SAS2X36 SAS Expander chip in them. These are very closely related to the Dell C8000XD 12-bay Zeus platform, but that one has a LSI SAS2X24 chip instead. I'm trying to track down a source for firmware and configuration utilities. I found a copy of Xflash version 14.0.0.0.0 in one of the firmware packages for the C8000XD, but the copyright header is from 2011.

Using Xflash I was able to extract a copy of the firmware on some of the sleds, the latest version I have seen is FW Version 15.09.09.00, Platform Version 08.04, and MFG Version 8.01. I was thinking about deploying this to all the sleds, but I don't fully understand yet how the flash regions 1 through 9 are laid out. Also looking at the C8000XD firmware I see multiple MFG firmware files for different configurations. From what I understand so far the MFG firmware controls the configuration parameters of the SAS2X36, if that is true is there anyway to get the SDK so that I can make my own MFG firmware?

Dell C8000XD Hardware Owner's Manual
Dell C8000XD Firmware

Pictures of disassembly: http://imgur.com/a/ckmru

MuNx59H.jpg



[root@slot14 Production]# ./xflash -i 500262D00B91CD3F get ver 3


********************************************************************************

Xflash


LSI SAS Expander Flash Utility


Version: 14.0.0.0


Copyright (c) 2011 LSI Corporation. All rights reserved.

********************************************************************************


Initializing Interface.

Expander: Bobcat (SAS2x36)



Reading the MFG Version Info page.......


Product Id : 02

Platform Id : 01

FW Version : 15.09.04.00

MFG Version : 06.01

Platform Version : 07.01

Product Name : DELLDCS2X36

Platform Name : SCORPION


[root@slot14 Production]# ./xflash -i 500262D00BAE0C3F get ver 3


********************************************************************************

Xflash


LSI SAS Expander Flash Utility


Version: 14.0.0.0


Copyright (c) 2011 LSI Corporation. All rights reserved.

********************************************************************************


Initializing Interface.

Expander: Bobcat (SAS2x36)



Reading the MFG Version Info page.......


Product Id : 02

Platform Id : 01

FW Version : 15.09.09.00

MFG Version : 08.01

Platform Version : 04.00

Product Name : DELLDCS2X36

Platform Name : SCORPION
 
Joined
Feb 17, 2017
Messages
4
I figured out a little more about the 10 firmware regions and made a simple script to extract the code from each region.

Region 0, 512KB: FW Firmware, Backup? Common md5sum, Firmware Region Version 15.09.07.00
Region 1, 512KB: FW Firmware, Primary?
Region 2, 512KB: FW Firmware?
Region 3, 64KB: MFG Firmware
Region 4, 64KB: "Region is not a firmware region", Unique md5sum but non-volatile
Region 5, 64KB: "Flash region is blank", md5sum: ecb99e6ffea7be1e5419350f725da86b
Region 6, 64KB: "Region is not a firmware region", md5sum is volatile, NVRAM?
Region 7, 64KB: "Region is not a firmware region", md5sum is volatile, NVRAM?
Region 8, 64KB: "Region is not a firmware region", Unique md5sum but non-volatile
Region 9, 64KB: "Flash region is blank", md5sum: ecb99e6ffea7be1e5419350f725da86b


Expander_Version_Matrix.png


Code:
#!/bin/bash

EXPANDER_ADDRESS_LIST=$( xflash -i get avail | awk '/SAS2x36.*(.*:.*)/ {print $4}' | sed 's/(//; s/://; s/)//' | uniq; );


{

    for i in $(seq 0 9); do

        for j in $EXPANDER_ADDRESS_LIST; do

            xflash -qi ${j} get ver ${i} > ${j}.Region_${i}.version;

            xflash -qyi ${j} up fw ${j}.Region_${i}.bin ${i};

            mv ${j}.Region_${i}.bin ${j}.Region_${i}.bin.$( md5sum ${j}.Region_${i}.bin | awk '{print $1}'; );

        done

    done

}


Code:
#!/bin/bash


EXPANDER_ADDRESS_LIST=$( xflash -i get avail | awk '/SAS2x36.*(.*:.*)/ {print $4}' | sed 's/(//; s/://; s/)//' | uniq; );


{

        for i in $EXPANDER_ADDRESS_LIST; do

            xflash -fqyi ${i} down fw Region_2.bin.v15_09_09_00.5d6b53b04c82f220c118f1ed6cc45cc4 0;

            xflash -fqyi ${i} down fw Region_1.bin.v15_09_09_00.8296f038149a425f8310c900dbffc3ca 1;

            xflash -fqyi ${i} down fw Region_2.bin.v15_09_09_00.5d6b53b04c82f220c118f1ed6cc45cc4 2;

            xflash -yi ${i} down mfg Region_3.bin.v08_01.v04_01.98cbc14d82e08d11a4107c9cb4a6d0c 3;

        done

}


Code:
#!/bin/bash


EXPANDER_ADDRESS_LIST=$( xflash -i get avail | awk '/SAS2x36.*(.*:.*)/ {print $4}' | sed 's/(//; s/://; s/)//' | uniq; );


{

    for i in $EXPANDER_ADDRESS_LIST; do

        xflash -qyi ${i} get ver 3;

    done

}
 
Last edited:
Status
Not open for further replies.
Top