The steps in this article will update the firmware on LSI 9305-16i and -24i cards to version 16.00.12.
Check the SMART information on the drives in the system prior to flashing the card firmware.
- Run the command below to check the important SMART attributes for every drive in the system.
for i in `ls /dev | grep -i sd | grep -v '[0-9]$' | awk '{print $1}'`; do echo -e "\nDevice: " $i && echo -n "Slot: " && ls -l /dev/disk/by-vdev/ | grep -wi $i | awk '{print $9}' && smartctl -x /dev/$i | grep -i 'serial number\|reallocated_sector_ct\|power_cycle_count\|reported_uncorrect\|command_timeout\|offline_uncorrectable\|current_pending_sector'; done
Problem/Error:
If the drives do not appear to have any hardware issues, we recommend updating to the latest firmware and installing it for your LSI 9305 16i and 24i controllers if any of the following symptoms present.
This can resolve issues with drives losing connection but it is not guaranteed to.
Symptoms:
If you have random read/write/checksum errors.
If you have too many errors.
If you have errors in dmesg.
Solution:
In order to get sas3ircu and sas3flash commands in Ubuntu:
- Copy & paste to download the following commands :
curl -LO http://images.45drives.com/tools/sas3ircu &&
curl -LO http://images.45drives.com/Firmware/LSI9305/sas3flash/linux/sas3flash
- Copy the files to the /usr/bin directory.
cp sas3ircu /usr/bin/ && cp sas3flash /usr/bin/
- To enable the command to be executed as ‘root’; run the command:
chmod +x /usr/bin/sas3ircu && chmod +x /usr/bin/sas3flash
Now, to see the current controllers and their respective firmware version, you can open the Houston terminal and you can run the command:
sas3flash -listall
The -16i Holds up to 16 drives & -24i holds up to 24 drives. We use the -24i model for our SSD slots in Storinator Hybrids. Be sure to use the correct firmware file with the card you are updating. Use “lsdev -p” and match up physical addresses with “sas3flash -listall” output if necessary.
Updating LSI 9305-16i cards:
- To obtain the firmware update for the 9305-16i run the following command:
curl -LO http://images.45drives.com/Firmware/LSI9305/16i/SAS9305_16i_IT_P.bin
- To upgrade the firmware of your controllers, you must run an individual command for each controller. In the
sas3flash -listall
output above, you will notice that each controller is numbered from 0 to 1. This is important as that is how you will reference which controller to update.
sas3flash -c 0 -f SAS9305_16i_IT_P.bin
sas3flash -c 1 -f SAS9305_16i_IT_P.bin
Updating LSI 9305-24i cards:
- To obtain the firmware update for ‘9305-24i’ run the following command:
curl -LO http://images.45drives.com/Firmware/LSI9305/24i/SAS9305_24i_IT_P.bin
- Get the controller ID number for the -24i card you wish to update from
sas3flash -listall
output and run the command below. It is important to use the correct ID.
sas3flash -c 0 -f SAS9305_24i_IT_P.bin
Verification:
Run the command sas3flash -listall
to see that the controller you updated is now running Firmware version 16.00.12.00.