→ Applies to: VMware ESXi 6.5 and above
This article describes how to upgrade the firmware of the Broadcom LSI SAS 9305-16i storage controller, installed on Syneto HYPER Core 3000 appliances, to version 16.0.12.0. The storage controller is managed directly by the SynetoOS VM and controls the data storage disks.
To upgrade the controller firmware, you must boot the HYPER Core appliance from a virtual CD-ROM using IPMI.
WARNING
The firmware upgrade operation requires powering down the VM in the datastore.
IMPORTANT
Before performing the upgrade, ensure all data on the affected appliance's storage pool has been replicated to a secondary appliance.
Ensure the following prerequisites are met before starting:
– Controller chip: ensure the storage controller chip model is SAS3224;
– IPMI: ensure you have access to the IPMI interface from remote management;
– Firmware ISO: ensure you have downloaded the ISO file for firmware upgrade (SASFWUPG.ISO, MD5);
– Windows PC: ensure you have a Windows PC with Java JRE installed;
– Downtime: schedule appropriate downtime.
Verify Appliance Model, Controller Model and Firmware Version
Step 1. Login to VMware ESXi GUI (replace <your_ip_address_or_hostname> with the correct ip/hostname)
https://<your_ip_address_or_hostname>
Step 2. From the left menu, click on Host
Step 3. Check the Model of Syneto appliance in Hardware

Step 4. From the left menu, click on Virtual Machines and on the SynetoOS VM

Step 5. Check the model of PCI device 0 in Hardware Configuration

Step 6. Connect to SynetoOS appliance via SSH as admin
ssh admin@<your_ip_address_or_hostname>
Step 7 (optional). Change into Solaris shell (in case you're directed to an unsupported shell)
un sh
Step 8. Get root privileges
sudo su -
Step 9. Check the firmware version
If the system is running SynetoOS 4:
prtconf -vd | grep -C 30 SAS9305-16i | grep -A1 firmware-versionIf the output is like the one below, the firmware version is confirmed to be "16.0.1.0".
name='firmware-version' type=string items=1 dev=none value='16.0.1.0'
If the system is running SynetoOS 5 or SynetoOS 6:
dmesg | grep "LSISAS3008"If the output is like the one below, the firmware version is confirmed to be "16.0.1.0".
[ 3.398856] mpt3sas_cm0: LSISAS3008: FWVersion(16.00.10.00), ChipRevision(0x02)
Upgrade Controller Firmware
Step 1. Shut down and unregister all VMs except SynetoOS
Step 2. Connect to SynetoOS appliance via SSH as admin
ssh admin@<your_ip_address_or_hostname>
Step 3 (optional). Change into Solaris shell (in case you're directed to an unsupported shell)
un sh
Step 4. Get root privileges
sudo su -
Step 5. Delete cache pools
rm -f /etc/zfs/zpool.cache
Step 6. Shutdown Physical Appliance
Step 7. Run the ISO from IPMI ("How to Mount an ISO via IPMI")
Step 8. From IPMI console, click on Virtual Media > Virtual Keyboard

The ISO will be loaded and a CLI will be opened
Step 9. Move to the firmware folder
cd firmware
Step 10. List controllers installed on the system
SAS3FLSH -listallEXAMPLE OUTPUT
IMPORTANT
The controller model that needs to be upgraded is the SAS3224 model.
Step 11. Check the number assigned to SAS3224 controller (num column)
IMPORTANT
In this example, the number assigned to the SAS3224 controller is 1.
In other situations, the SAS3224 controller may be at number 0.
Step 12. Erase data of the SAS3224 controller (replace <num> with the correct information)
SAS3FLSH -c <num> -o -e 6
Step 13. Upgrade firmware (replace <num> with the correct information)
SAS3FLSH -c <num> -o -f SAS9305.BIN -b MPTSAS3.ROM -b MPT3X64.ROM
Step 14. Check if the firmware upgrade is completed
SAS3FLSH -listall
Step 15. Reboot the system
Import Pools
Due to the pools cache deletion and controller firmware upgrade, re-importing the pools is required when rebooting SynetoOS.
Step 1. Import pools
If the system is running SynetoOS 4:
Import pools for SynetoOS 4 (“How to Import an Existing Pool in SynetoOS 4”)
If the system is running SynetoOS 5:
Import pools for SynetoOS 5 (“How to Import an Existing Pool in SynetoOS 5”)
If the system is running SynetoOS 6:
Import pools for SynetoOS 6 (“How to Import an Existing Pool in SynetoOS 6”)

