Mise à jour du firmware des disques SSD Samsung

Mise à jour : Debian 10.5 Buster

Différentes méthodes de mise à jour des disques SSD Samsung sont disponibles (cf Arch WIki). La méthode choisie ici est le flashage depuis une clé USB live créée à partir d'un iso fourni par Samsung. L'iso est sélectionné en fonction du modèle et de la version firmware.

Cette méthode nécessite que le disque soit monté sur un PC amorçable Bios / MBR

Références

Sommaire

1 - Référence du disque et version du firmware

$ lsscsi -s |grep -i samsung
[N:0:4:1] disk Samsung SSD 970 EVO 250GB__1 /dev/nvme0n1 250GB
$ sudo smartctl -i /dev/nvme0n1 |grep -E "Model|Firmware"
Model Number: Samsung SSD 970 EVO 250GB
Firmware Version: 2B2QEXE7

ou bien avec nvme

$ sudo nvme id-ctrl /dev/nvme0 |egrep "mn |fr " 
mn : Samsung SSD 970 EVO 250GB
fr : 2B2QEXE7

2 - Téléchargement du firmware

https://www.samsung.com/semiconductor/minisite/ssd/download/tools/

rechercher pour le matériel souhaité (ici 970 EVO), la version du firmware (dans le cas présent 2B2QEXE7), c'est donc la dernière version qui est installée (elle vient d'être mise à jour) et il n'y a rien à faire

$ wget https://s3.ap-northeast-2.amazonaws.com/global.semi.static/SAMSUNG_SSD_970EVO_ISO_190828/6ES357322A6707A720E1A71EF11A3BE1EED819E011D317626415F0281A78151C/Samsung_SSD_970_EVO_2B2QEXE7.iso

3 - Mise à jour du firmware

3.1 - Informations sur l'image

$ sudo wipefs -n Samsung*
DEVICE OFFSET TYPE UUID LABEL
Samsung_SSD_970_EVO_2B2QEXE7.iso 0x8001 iso9660 2018-08-08-16-52-21-00 Samsung
Samsung_SSD_970_EVO_2B2QEXE7.iso 0x1fe dos

L'image est hybride CD et DOS, mais pas GPTT

$ sudo file Samsung*
Samsung_SSD_970_EVO_2B2QEXE7.iso: DOS/MBR boot sector; partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x10,63,32), startsector 0, 34816 sectors

L'image contient un secteur de boot DOS/MBR amorçable

qemu-system-x86_64 Samsung*

L'image doit se lancer correctement et afficher l''écran de bienvenue à Samsung SSD firmware Update Utility Ver 3.1

$ qemu-system-x86_64 -enable-kvm Samsung* --bios /usr/share/ovmf/OVMF.fd

3.2 - Préparation et utilisation de la clé

$ sudo dmesg |tail -1
[21578.284400] sd 4:0:0:0: [sdc] Attached SCSI removable disk
$ sudo dd if=Samsung_SSD_970_EVO_2B2QEXE7.iso of=/dev/sdc conv=fsync

3.3 - Flashage du firmware

L'écran de bienvenue à Samsung SSD firemware Uupdate Utility Ver 3.1 s'affiche

$ lsscsi -s |grep -i samsung
[N:0:4:1] disk Samsung SSD 970 EVO 250GB__1 /dev/nvme0n1 250GB

$ sudo smartctl -i /dev/nvme0n1 |grep Firmware
Model Number: Samsung SSD 970 EVO 250G