Mise à jour du firmware des disques SSD Kingston

Mise à jour : Debian 10.5 Buster

La mise à jour du firmware des disques SSD Kingston s'effectue par flashage depuis une clé USB live créée à partir d'un iso fourni par Kingston. Elle nécessite que le PC sur lequel est attaché le disque dispose d'un amorçage Bios / MBR.

Références

Sommaire

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

$ lsscsi -s |grep -i Kingston
[2:0:0:0] disk ATA KINGSTON SHSS37A 02.H /dev/sda 480GB
$ sudo smartctl -i /dev/sda |grep -E "Model|Firmware"
Model Family: Phison Driven SSDs
Device Model: KINGSTON SHSS37A480G
Firmware Version: SAFM02.H

ou bien avec nvme

$ sudo hdparm -I /dev/sda |grep -E "Model|Firmware"
Model Number: KINGSTON SHSS37A480G
Firmware Revision: SAFM02.H

2 - Téléchargement du firmware

https://www.kingston.com/france/en/support

sélectionner le modèle souhaité (ici SHSS3), puis la page Firmware update et télécharger l'image iso proposée, valide pour les modèles SHSS37A/240G, SHSS37A/480G, SHSS37A/960G– La version disponible à ce jour est SAFM001B

$ wget http://media.kingston.com/support/downloads/KC400_SHSS_to_SAFM001B.iso

3 - Mise à jour du firmware

3.1 - Informations sur l'image

$ sudo wipefs -n KC400**
DEVICE OFFSET TYPE UUID LABEL
KC400_SHSS_to_SAFM001B.iso 0x8001 iso9660 2016-12-06-14-45-11-00 Custom Live CD
KC400_SHSS_to_SAFM001B.iso 0x1fe dos

L'image est hybride CD et DOS, mais pas GPT)

$ KC400=KC400_SHSS_to_SAFM001B.iso
$ sudo file $KC400
KC400_SHSS_to_SAFM001B.iso: DOS/MBR boot sector; partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x34,63,32), startsector 0, 1583104 sectors

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

$ qemu-system-x86_64 $KC400

L'image doit se lancer correctement et afficher l'écran de bienvenue Custom Live CD

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

3.2 - Préparation et utilisation de la clé

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

3.3 - Flashage du firmware

Dans le menu, sélectionner la ligne "Boot the live system"

$ lsscsi -s |grep -i Kingston
[2:0:0:0] disk ATA KINGSTON SHSS37A 02.H /dev/sda 480G

$ sudo smartctl -i /dev/sda |grep Firmware
Firmware Version: SAFM02.H

Annexe - Disque dans boîtier USB usap

L'utilisation d'un raccordement autre que l'interface SATA du disque est déconseillé par Kinsgton. C'est néanmoins le choix effectué ci-dessous. Le boîtier est compatible usap

$ sudo dmesg |tail -20
[ 75.567103] Bluetooth: RFCOMM socket layer initialized
[ 75.567107] Bluetooth: RFCOMM ver 1.11
[ 417.310126] usb 2-4: new SuperSpeedPlus Gen 2 USB device number 2 using xhci_hcd
[ 417.330978] usb 2-4: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
[ 417.330981] usb 2-4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 417.330983] usb 2-4: Product: Ugreen Storage Device
[ 417.330984] usb 2-4: Manufacturer: Ugreen
[ 417.330985] usb 2-4: SerialNumber: 123458F03274
[ 417.369945] usbcore: registered new interface driver usb-storage
[ 417.373965] scsi host3: uas
[ 417.374035] usbcore: registered new interface driver uas
[ 417.375047] scsi 3:0:0:0: Direct-Access KINGSTON SHSS37A240G 0 PQ: 0 ANSI: 6
[ 417.375551] sd 3:0:0:0: Attached scsi generic sg1 type 0
[ 417.375997] sd 3:0:0:0: [sdb] 468862128 512-byte logical blocks: (240 GB/224 GiB)
[ 417.376076] sd 3:0:0:0: [sdb] Write Protect is off
[ 417.376077] sd 3:0:0:0: [sdb] Mode Sense: 43 00 00 00
[ 417.376236] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 417.376436] sd 3:0:0:0: [sdb] Optimal transfer size 33553920 bytes
[ 417.403478] sdb: sdb1
[ 417.404523] sd 3:0:0:0: [sdb] Attached SCSI disk
$ sudo dmesg |tail -1
[ 417.404523] sd 3:0:0:0: [sdb] Attached SCSI disk
$ sudo dmesg |grep uas
[ 417.373965] scsi host3: uas

$ sudo smartctl -i /dev/sdb |grep -E "Model|Firmware"
Model Family: Phison Driven SSDs
Device Model: KINGSTON SHSS37A240G
Firmware Version: SAFM00.Y

$ sudo hdparm -I /dev/sdb |grep -E "Model|Firmware"
Model Number: KINGSTON SHSS37A240G
Firmware Revision: SAFM00.Y

La version du logiciel du modèle 240G est antérieure à celle du modèle 480G

$ sudo hdparm -I /dev/sd{a,b} |grep -E "Model|Firmware"
Model Number: KINGSTON SHSS37A480G
Firmware Revision: SAFM02.H
Model Number: KINGSTON SHSS37A240G
Firmware Revision: SAFM00.Y
$ lsscsi -s |grep -i Kingston
[2:0:0:0] disk ATA KINGSTON SHSS37A 02.H /dev/sda 480GB
[3:0:0:0] disk KINGSTON SHSS37A240G 0 /dev/sdb 240GB

$ sudo hdparm -I /dev/sd{a,b} |grep -E "Model|Firmware"
Model Number: KINGSTON SHSS37A480G
Firmware Revision: SAFM02.H
Model Number: KINGSTON SHSS37A240G
Firmware Revision: SAFM001B
La version logiciel SAFM001B ne correspond à celle que l'on voulait installer SAFM02.H ??