Switch off internal power management for Seagate hard drives

Aus wiki.frank-wulf.de
Zur Navigation springen Zur Suche springen

Install openSeaChest

  • openSeaChest uses meson and ninja to build.
  • Install the 3rd party dependencies.
apt-get install python3 python3-pip python3-setuptools python3-wheel ninja-build
pip3 install --user meson
  • Download and compile openSeaChest.
cd /usr/src
git clone --recurse-submodules -j8 https://github.com/Seagate/openSeaChest.git
cd openSeaChest
/root/.local/bin/meson --buildtype=release builddir
ninja -C builddir
  • All the binaries are now located inside the builddir directory.
cd /usr/src/openSeaChest/builddir
  • Scan devcices to determine the right handle.
./openSeaChest_Basics --scan
  • Output:
root@fwserv1:/usr/src/openSeaChest/builddir# ./openSeaChest_Basics --scan
==========================================================================================
 openSeaChest_Basics - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_Basics Version: 3.5.4-6_1_0 X86_64
 Build Date: Aug  3 2023
 Today: Thu Aug  3 21:41:08 2023        User: root
==========================================================================================
Vendor   Handle       Model Number            Serial Number          FwRev
ATA      /dev/sg0     INTEL SSDSA2M120G2GC    CVPO043402H6120QGN     2CV102M3
ATA      /dev/sg1     HGST HUH721010ALE600    7JJ4NKUC               LHGNT21D
ATA      /dev/sg2     SanDisk SDSSDA-1T00     2013E7447107           411040RL
ATA      /dev/sg3     HGST HUH721010ALE600    2TGV3G0D               LHGNT384
ATA      /dev/sg4     ST20000NM007D-3DJ103    ZVTAR0QE               SB2A

root@fwserv1:/usr/src/openSeaChest/builddir#

In this case the handle is /dev/sg4

  • Show EPC (Extended Power Condition) settings.
./openSeaChest_PowerControl -d /dev/sg4 --showEPCSettings
  • Output:
root@fwserv1:/usr/src/openSeaChest/builddir# ./openSeaChest_PowerControl -d /dev/sg4 --showEPCSettings
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_1_0 X86_64
 Build Date: Aug  3 2023
 Today: Thu Aug  3 21:48:32 2023        User: root
==========================================================================================

/dev/sg4 - ST20000NM007D-3DJ103 - ZVTAR0QE - SB2A - 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      0             6000          6000         20            Y Y
Standby Z   0             9000          9000         110           Y Y

root@fwserv1:/usr/src/openSeaChest/builddir#
  • Disable EPC and Power balance feature.
./openSeaChest_PowerControl -d /dev/sg4 --EPCfeature disable
./openSeaChest_PowerControl -d /dev/sg4 --powerBalanceFeature disable
./openSeaChest_PowerControl -d /dev/sg4 --showEPCSettings
  • Output:
root@fwserv1:/usr/src/openSeaChest/builddir# ./openSeaChest_PowerControl -d /dev/sg4 --showEPCSettings
==========================================================================================
 openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_PowerControl Version: 3.4.0-6_1_0 X86_64
 Build Date: Aug  3 2023
 Today: Thu Aug  3 21:54:49 2023        User: root
==========================================================================================

/dev/sg4 - ST20000NM007D-3DJ103 - ZVTAR0QE - SB2A - 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      0            *1            *1            1             Y Y
Idle B      0            *1200         *1200         4             Y Y
Idle C      0             6000          6000         20            Y Y
Standby Z   0             9000          9000         110           Y Y

root@fwserv1:/usr/src/openSeaChest/builddir#