Toshiba/DELL-branded KPM5XRUG1T92 FW Update
Disclaimer: there is NO password provided somewhere in the post, you need to get actual firmware/microcode and do some steps manually. Also you need carefuly read the f.cking manuals provided by vendor, manufacturer, ODM or OEM vendor to avoid getting some unexpected results before run any commands or apply any configurations. All steps provided is abnormal and should not be used in prod environment. In some extraodinry cases you simply ruin your whole installation ;)
Get disk microcode (Dell)
Disk Firmware KPM5XRUG1T92, get bin file.
Extract disk microcode file (root req, don’t like it)
sudo /Software/toshiba/KPM5XRUG1T92/SAS-Drive_Firmware_4P9DW_LN_B026_A00.BIN --extract /tmp/KPM5XRUG1T92_native
My preferred way as usual :)
binwalk -C /tmp/KPM5XRUG1T92_binwalk -e -M /Software/toshiba/KPM5XRUG1T92/SAS-Drive_Firmware_4P9DW_LN_B026_A00.BIN
cd
cd /tmp/KPM5XRUG1T92_binwalk/SAS-Drive_Firmware_4P9DW_LN_B026_A00.BIN.extracted/142C9/decompressed.bin.extracted/0/payload/
find dell header offset in file
# visually find toshiba firmware start, my case 2048 (PX05DHWF), typical offsets 208 (seagate MC), 400
# OR grep known signature
xxd -a -d B026.fwh | less
using offset from last step create new bin file
dd if=B026.fwh of=KPM5XRUG1T92_B026.bin ibs=2048 skip=1
check microcode version before write
# smartctl -i /dev/sdt | grep Revision
Revision: B01C
write firmware file to drive
sg_write_buffer -vvvvv -m 5 --in KPM5XRUG1T92_B026.bin /dev/sgX
check microcode version
# smartctl -i /dev/sdX | grep Revision
Revision: B026
check dmesg
[509325.109707] sd 6:0:64:0: Operating parameters on this target have changed. The Linux SCSI layer does not automatically adjust these parameters.