USB Image for SuperMicro SAS Firmware Updates

I have created a USB image for SuperMicro SAS firmware updates to help me with converting SAS controllers to I/T (Initiator/Target) mode instead of the default IR (Integrated RAID) mode. This USB contains all of the SAS firmware downloads available from SuperMicro. See this post for details about how to flash a USB.

Downloads

URL Format Size Checksum Extraction
flshfw10.tar.bz2 tar, gzip 68MB 39222 69242 tar jvxf flshfw10.tar.bz2
flshfw10.tar.gz tar, bzip2 72MB 39754 73500 tar zvxf flshfw10.tar.gz
flshfw10.zip zip 72MB 10292 73497 unzip flshfw10.zip

Directory Structure

At the top level of the USB there is a SMC directory. Its structure exactly matches the ftp://ftp.supermicro.com/driver/SAS directory. In other words SMC/SAS matches ftp://ftp.supermicro.com/driver/SAS. Here is the tree.
SMC
+-- SAS
|   +-- LSI
|   |   +-- 1064_1068
|   |   |   +-- IR
|   |   |   |   +-- Firmware
|   |   |   |       +-- B3
|   |   |   |           +-- L4i
|   |   |   |           |   +-- 1.30.00
|   |   |   |           |       +-- L4iR_IR
|   |   |   |           |           +-- DOS
|   |   |   |           |           |   +-- L4iR_IR.bat
|   |   |   |           |           |   +-- L4iR_IR.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- Linux_i686_x86-64
|   |   |   |           |           |   +-- L4iR_IR.bat
|   |   |   |           |           |   +-- L4iR_IR.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- readme.txt
|   |   |   |           |           +-- Win_x86
|   |   |   |           |               +-- L4iR_IR.bat
|   |   |   |           |               +-- L4iR_IR.fw
|   |   |   |           |               +-- mptsas.rom
|   |   |   |           |               +-- sasflash.exe
|   |   |   |           +-- L8i
|   |   |   |           |   +-- 1.26.01
|   |   |   |           |       +-- Clear.BAT
|   |   |   |           |       +-- DOS4GW.EXE
|   |   |   |           |       +-- L8i.BAT
|   |   |   |           |       +-- L8IR.FW
|   |   |   |           |       +-- mptsas.rom
|   |   |   |           |       +-- mptutil.exe
|   |   |   |           +-- LP-L8i
|   |   |   |               +-- 1.26.01
|   |   |   |                   +-- Clear.BAT
|   |   |   |                   +-- DOS4GW.EXE
|   |   |   |                   +-- L8iLP.BAT
|   |   |   |                   +-- L8ILP_IR.FW
|   |   |   |                   +-- mptsas.rom
|   |   |   |                   +-- mptutil.exe
|   |   |   +-- IT
|   |   |   |   +-- Firmware
|   |   |   |       +-- B3
|   |   |   |           +-- L4i
|   |   |   |           |   +-- 1.30.00
|   |   |   |           |       +-- L4i_IT
|   |   |   |           |           +-- DOS
|   |   |   |           |           |   +-- L4i_IT.bat
|   |   |   |           |           |   +-- L4i_IT.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- Linux_i686_x86-64
|   |   |   |           |           |   +-- L4i_IT.bat
|   |   |   |           |           |   +-- L4i_IT.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- readme.txt
|   |   |   |           |           +-- Win_x86
|   |   |   |           |               +-- L4i_IT.bat
|   |   |   |           |               +-- L4i_IT.fw
|   |   |   |           |               +-- mptsas.rom
|   |   |   |           |               +-- sasflash.exe
|   |   |   |           +-- L8i
|   |   |   |           |   +-- 1.30.00
|   |   |   |           |       +-- L8i_IT
|   |   |   |           |           +-- DOS
|   |   |   |           |           |   +-- L8i_IT.bat
|   |   |   |           |           |   +-- L8i_IT.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- Linux_i686_x86-64
|   |   |   |           |           |   +-- L8i_IT.bat
|   |   |   |           |           |   +-- L8i_IT.fw
|   |   |   |           |           |   +-- mptsas.rom
|   |   |   |           |           |   +-- sasflash.exe
|   |   |   |           |           +-- readme.txt
|   |   |   |           |           +-- Win_x86
|   |   |   |           |               +-- L8i_IT.bat
|   |   |   |           |               +-- L8i_IT.fw
|   |   |   |           |               +-- mptsas.rom
|   |   |   |           |               +-- sasflash.exe
|   |   |   |           +-- LP-L8i
|   |   |   |               +-- 1.30.00
|   |   |   |                   +-- L8iLP_IT
|   |   |   |                       +-- DOS
|   |   |   |                       |   +-- L8iLP_IT.bat
|   |   |   |                       |   +-- L8iLP_IT.fw
|   |   |   |                       |   +-- mptsas.rom
|   |   |   |                       |   +-- sasflash.exe
|   |   |   |                       +-- Linux_i686_x86-64
|   |   |   |                       |   +-- L8i_IT.bat~
|   |   |   |                       |   +-- L8iLP_IT.bat
|   |   |   |                       |   +-- L8iLP_IT.bat~
|   |   |   |                       |   +-- L8iLP_IT.fw
|   |   |   |                       |   +-- mptsas.rom
|   |   |   |                       |   +-- sasflash.exe
|   |   |   |                       +-- readme.txt
|   |   |   |                       +-- Win_x86
|   |   |   |                           +-- L8iLP_IT.bat
|   |   |   |                           +-- L8iLP_IT.fw
|   |   |   |                           +-- mptsas.rom
|   |   |   |                           +-- sasflash.exe
|   |   |   +-- SR
|   |   |       +-- Firmware
|   |   |           +-- B3
|   |   |               +-- L4i
|   |   |               |   +-- 1.26.01
|   |   |               |       +-- Clear.BAT
|   |   |               |       +-- DOS4GW.EXE
|   |   |               |       +-- L4i.BAT
|   |   |               |       +-- L4I_SR.FW
|   |   |               |       +-- MPTSAS_SWR.ROM
|   |   |               |       +-- mptutil.exe
|   |   |               +-- L8i
|   |   |               |   +-- 1.26.01
|   |   |               |       +-- Clear.BAT
|   |   |               |       +-- DOS4GW.EXE
|   |   |               |       +-- L8i.BAT
|   |   |               |       +-- L8I_SR.FW
|   |   |               |       +-- mptutil.exe
|   |   |               |       +-- SWR.ROM
|   |   |               +-- LP-L8i
|   |   |                   +-- 1.26.01
|   |   |                       +-- Clear.BAT
|   |   |                       +-- DOS4GW.EXE
|   |   |                       +-- L8i.BAT
|   |   |                       +-- L8ILP_SR.FW
|   |   |                       +-- MPTSAS_SWR.ROM
|   |   |                       +-- mptutil.exe
|   |   +-- 1078
|   |   |   +-- Firmware
|   |   |       +-- 1.40.172-0866
|   |   |       |   +-- SAS1078_FW_Image.rom
|   |   |       +-- MegaCLI
|   |   |           +-- MegaCli.exe
|   |   |           +-- megacli.htm
|   |   |           +-- release.dat
|   |   +-- 2008
|   |   |   +-- iMR
|   |   |   |   +-- Firmware
|   |   |   |       +-- Blade
|   |   |   |       |   +-- 2008
|   |   |   |       |   |   +-- mptsas2.rom
|   |   |   |       |   |   +-- SBRIR.BIN
|   |   |   |       |   |   +-- SMC2008.FW
|   |   |   |       |   +-- chkadd.bat
|   |   |   |       |   +-- chkimr.bat
|   |   |   |       |   +-- chkir.bat
|   |   |   |       |   +-- chksas.bat
|   |   |   |       |   +-- iMR
|   |   |   |       |   |   +-- 16MBFW.rom
|   |   |   |       |   |   +-- SBRIMR.BIN
|   |   |   |       |   +-- setsas.bat
|   |   |   |       |   +-- tools
|   |   |   |       |   |   +-- DOS4GW.EXE
|   |   |   |       |   |   +-- HELP.TXT
|   |   |   |       |   |   +-- MegaCli.exe
|   |   |   |       |   |   +-- MegaOem.exe
|   |   |   |       |   |   +-- MegaRec.exe
|   |   |   |       |   |   +-- SAS2FLSH.EXE
|   |   |   |       |   +-- up2imr.bat
|   |   |   |       |   +-- up2ir.bat
|   |   |   |       |   +-- upimrsbr.bat
|   |   |   |       |   +-- upirsbr.bat
|   |   |   |       |   +-- upsadd.bat
|   |   |   |       +-- Non_Blade
|   |   |   |           +-- USB
|   |   |   |               +-- 2008
|   |   |   |               |   +-- mptsas2.rom
|   |   |   |               |   +-- SBRIR.BIN
|   |   |   |               |   +-- SMC2008.FW
|   |   |   |               +-- chkadd.bat
|   |   |   |               +-- chkimr.bat
|   |   |   |               +-- chkir.bat
|   |   |   |               +-- chksas.bat
|   |   |   |               +-- iMR
|   |   |   |               |   +-- 16MBFW.rom
|   |   |   |               |   +-- SBRIMR.BIN
|   |   |   |               +-- setsas.bat
|   |   |   |               +-- tools
|   |   |   |               |   +-- DOS4GW.EXE
|   |   |   |               |   +-- HELP.TXT
|   |   |   |               |   +-- MegaCli.exe
|   |   |   |               |   +-- MegaOem.exe
|   |   |   |               |   +-- MegaRec.exe
|   |   |   |               |   +-- SAS2FLSH.EXE
|   |   |   |               +-- up2imr.bat
|   |   |   |               +-- up2ir.bat
|   |   |   |               +-- upimrsbr.bat
|   |   |   |               +-- upirsbr.bat
|   |   |   |               +-- upsadd.bat
|   |   |   +-- IR
|   |   |   |   +-- Firmware
|   |   |   |       +-- PH10.0
|   |   |   |       |   +-- Blade
|   |   |   |       |   |   +-- mptbios.txt
|   |   |   |       |   |   +-- mptsas2.rom
|   |   |   |       |   |   +-- ReleaseNote.txt
|   |   |   |       |   |   +-- sas2flsh.exe
|   |   |   |       |   |   +-- SMC2008.bat
|   |   |   |       |   |   +-- SMC2008.FW
|   |   |   |       |   +-- Non_Blade
|   |   |   |       |       +-- mptbios.txt
|   |   |   |       |       +-- mptsas2.rom
|   |   |   |       |       +-- ReleaseNote.txt
|   |   |   |       |       +-- sas2flsh.exe
|   |   |   |       |       +-- SMC2008.bat
|   |   |   |       |       +-- SMC2008.FW
|   |   |   |       +-- PH11.0
|   |   |   |           +-- Blade
|   |   |   |           |   +-- 2008RB11.FW
|   |   |   |           |   +-- mptbios.txt
|   |   |   |           |   +-- mptsas2.rom
|   |   |   |           |   +-- ReleaseNote.txt
|   |   |   |           |   +-- sas2flsh.exe
|   |   |   |           |   +-- SMC2008.bat
|   |   |   |           +-- Non_Blade
|   |   |   |               +-- PH11.0
|   |   |   |                   +-- 2008IR11.FW
|   |   |   |                   +-- mptbios.txt
|   |   |   |                   +-- mptsas2.rom
|   |   |   |                   +-- ReleaseNote.txt
|   |   |   |                   +-- sas2flsh.exe
|   |   |   |                   +-- SMC2008.bat
|   |   |   +-- IT
|   |   |       +-- Firmware
|   |   |           +-- PH10
|   |   |           |   +-- mptbios.txt
|   |   |           |   +-- mptsas2.rom
|   |   |           |   +-- ReleaseNote.txt
|   |   |           |   +-- sas2flsh.exe
|   |   |           |   +-- SMC2008.bat
|   |   |           |   +-- SMC2008.FW
|   |   |           +-- PH11
|   |   |               +-- 2008IT11.FW
|   |   |               +-- mptbios.txt
|   |   |               +-- mptsas2.rom
|   |   |               +-- ReleaseNote.txt
|   |   |               +-- sas2flsh.exe
|   |   |               +-- SMC2008.bat
|   |   +-- 2108
|   |       +-- Firmware
|   |           +-- 2.120.53-1235
|   |           |   +-- 2108.htm
|   |           |   +-- AF_2108_8mb_FW_Image.rom
|   |           |   +-- AF2108_FW_Image.rom
|   |           |   +-- COPYING.NEWLIB.txt
|   |           |   +-- LICENSE_DOS32A.txt
|   |           |   +-- LSI 2108 SAS controller firmware update procedure.pdf
|   |           |   +-- MegaCli.exe
|   |           |   +-- megacli.htm
|   |           +-- MegaCLI
|   |               +-- 8.02.21_LSI Corp_ Engineering Release Notice.htm
|   |               +-- LICENSE_DOS32A.txt
|   |               +-- MegaCli.exe
|   +-- Marvell
|   |   +-- MV8
|   |       +-- SAS1
|   |       |   +-- Firmware
|   |       |       +-- 3.1.0.21
|   |       |           +-- 6480.bin
|   |       |           +-- dos4gw.exe
|   |       |           +-- mvf.exe
|   |       |           +-- smc.bat
|   |       +-- SAS2
|   |           +-- Firmware
|   |               +-- 4.0.0.1800
|   |                   +-- 9485.bin
|   |                   +-- dos4gw.exe
|   |                   +-- mvf.exe
|   +-- SRL
|       +-- Firmware
|           +-- 15760
|               +-- UIO4I
|               |   +-- afu.exe
|               |   +-- as544501.ufi
|               |   +-- as544502.ufi
|               |   +-- as544503.ufi
|               |   +-- as544504.ufi
|               |   +-- as544505.ufi
|               |   +-- as544506.ufi
|               |   +-- as544507.ufi
|               +-- UIO4IR
|               |   +-- afu.exe
|               |   +-- AS544501.ufi
|               |   +-- AS544502.ufi
|               |   +-- AS544503.ufi
|               |   +-- AS544504.ufi
|               |   +-- AS544505.ufi
|               |   +-- AS544506.ufi
|               |   +-- AS544507.ufi
|               +-- UIO8I
|               |   +-- afu.exe
|               |   +-- as580501.ufi
|               |   +-- as580502.ufi
|               |   +-- as580503.ufi
|               |   +-- as580504.ufi
|               |   +-- as580505.ufi
|               |   +-- as580506.ufi
|               |   +-- as580507.ufi
|               +-- UIO8ILP
|               |   +-- afu.exe
|               |   +-- AS580501.ufi
|               |   +-- AS580502.ufi
|               |   +-- AS580503.ufi
|               |   +-- AS580504.ufi
|               |   +-- AS580505.ufi
|               |   +-- AS580506.ufi
|               |   +-- AS580507.ufi
|               +-- UIO8IR
|               |   +-- afu.exe
|               |   +-- AS580501.ufi
|               |   +-- AS580502.ufi
|               |   +-- AS580503.ufi
|               |   +-- AS580504.ufi
|               |   +-- AS580505.ufi
|               |   +-- AS580506.ufi
|               |   +-- AS580507.ufi
|               +-- UIO8IRLP
|                   +-- afu.exe
|                   +-- AS580501.ufi
|                   +-- AS580502.ufi
|                   +-- AS580503.ufi
|                   +-- AS580504.ufi
|                   +-- AS580505.ufi
|                   +-- AS580506.ufi
|                   +-- AS580507.ufi
+-- SAS_Backplanes
    +-- LSI
        +-- SAS-1
        |   +-- LSIPMT_Phase16-1.30.02
        |       +-- LSIMPT_PHASE16-1.30.02.pdf
        |       +-- lsimpt_sas_srv03_IA64_rel
        |       |   +-- lsimpt2003.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- lsi_sas.tag
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- s2k3ia64.cat
        |       |   +-- txtsetup.oem
        |       +-- lsimpt_sas_srv03_x64_rel
        |       |   +-- lsimpt2003.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- lsi_sas.tag
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- s2k3am64.cat
        |       |   +-- txtsetup.oem
        |       +-- lsimpt_sas_srv03_x86_rel
        |       |   +-- lsimpt2003.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- lsi_sas.tag
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- s2k332.cat
        |       |   +-- txtsetup.oem
        |       +-- lsimpt_sas_srv08_IA64_rel
        |       |   +-- lsimpt2008.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhia64.cat
        |       +-- lsimpt_sas_srv08_x64_rel
        |       |   +-- lsimpt2008.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhx64.cat
        |       +-- lsimpt_sas_srv08_x86_rel
        |       |   +-- lsimpt2008.txt
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhx86.cat
        |       +-- lsimpt_sas_vista_IA64_rel
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsimptvista.txt
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhia64.cat
        |       +-- lsimpt_sas_vista_x64_rel
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsimptvista.txt
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhx64.cat
        |       +-- lsimpt_sas_vista_x86_rel
        |       |   +-- lsimpt_relnotes.pdf
        |       |   +-- lsimptvista.txt
        |       |   +-- lsinodrv.inf
        |       |   +-- lsi_sas.inf
        |       |   +-- lsi_sas.pdb
        |       |   +-- lsi_sas.sys
        |       |   +-- MPT_INTRO.TXT
        |       |   +-- MPT_LEGAL.TXT
        |       |   +-- MPT_READ.TXT
        |       |   +-- svlhx86.cat
        |       +-- lsimpt_sas_xp_x64_rel
        |           +-- lsimpt_relnotes.pdf
        |           +-- lsimptxpx64.txt
        |           +-- lsinodrv.inf
        |           +-- lsi_sas.inf
        |           +-- lsi_sas.pdb
        |           +-- lsi_sas.sys
        |           +-- lsi_sas.tag
        |           +-- MPT_INTRO.TXT
        |           +-- MPT_LEGAL.TXT
        |           +-- MPT_READ.TXT
        |           +-- sxpam64.cat
        |           +-- txtsetup.oem
        +-- SAS-2
            +-- lsinodrv.inf
            +-- LSIPMT_Phase25
                +-- 2K3_x64
                |   +-- lsinodrv.inf
                +-- 2K3_x86
                |   +-- lsinodrv.inf
                +-- 2K8_x64
                |   +-- lsinodrv.inf
                +-- 2K8_x86
                |   +-- lsinodrv.inf
                +-- Vista_x64
                |   +-- lsinodrv.inf
                +-- Vista_x86
                |   +-- lsinodrv.inf
                +-- Win7_x64
                |   +-- lsinodrv.inf
                +-- Win7_x86
                |   +-- lsinodrv.inf
                +-- XP_x64
                |   +-- lsinodrv.inf
                +-- XP_x86
                    +-- lsinodrv.inf

