Seagate drives power transition issue

Hi,

I freshly installed TrueNas CE 25.10.1 on my system (bare metal) with 8 Drives: 4 Seagate IronWolf & 4 Exos drives, so far everything seems to work correctly except for drive power management.
I’m quite new to TrueNas, but i’ve read quite some documentation beforehand (maybe i’ve missed something though).

For info: These drives don’t support APM but EPC (Seagate self power management), so i’m not using APM in TrueNas (set to Disabled) but the built-in EPC of the drives (they worked perfectly on the previous system)

Initial problem: Only 2 random drives from the Pool of 8 are following the EPC settings once they are set back to “Active/Idle State” by accessing the HDD Pool for instance, this can be reproduced 100% of the time and after each reboot, but the drives stuck in Active/Idle are random after each reboot.

Test parameters:

  • 8 HDD in Raid Z2 in SATA

  • System Dataset is on the boot-pool (nVME SSD).

  • No applications running

  • No VMs

  • No scrubbing or other planned tasks

  • For testing purposes all services are down included SMB/NFS shares.

  • No visible reads/writes on the monitoring

After a fresh boot, all the drives are behaving like they should: going from Idle State to IdleA > B > C then Standby Z:

Don’t mind the EPC tight settings, they’re just here for testing purposes.

root@Chrono[/home/truenas_admin]# openSeaChest_PowerControl -d /dev/sda --checkPowerMode
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_2_0 X86_64
 Build Date: Jun  9 2024
 Today: Sat Jan  3 19:13:35 2026        User: root
==========================================================================================

/dev/sg1 - ST22000NT001-3LS101 - ZX21P7WD - EN01 - ATA
Device is in the PM2: Standby state and device is in the Standby_z power condition

root@Chrono[/home/truenas_admin]# openSeaChest_PowerControl -d /dev/sda --showEPCSettings
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_2_0 X86_64
 Build Date: Jun  9 2024
 Today: Sat Jan  3 19:13:45 2026        User: root
==========================================================================================

/dev/sg1 - ST22000NT001-3LS101 - ZX21P7WD - EN01 - ATA


===EPC Settings===
        * = timer is enabled
        C column = Changeable
        S column = Savable
        All times are in 100 milliseconds

Name       Current Timer Default Timer Saved Timer   Recovery Time C S
Idle A     *1            *1            *1            1             Y Y
Idle B     *1200         *1200         *1200         4             Y Y
Idle C     *1500          6000         *1500         25            Y Y
Standby Z  *3000          9000         *3000         125           Y Y

And once they’re accessed, only two random drives (can vary after each reboot) are still following the EPC settings and all the other ones are stuck in Active/Idle State:

root@Chrono[/home/truenas_admin]# openSeaChest_PowerControl -d /dev/sda --checkPowerMode
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_2_0 X86_64
 Build Date: Jun  9 2024
 Today: Sat Jan  3 20:01:25 2026        User: root
==========================================================================================

/dev/sg1 - ST22000NT001-3LS101 - ZX21P7WD - EN01 - ATA
Device is in the PM2: Standby state and device is in the Standby_z power condition

root@Chrono[/home/truenas_admin]# openSeaChest_PowerControl -d /dev/sdc --checkPowerMode
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_2_0 X86_64
 Build Date: Jun  9 2024
 Today: Sat Jan  3 20:01:29 2026        User: root
==========================================================================================

/dev/sg3 - ST22000NT001-3LS101 - ZX208EG0 - EN01 - ATA
Device is in the PM0: Active state or PM1: Idle State

This doesn’t make much sense to me as all these drives are in the same pool.

What didn’t work:

  • Waiting 24h

  • Trying to access the Drive Pool again: the two disks in Standby are back to Active and goes back to Standby again, the 6 remaining ones are still stuck in “Idle State”

  • Having APM value to Disabled, 1, 64, 127 in the TrueNas GUI… same behavior, it seems to be able to set the Standby_Z values of the drives but nothing much.

What did work:

  • A reboot, but valid only after the 1st Idle x state, then 6 drives are stuck to Active/Idle afterwards.

  • Setting APM Standby value in TrueNas GUI seems to unlock the drive power transition.

    • The GUI page puts all the drive in Active/Idle State, if only one drive is changed, the targeted drive can transition and the other get stuck like any other HDD Pool access
  • Removing the Idle State with openSeaChest: openSeaChest_PowerControl -d /dev/sda --transitionPower idleUnload: seems to allow the drive to power transition again and work as intended until the next HDD Pool Access: this may be the beginning of a workaround script.

I’m not really sure of why the pool behaves like this, maybe i missed something or it’s likely a ZFS byproduct, if someone has an idea, you’re welcome! Thanks for taking the time to read my sleep deprived experiments.

I hope you made a typo with 22.10… because that would be a 3 year old version of truenas…

That’s a typo indeed, it’s 25.10.1

Examine your SMART data, specifically Load Cycle Count and Start Stop Count.

This will tell you if the heads are parking often and loading of course, this would be normal. The bad one would be the Start Stop count, if this is incrementing then you may need to evaluate a few things, suck as how any digits does it increment in a 24 hour period. If it is more than 6, and this is just me alone, it is not something I read, but once every 2 hours seems excessive to me and again, just my opinion.

The drives stuck in Active/Idle states are not parking head at all, nothing is incrementing in the SMART tables.
And head parking is actually Idle_B state on Seagate drives, and they don’t even reach the Idle_A state (board low power)

There’s 5 possible states if i’m not mistaken on these drives:

  • Active/Idle state: Either in read/write or just waiting for input using all power.
  • Idle_A: A reduced power consumption with quick return to active state.
  • Idle_B: Low power + Head parking
  • Idle_C: Low power + Reduced spin
  • Standby Z: Spindown

I think this Jira ticket is liked to that issue: Jira

But this doesn’t only affect Standby but all drives management states, they are forever stuck in active state.

Idle_A is very important to Seagate drives, as this is used for background tasks and self health maintenance.