1

I just bought a 6TB external seagate HDD (STKP6000400) to use for storing media, but I have noticed it is spinning at full speed, all the time. Even after leaving the PC idle overnight the next morning it is still spinning.

I've searched for this issue and tried all the common fixes I can see such as repsonses here: How can I control HDD spin down time?

If I run hdparm -I on the disk this is the output:

ATA device, with non-removable media
Standards:
        Likely used: 1
Configuration:
        Logical         max     current
        cylinders       0       0
        heads           0       0
        sectors/track   0       0
        --
        Logical/Physical Sector size:           512 bytes
        device size with M = 1024*1024:           0 MBytes
        device size with M = 1000*1000:           0 MBytes
        cache/buffer size  = unknown
Capabilities:
        IORDY not likely
        Cannot perform double-word IO
        R/W multiple sector transfer: not supported
        DMA: not supported
        PIO: pio0

I can see it doesn't even know the device size so it seems something is not right?

Trying to set the sleep timer with hdparm -S gives the response:

/dev/sdb:
 setting standby to 10 (50 seconds)
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

In the disk utility I cannot choose "Standby Now" or try to configure drive settings as these options are disabled: enter image description here

Even if I unmount the drive and leave it for a while it never spins down. It is formatted as NTFS if that matters.

I am new to Ubuntu/Linux so I may be doing something very basically wrong, any help is appreciated.

QTom
  • 143
  • 1
    That particular external device does not support low-power modes. One option would be to issue a “shutdown” command to the USB port, but that would require a disconnection/reconnection to use the drive again, or simply unplugging the device when it’s not being used. Be sure to properly eject the drive first, though, as it’s an SMR drive, which sometimes takes time to finish writing data to the platters. – matigo Nov 20 '22 at 13:24
  • @matigo Are you sure? I installed seagate dashboard and through there I was able to choose an option to sleep after 5 minutes, however it still didn't seem to do anything. I have also seen reviews on amazon mention it going to sleep but who knows. Either way I think I have finally managed to get the behaviour I want by using hd-idle: https://github.com/adelolmo/hd-idle It seems to spin down after the configured time and start up again automatically if I start using the drive (try to play a file off it for example). – QTom Nov 20 '22 at 14:35
  • @QTom it looks like you found a solution. Consider writing a full answer with instructions so that it helps others. – user68186 Nov 20 '22 at 14:43
  • @user68186 Will do once I'm satisfied it's the best solution – QTom Nov 20 '22 at 14:54

1 Answers1

1

I was able to get the behaviour I wanted using hd-idle: https://github.com/adelolmo/hd-idle

I just installed via the precompiled amd64.deb binary and configured /etc/default/hd-idle and set launch options to -i 0 -a sdb -i 600 to ensure it's only active for the drive I wanted (sdb). Running the commands systemctl start hd-idle and systemctl enable hd-idle seems to get the behaviour to work correctly and it persists after reboot.

I'm still not sure why I have to brute force it but this seems to be working as I wanted, the drive spins down after the configured time (I'm using the default 10 minutes) and it spins back up if something attempts to access the files on it.

QTom
  • 143