LSI SAS HBA

From Jeremy Bryan Smith
Jump to navigation Jump to search

Upgrading firmware from Linux

If you need to upgrade the firmware on an LSI-based HBA, here's how to do it from Linux (without having to create a bootable DOS floppy or CD-ROM image). These instructions assume that your vendor has provided you the firmware update files:

  • Firmware, for example: 3008IT14.ROM
  • BIOS, for example: mptsas3.rom
  1. Download the sas3flash utility. I have not found an official download location, but found it here: http://support.lenovo.com/us/en/downloads/ds102443
    root@myserver ~ # wget https://download.lenovo.com/pccbbs/thinkservers/ul_avago_sas3flash_13.00.00.00_anyos.zip
  2. Unzip
    root@myserver ~ # unzip ul_avago_sas3flash_13.00.00.00_anyos.zip
  3. Move the static binary to a sane location and make it executable
    root@myserver ~ # mv sas3flash/sas3flash_linux_x64_rel/sas3flash /usr/local/bin/
    root@myserver ~ # chmod +x /usr/local/bin/sas3flash
    root@myserver ~ # chown root:root /usr/local/bin/sas3flash
  4. List controllers:
    root@myserver ~ # sas3flash  -listall
    Avago Technologies SAS3 Flash Utility
    Version 13.00.00.00 (2016.03.07) 
    Copyright 2008-2016 Avago Technologies. All rights reserved.
    
            Adapter Selected is a Avago SAS: SAS3008(C0)
    
    Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
    ----------------------------------------------------------------------------
    
    0  SAS3008(C0)  12.00.02.00    0b.02.31.27    08.25.00.00     00:01:00:00
    
            Finished Processing Commands Successfully.
    
    
            Exiting SAS3Flash.
  5. We only have one controller. List the details:
    root@myserver ~ # sas3flash  -list
    Avago Technologies SAS3 Flash Utility
    Version 13.00.00.00 (2016.03.07) 
    Copyright 2008-2016 Avago Technologies. All rights reserved.
    
            Adapter Selected is a Avago SAS: SAS3008(C0)
    
            Controller Number              : 0
            Controller                     : SAS3008(C0)
            PCI Address                    : 00:01:00:00
            SAS Address                    : 5003048-0-18c7-7c02
            NVDATA Version (Default)       : 0b.02.31.27
            NVDATA Version (Persistent)    : 0b.02.31.27
            Firmware Product ID            : 0x2721 (IR)
            Firmware Version               : 12.00.02.00
            NVDATA Vendor                  : LSI
            NVDATA Product ID              : LSI3008-IR
            BIOS Version                   : 08.25.00.00
            UEFI BSD Version               : 12.00.00.00
            FCODE Version                  : N/A
            Board Name                     : LSI3008-IR
            Board Assembly                 : N/A
            Board Tracer Number            : N/A
    
            Finished Processing Commands Successfully.
            Exiting SAS3Flash.
  6. Export any zpools or unmount any devices that are on that controller:
    root@myserver ~ # zpool export ssdpool0
    ...
  7. Run the update:
    root@myserver ~ # sas3flsh -o -f 3008IT14.rom -b mptsas3.rom
  8. It was recommended to reboot afterwards, but may not be necessary:
    root@myserver ~ # shutdown -rf now
  9. List the details again:
    root@myserver ~ # sas3flash  -listall
    Avago Technologies SAS3 Flash Utility
    Version 13.00.00.00 (2016.03.07) 
    Copyright 2008-2016 Avago Technologies. All rights reserved.
    
            Adapter Selected is a Avago SAS: SAS3008(C0)
    
    Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
    ----------------------------------------------------------------------------
    
    0  SAS3008(C0)  14.00.00.00    0e.00.31.27    08.31.03.00     00:01:00:00
    
            Finished Processing Commands Successfully.
            Exiting SAS3Flash.
    root@myserver ~ # sas3flash  -list
    Avago Technologies SAS3 Flash Utility
    Version 13.00.00.00 (2016.03.07) 
    Copyright 2008-2016 Avago Technologies. All rights reserved.
    
            Adapter Selected is a Avago SAS: SAS3008(C0)
    
            Controller Number              : 0
            Controller                     : SAS3008(C0)
            PCI Address                    : 00:01:00:00
            SAS Address                    : 5003048-0-18c7-7c02
            NVDATA Version (Default)       : 0e.00.31.27
            NVDATA Version (Persistent)    : 0e.00.31.27
            Firmware Product ID            : 0x2721 (IR)
            Firmware Version               : 14.00.00.00
            NVDATA Vendor                  : LSI
            NVDATA Product ID              : LSI3008-IR
            BIOS Version                   : 08.31.03.00
            UEFI BSD Version               : 12.00.00.00
            FCODE Version                  : N/A
            Board Name                     : LSI3008-IR
            Board Assembly                 : N/A
            Board Tracer Number            : N/A
    
            Finished Processing Commands Successfully.
            Exiting SAS3Flash.
    
    

Success!