On Sat, 2021-03-27 at 07:59 -0500, Roger Heflin wrote:
Wireshark won't help as it won't tell you what process is doing. And decoding the commands will be very difficult.
Yes, that's what I thought.
You probably should send the power down and wait a few seconds before starting the loop. It would seem to be pretty likely that if in the middle of the spin-down *ANY* command that is received causes it to power the disk fully back up and aborts the spin-down. But once the disk is completely spun-down that specific command does not spin the disk back up. In the middle of the spin-down it would appear that the disk is not yet in the certain commands do not cause a spin-up state. This would assume the disk has 2 operational states. When in the spun-up state any command causes a spin-up, once in the spun-down state certain commands don't cause a spin-up. And until the spin-down is completed it would appear it is still in the first state.
Although that seems very reasonable, it doesn't explain why the *exact same script* works when used from the command line, and doesn't work when called from the systemd unit. All the looping, delaying, checking etc. is within the script itself.
poc