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.

POWEROFF AND POWERON disk !!!

done