Sí, es posible, pero requerirá un trabajo de desarrollo personalizado y no trivial, y el código será específico para el chip puente USB->SATA DENTRO de su gabinete.
El trato es que el puente USB sirve como más que un convertidor eléctrico. Un disco duro conectado por USB emula una unidad SCSI que tiene un conjunto de comandos diferente. Mientras que los comandos estándar de lectura/escritura/búsqueda se traducen todo el tiempo, los giros hacia arriba/abajo más exóticos no lo hacen. La mayoría de los chips no harán eso. Además, NO existe una API de nivel de chip universal. Entonces, si escribiera el código, tendría que tener un manual de programación para el chip puente USB.
En pocas palabras, a menos que tenga detalles de programación en el chip y esté familiarizado con el conjunto de instrucciones ATA y SCSI y los comandos de paso encapsulados, entonces tendrá que prescindir de ellos. Demasiado trabajo y sin estándares.
Es muy posible que se descuiden las señales que está enviando. No proporcionó la salida de
sudo hdparm -I /dev/sdX
lo que nos habría dicho las capacidades del disco, pero muchos discos simplemente no responden a estos comandos.
Afortunadamente, hay una utilidad muy conveniente, hd-idle, que puede descargar desde aquí, lo que le permite forzar el giro del disco después de un lapso de tiempo específico. El programa ha sido desarrollado especialmente para Debian, (pero funciona en Linux en general), por lo que su instalación te resultará muy sencilla. Solo espero que también funcione en una arquitectura ARM, algo que no puedo probar.
Editar:compila e instala correctamente en raspbian.
No tuve suerte con hd-idle; corrió pero no funcionó. Terminé escribiendo el guión a continuación:
#!/bin/bash
# This script looks for recent disk access, and if nothing has changed, puts /dev/"drive" into spindown mode.
# This should be used only is the hdparm power management function is not working.
# Call this script with cron or manually as desired
#
#
#
# Change which drive this script looks at by changing the drive variable below:
drive="sda"
#
#
current=`date`
caller=$(ps ax | grep "^ *$PPID" | awk '{print $NF}')
filename="/tmp/diskaccess.txt"
if [ -f "$filename" ]; then
stat_old=`cat "$filename" | tr -dc "[:digit:]"`
stat_new=`cat /sys/block/"$drive"/stat | tr -dc "[:digit:]"`
if [ "$stat_old" == "$stat_new" ]; then
stat="0"
echo "The disk hasn't been used; spinning down /dev/$drive"
echo $stat_old
hdparm -y /dev/$drive > /dev/null
else
stat="1"
echo $stat_old
echo $stat_new
echo "The drive has been used..."
echo $stat_new > $filename
fi
else
echo "/tmp/diskaccess.txt file does not exist; creating it now."
echo $stat_new > $filename
fi
echo $stat " - " $drive " - " $current " - by: " $caller >> /tmp/diskaccesslog.txt