Solución 1:
No parece haber una forma de consultar ese valor con hdparm, sin embargo, puede ver si la unidad está en estado de espera o activo...
> sudo hdparm -C /dev/sdb
/dev/sdb:
drive state is: standby
> sudo hdparm -C /dev/sda
/dev/sda:
drive state is: active/idle
Solución 2:
La opción -B 128
inhibe el giro, por lo que su opción -S es inútil. Echa un vistazo a man hdparm
. Spindown solo es posible con parámetros -B de 127 y menos.
Solución 3:
Si tiene un disco Seagate compatible con Extended Power Controls (EPC), supongo que principalmente de clase empresarial, puede usar la herramienta SeaChest
Primero obtenga el identificador del disco de Seagate:
SeaChest_PowerControl -v 0 --scan --scanFlags sgtosd
Resultado:
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
Luego obtenga el tiempo de espera:
SeaChest_PowerControl -v 0 -d /dev/sg4 --showEPCSettings
Resultado:
===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
(No se preocupe por mis valores experimentales Idle_C y Standby_Z, que son muy bajos)
Puede obtener la herramienta de Seagate
El ejemplo anterior es de un Seagate Enterprise Capacity 2.5" 1TB SATA (ST1000NX0343). Intenté lo mismo en un Seagate BarraCuda Pro 2.5" 1TB SATA (ST1000LM049) y no funcionó, ya que aparentemente no es compatible con EPC.