122 directories, 352 files

How I Created the Tree

I created the tree by running the linux tree command and then translating the output to get a printable ASCII tree. It was a bit tricky because the non-printable sequences were 2 or 3 characters long. Here are the commands that I ran.
% tree -n SMC > tree.txt
% xxd -c1 -p tree.txt > tree-hex.txt
% ./tree-2-ascii.py tree-hex.txt | xxd -r -p >tree-fixed.txt
I then uploaded tree-fixed.txt. The tree and xxd commands are available on linux. The tree-2-ascii.py.py command was written by me to do the conversion. Here is the source code.
#!/usr/bin/env python

# Convert the ouput of tree to printable ASCII.
# USAGE:
# % tree -n SMC > tree.txt
# % xxd -c1 -p tree.txt > tree-hex.txt
# % ./tree-2-ascii.py tree-hex.txt | xxd -r -p >tree-fixed.txt

if len(sys.argv) != 2:
    sys.exit('ERROR: missing file name argument')
fn = sys.argv[1]
fp = open(fn,'r')
i=2
seq=''
for line in fp.readlines():
    line = line.rstrip()
    if i==2:
        if line == 'e2':
            i=0
            seq=line
        elif line == 'c2':
            i=0
            seq=line
        else:
            print line
    elif i==0:
        i=1
        seq+=line
        if seq == 'c2a0':
            print '20' # space
            i=2
    elif i==1:
        i=2
        seq+=line
        if seq == 'e2949c':
            print '2b' # +
        elif seq == 'e29480':
            print '2d' # -
        elif seq == 'e29482':
            print '7c' # |
        elif seq == 'e29494':
            print '2b' # +
        else:
            print '24' # $
            print 'DEBUG: '+seq
    else:
        print line
