10TB HGST Enterprise on Huawei SAS3108

Firmware version T2JC on HGST drives currently has a bug which causes the LSI3108 RAID controller which we use for Huawei RH2288/5288 servers to drop disks.

As this has not been tested in a running array, proceed with caution and only update firmware after making sufficient backups.

The bug in question concerns the following:
"A null pointer access problem was discovered by an internal test. The location of this problem is inside a setup handling for read commands. This setup handling is to setup the first LBA for the drive to start from. In some particular cases there is no need to do a media access, however, the firmware still assumes there is always a disk LBA to start with, which resulted in a null pointer access attempt. The fix is to add a check for no disk access cases."

Luckily, this is easily solved by updating the disks to the 'T3C0' firmware, which you can do via the following guide,

You will need the firmware in question, which can be found on Huawei's website. (direct link)
To be able to write the firmware to the disks behind an LSI SAS 3108 Raid Controller, the 'storcli' software is required.

Once storcli is installed, we may proceed with the firmware flash of the hard drives.
To figure out the enclosure and slot ID, we'll summarize all disks behind the raid controller

storcli64 -pdlist -a0

To quickly get a summary of the current firmware, you can grep 'Device Firmware Level'

storcli64 -pdlist -a0 | grep 'Device Firmware Level'

Make note of the "Enclosure Device ID" and "Slot Number", as we will shortly need them.
If any drives are determined to be in the "Unconfigured Bad" sate, you may set them to "Unconfigured Good" using the following command,

storcli64 /c0/eX/sY set good force (where X is 'Enclosure Device ID' and Y is 'Slot Number')

Now we'll proceed to actually flash the firmware, which has to be done for every individual drive.

storcli64 -pdfwdownload -physdrv[X:Y] -f LHHWT3C0.bin -a0  (where X is 'Enclosure Device ID' and Y is 'Slot Number') 

The new firmware will not show until after a powercycle or drive re-seat.
Again, you can easily summarize this with the following command,

storcli64 -pdlist -a0 | grep 'Device Firmware Level'

You should be greeted with a list of only "T3C0" Firmware Versions.
The firmware has now been upgraded successfully and the RAID may now be created.

No Comments
Back to top