Soluzione 1:
Non sembra esserci un modo per interrogare quel valore con hdparm, tuttavia puoi vedere se l'unità è in uno stato standby o attivo...
> sudo hdparm -C /dev/sdb
/dev/sdb:
drive state is: standby
> sudo hdparm -C /dev/sda
/dev/sda:
drive state is: active/idle
Soluzione 2:
L'opzione -B 128
inibisce lo spindown, quindi la tua opzione -S è inutile. Dai un'occhiata a man hdparm
. Lo spindown è possibile solo con parametri -B di 127 e meno.
Soluzione 3:
Se disponi di un disco Seagate che supporta gli Extended Power Controls (EPC), presumo principalmente di classe enterprise, puoi utilizzare lo strumento SeaChest
Per prima cosa procurati l'handle del disco di Seagate:
SeaChest_PowerControl -v 0 --scan --scanFlags sgtosd
Risultato:
Vendor Handle Model Number Serial Number FwRev
ATA sg0<->sda ST1000LM049-2GH172 WN90H8BT SDM1
ATA sg1<->sdb ST1000LM049-2GH172 WN90HACK SDM1
ATA sg2<->sdc ST1000LM049-2GH172 WGS3M35X SDM1
ATA sg3<->sdd ST1000LM049-2GH172 WGS65M4X SDM1
ATA sg4<->sde ST1000NX0303 S470WNPT NN02
NVMe /dev/nvme0n1 Force MP510 184282050001276960F1 ECFM11.0
Quindi ottieni il tempo di standby:
SeaChest_PowerControl -v 0 -d /dev/sg4 --showEPCSettings
Risultato:
===EPC Settings===
* = timer is enabled
C column = Changeable
S column = Saveable
All times are in 100 milliseconds
Name Current Timer Default Timer Saved Timer Recovery Time C S
Idle A *200 *10 *200 150 Y Y
Idle B 1200 *2400 1200 650 Y Y
Idle C 1300 6000 1300 4000 Y Y
Standby Z *1200 36000 *1200 15000 Y Y
(Non preoccuparti dei miei valori sperimentali Idle_C e Standby_Z che sono molto bassi)
Puoi ottenere lo strumento da Seagate
L'esempio sopra è tratto da un Seagate Enterprise Capacity 2.5" 1TB SATA (ST1000NX0343). Ho provato la stessa cosa su un Seagate BarraCuda Pro 2.5" 1TB SATA (ST1000LM049) e non ha funzionato, in quanto apparentemente non supporta EPC.