fp.close()
Here is the script I wrote to download and configure the SMC directory.
#!/bin/bash
#
# Retrieve the SMC Firmware flash modules and install them
# here so that they can be loaded onto a bootable FreeDOS
# USB.
#
PREFIX="ftp://ftp.supermicro.com/driver"
files=(
    $PREFIX/SAS/LSI/1064_1068/IR/Firmware/B3/L4i/1.30.00/L4iR_IR.zip
    $PREFIX/SAS/LSI/1064_1068/IR/Firmware/B3/L8i/1.26.01/L8i_IR.zip
    $PREFIX/SAS/LSI/1064_1068/IR/Firmware/B3/LP-L8i/1.26.01/L8iLP_IR.zip
    $PREFIX/SAS/LSI/1064_1068/IT/Firmware/B3/L4i/1.30.00/L4i_IT.zip
    $PREFIX/SAS/LSI/1064_1068/IT/Firmware/B3/L8i/1.30.00/L8i_IT.zip
    $PREFIX/SAS/LSI/1064_1068/IT/Firmware/B3/LP-L8i/1.30.00/L8iLP_IT.zip
    $PREFIX/SAS/LSI/1064_1068/SR/Firmware/B3/L4i/1.26.01/L4i_SR.zip
    $PREFIX/SAS/LSI/1064_1068/SR/Firmware/B3/L8i/1.26.01/L8i_SR.zip
    $PREFIX/SAS/LSI/1064_1068/SR/Firmware/B3/LP-L8i/1.26.01/L8iLP_SR.zip
    $PREFIX/SAS/LSI/1078/Firmware/1.40.172-0866/SAS1078_FW.zip
    $PREFIX/SAS/LSI/1078/Firmware/MegaCLI/5.15_DOS_Cli.zip
    $PREFIX/SAS/LSI/2008/IR/Firmware/PH10.0/Blade/Blade.zip
    $PREFIX/SAS/LSI/2008/IR/Firmware/PH10.0/Non_Blade/PH10.zip
    $PREFIX/SAS/LSI/2008/IR/Firmware/PH11.0/Blade/Blade.zip
    $PREFIX/SAS/LSI/2008/IR/Firmware/PH11.0/Non_Blade/PH11.0.zip
    $PREFIX/SAS/LSI/2008/IT/Firmware/PH10.zip
    $PREFIX/SAS/LSI/2008/IT/Firmware/PH11.zip
    $PREFIX/SAS/LSI/2008/iMR/Firmware/Blade/ForBlade.zip
    $PREFIX/SAS/LSI/2008/iMR/Firmware/Non_Blade/USB.zip
    $PREFIX/SAS/LSI/2108/Firmware/2.120.53-1235/2.120.53-1235.zip
    $PREFIX/SAS/LSI/2108/Firmware/MegaCLI/8.02.21_DOS_MegaCLI.zip
    $PREFIX/SAS/Marvell/MV8/SAS1/Firmware/3.1.0.21/Firmware_3.1.0.21.zip
    $PREFIX/SAS/Marvell/MV8/SAS2/Firmware/4.0.0.1800/Firmware_4.0.0.1800.zip
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/afu.exe
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4I/as544507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/AS544507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO4IR/afu.exe
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/afu.exe
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8I/as580507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/AS580507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8ILP/afu.exe
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/AS580507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IR/afu.exe
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580501.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580502.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580503.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580504.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580505.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580506.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/AS580507.ufi
    $PREFIX/SAS/SRL/Firmware/15760/UIO8IRLP/afu.exe
    $PREFIX/SAS_Backplanes/LSI/SAS-1/LSIPMT_Phase16-1.30.02.zip
    $PREFIX/SAS_Backplanes/LSI/SAS-2/LSIPMT_Phase25.zip
    $PREFIX/SAS_Backplanes/LSI/SAS-2/lsinodrv.zip
)

umask 0
for f in ${files[@]} ; do
    flds=($(echo $f | tr "/" "\n"))
    N=${#flds[@]}

    echo
    echo "# ================================================================"
    echo "# DOWNLOAD: $f"
    echo "# ================================================================"

    relpath="SMC"
    for ((i=3;i<$N-1;++i)) ; do
	#echo "    i=$i, ${flds[$i]}"
	relpath="$relpath/${flds[$i]}"
    done

    i=$(($N-1))
    zipfile=""
    if [[ "${flds[$i]}" == *".zip" ]] ; then
	#xs=$(echo "${flds[$i]}" | sed -e 's/.zip$//')
	#relpath="$relpath/$xs"
	zipfile="${flds[$i]}"
    fi

    echo "#  RP=$relpath"
    if [ ! -d $relpath ] ; then
	echo "  creating $relpath"
	mkdir -p $relpath
    fi
    pushd $relpath
    wget $f
    st=$?
    if (( $st != 0 )) ; then
	echo "ERROR: Download failed for $f"
	exit 1
    fi
    if [[ $zipfile == *".zip" ]] ; then
	unzip $zipfile
	rm -f $zipfile
    fi
    popd
done
du -s -h SMC

# Now create the tree view.
tree -n SMC > tree.txt
xxd -c1 -p tree.txt > tree-hex.txt
./tree-2-ascii.py tree-hex.txt | xxd -r -p >tree-fixed.txt

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.