OPENSEACHEST_POWERCONTROL(1)
π OPENSEACHEST_POWERCONTROL(1) π
okay bestie, welcome to the User Commands section of the manual, and let me tell you, this one is a whole page. It's gonna be long, so we're doing it in parts β this is part one, and no we are not skipping anything, we're eating every crumb. π
β¨ NAME β¨
openSeaChest_PowerControl β the manual page for openSeaChest_PowerControl.
π¦ DESCRIPTION π¦
okay so real talk, the DESCRIPTION section here is literally just the tool introducing itself. It says:
openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved openSeaChest_PowerControl Version: 26.03.2 X86_64 Build Date: May 18 2026 Today: 20260605T144116 User: current user
so yeah, that's the vibe β Seagate copyright, version 26.03.2, X86_64, built May 18 2026. iconic. π
πΈ Usage πΈ
fr fr, here's the whole shape of the thing:
openSeaChest_PowerControl [-d <sg_device>] {arguments} {options}
π Examples π
and here's the group chat doing the absolute most. every example, no cuts, no skips:
openSeaChest_PowerControl --scan
openSeaChest_PowerControl -d /dev/sg<#> -i
openSeaChest_PowerControl -d /dev/sg<#> --SATInfo
openSeaChest_PowerControl -d /dev/sg<#> --llInfo
openSeaChest_PowerControl -d /dev/sg<#> --checkPowerMode
openSeaChest_PowerControl -d /dev/sg<#> --showEPCSettings
openSeaChest_PowerControl -d /dev/sg<#> --idle_a 5000
openSeaChest_PowerControl -d /dev/sg<#> --idle_b disable
openSeaChest_PowerControl -d /dev/sg<#> --transitionPower standby_z
openSeaChest_PowerControl -d /dev/sg<#> --spinDown
openSeaChest_PowerControl -d /dev/sg<#> --transitionPowerState 1
openSeaChest_PowerControl -d /dev/sg<#> --showNVMPowerStates
openSeaChest_PowerControl -d /dev/sg<#> --idle_a 5000 --standby_z 30000 --idle_b enable --idle_c disable
openSeaChest_PowerControl -d /dev/sg<#> --showPowerTelemetry
openSeaChest_PowerControl -d /dev/sg<#> --requestPowerMeasurement 120 --powerMeasurementMode 12
openSeaChest_PowerControl -d /dev/sg<#> --EPCfeature enable
openSeaChest_PowerControl -d /dev/sg<#> --standby 15000
openSeaChest_PowerControl -d /dev/sg<#> --idle 5000
openSeaChest_PowerControl -d /dev/sg<#> --showAPMLevel
openSeaChest_PowerControl -d /dev/sg<#> --setAPMLevel 128
openSeaChest_PowerControl -d /dev/sg<#> --showPowerConsumption
openSeaChest_PowerControl -d /dev/sg<#> --setPowerConsumption 12
openSeaChest_PowerControl -d /dev/sg<#> --setPowerConsumption lowest
lowkey a whole portfolio of power moves. π
π Return codes π
k so when this thing finishes talking to you, it leaves a number. here's the legend β the Generic/Common exit codes:
0β No Error Found1β Error in command line options2β Invalid Device Handle or Missing Device Handle3β Operation Failure4β Operation not supported5β Operation Aborted6β File Path Not Found7β Cannot Open File8β File Already Exists9β Need Elevated Privileges10β Not enough resources11β Error Writing File12β Device not found when opening handle.13β Device not opened. Handle is busy.14β Insecure Directory to read or write file- Anything else β unknown error
bestie if you get anything else, it's giving mystery. π
π Utility Options π
these are the options that work on every openSeaChest tool, not just this one.
π Utility Options β the obsolete girlies
--csmiIgnorePort(Obsolete) β this option is obsolete and will be removed in future versions. she's on her way out, we don't speak of her. π«Ά--csmiUsePort(Obsolete) β same deal: obsolete, and getting removed in future versions.--csmiVerbose(Obsolete) β yep, also obsolete, also getting removed in future versions.
β¨ Utility Options β the ones that actually do stuff
--echoCommandLineβ echoes the command line you typed into the utility right back onto the screen. so you can see exactly what you did. self-awareness, we love her. π--enableLegacyUSBPassthroughβ okay listen, only use this on old USB or IEEE1394 (Firewire) products that genuinely do not work with the tool any other way. It flips on a trial-and-error method that tries sending various ATA Identify commands through vendor-specific means. And because of that, some products might respond in unintended ways, since they may interpret these commands differently than the bridge chip the command was designed for. so likeβ¦ be careful, she's chaotic. π--forceATAβ forces the current drive to be treated as an ATA drive. Only ATA commands get used to talk to the drive. full commitment, no halfsies.--forceATADMA(SATA Only) β forces the tool to issue SAT commands to a ATA device using the protocol set to DMA whenever possible (on DMA commands). You can combine this with--forceATA. β¨--forceATAPIO(SATA Only) β forces the tool to issue PIO commands to a ATA device when possible. Combine it with--forceATAif you want. π«--forceATAUDMA(SATA Only) β forces the tool to issue SAT commands to a ATA device using the protocol set to UDMA whenever possible (on DMA commands). And yes, you can also combine this one with--forceATA.--forceSCSIβ forces the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive. periodt.-h,--helpβ shows utility options and example usage β literally the output you're reading right now. π
Please report bugs/suggestions toseaboard@seagate.com. Include the output of--versioninformation in the email. (yes bestie, put the version info in the email, they need the receipts.)
--licenseβ displays the Seagate End User License Agreement (EULA). riveting reading, truly. π--modelMatch [model Number]β run on all drives matching the model number you hand over. It gives you a closest match, although an exact match is preferred. Ex:ST500will matchST500LM0001. cute.--noBannerβ suppresses the text banner that shows up every single time openSeaChest is run. for when the banner has overstayed its welcome. π--onlyFW [firmware revision]β run on all drives matching the firmware revision you give it. this one only does an exact match β no approximate match energy here. π--onlySeagateβ match only Seagate drives for the options you provided.-q,--quietβ runopenSeaChest_PowerControlin quiet mode. This is the same as-v 0or--verbose 0. shhh. π€«-v [0-4],--verbose [0 | 1 | 2 | 3 | 4]β show verbose information. The verbosity levels are:0β quiet1β default2β command descriptions3β command descriptions and values4β command descriptions, values, and data buffers
Example: -v 3 or --verbose 3
-V,--versionβ showopenSeaChest_PowerControlversion and copyright information & exit. the classic drive-by. π¨
π Utility Arguments π
okay these are the big ones, the actual arguments the utility takes.
-d,--device [deviceHandle | all]β use this with most commands to say which device handle the operation should happen on. Example:/dev/sg<#>β CSMI device handles can be specified as<error<#><#><#>>. To run across all devices detected in the system, use the"all"argument instead of a device handle. Example:-d all
NOTE: The "all" argument is handled by running the specified options on each drive detected in the OS sequentially. For parallel operations, please use a script opening a separate instance for each device handle. (no shortcuts bestie, one at a time unless you write a script π
)
-F,--scanFlags [option list]β control the output from scan with the options below. You can combine multiple options. here's the whole menu:ataβ show only ATA (SATA) devicesusbβ show only USB devicesscsiβ show only SCSI (SAS) devicesnvmeβ show only NVMe devicesinterfaceATAβ show devices on an ATA interfaceinterfaceUSBβ show devices on a USB interfaceinterfaceSCSIβ show devices on a SCSI or SAS interfaceinterfaceNVME= show devices on an NVMe interfacesdβ show sd device handlessgtosdβ show the sd and sg device handle mappingignoreCSMIβ do not scan for any CSMI devicesallowDuplicatesβ allow drives with both CSMI and PD handles to show up multiple times in the list
-i,--deviceInfoβ show information and features for the storage device.--llInfoβ dump low-level information about the device to assist with debugging. for when you need the tea at the lowest possible level. π«-s,--scanβ scan the system and list all storage devices with logical/dev/sg<#>assignments. Shows model, serial and firmware numbers. If your device is not listed on a scan immediately after booting, then wait 10 seconds and run it again. (patience, bestie, she's still waking up π΄)-S,--Scanβ same as--scanor-s, but it also performs a low level rescan to pick up other devices. Heads up: this low level rescan may wake devices from low power states and may cause the OS to re-enumerate them. Use this when a device is plugged in and not discovered in a normal scan.
NOTE: A low-level rescan may not be available on all interfaces or all OSs. The low-level rescan is not guaranteed to find additional devices in the system when the device is unable to come to a ready state. so like, no promises. π¬
--SATInfoβ displays SATA device information on any interface using both SCSI Inquiry / VPD / Log reported data (translated according to SAT) and the ATA Identify / Log reported data. two sources, one glow-up. β¨--testUnitReadyβ issues a SCSI Test Unit Ready command and displays the status. If the drive is not ready, the sense key,asc,ascq, and fru will be displayed, and a human readable translation from the SPC spec will be displayed if one is available. very "are you up? are you okay?" energy. π₯Ί--fastDiscoveryβ use this option to issue a fast scan on the specified drive. zoom zoom. π₯--checkPowerModeβ get the current power mode of a drive. On SCSI devices, this will only work if the drive has transitioned from active state to another state. (i.e. if she never left active, there's nothing to report π)--EPCfeature [enable | disable]β enables or disables Extended Power Conditions (EPC) support for devices. To disable EPC, use--EPCfeature disable. Note that the EPC Feature Set is not supported on all devices. Use the--deviceInfooption to see if EPC is supported.
WARNING: The EPC settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces. so like, it's not just one namespace catching feelings β it's all of them. π
--idle_a [ enable | disable | default | timerValueMilliseconds ]β use this setting to change the EPC Idle_A power mode settings.enableβ enable the power statedisableβ disable the power statedefaultβ restore default settings for this power statetimerValueβ number of milliseconds to set for the timer used in this power state. If a timer is provided the state will also be enabled, if not already. EPC spec timers are set in 100 millisecond increments. Timers will be truncated to fit 100 millisecond increments. (so like, don't get cute with1234unless you're cool with it becoming1200π )
so yeah, when you use this option the setting is non-volatile πΎ. bring --volatile along for the ride if you want it volatile instead, bestie.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--idle_b [ enable | disable | default | timerValueMilliseconds ]β flip the EPC Idle_B power mode settings around with this one π¦.enableβ turn the power state ondisableβ turn the power state offdefaultβ put the default settings back for this power statetimerValueβ how many milliseconds to set for the timer used in this power state. hand over a timer and the state gets enabled too, if it wasn't already. EPC spec timers tick in 100 millisecond increments, so your timer gets truncated to fit those 100 millisecond increments. β³
when you're using this option, the setting is non-volatile. use it with the --volatile flag to make the setting volatile instead.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--idle_c [ enable | disable | default | timerValueMilliseconds ]β same energy as above but for the EPC Idle_C power mode settings β¨.enableβ turn the power state ondisableβ turn the power state offdefaultβ restore the default settings for this power statetimerValueβ the number of milliseconds to set for the timer used in this power state. provide a timer and the state also gets enabled, if it wasn't already. EPC spec timers are set in 100 millisecond increments, and timers get truncated to fit 100 millisecond increments. β°
non-volatile again, queen. pair it with --volatile to make it volatile.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--powerMeasurementMode [all | 5 | 12]β (Seagate Only) π«Ά
stick this next to --requestPowerMeasurement to say which sources to measure power on for the time you requested.
allβ measure all power sources5β measure only the 5v power12β measure only the 12v power
--requestPowerMeasurement [seconds to perform measurement]β (Seagate Only) π«Ά
this is the one that says how long to do a power measurement for. the minimum measurement time is 22 seconds and the maximum is 65535 seconds. if you hand it a time under 22 seconds, the drive will just use 22 seconds. anything over 65535 gets you an error. use the --powerMeasurementMode option to say which mode you want to measure. π
--powerBalanceFeature [ info | enable | disable | limited]β (Seagate Only) π«Ά
peek at the state of the Seagate Power Balance feature, or change its state. Seagate's PowerBalance feature adjusts drive performance during random operations so the drive sips less power. π
infoβ dumps the state of the Power Balance feature onto your screenenableβ enable Power Balance (lowest power consumption)disableβ disable Power Balance (hihgest power consumption) πlimitedβ 12w limited mode. Dual actuator SATA only
Note: while this feature exists on some SAS products, the move is using the --setPowerConsumption option instead, since it gives you more levels of control. this option and the --setPowerConsumption option are incompatible because they use the same mode page fields (1Ah-01h). so like, pick one, bestie.
WARNING: Seagate Power Balance may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--showEPCSettingsβ dumps your current EPC settings on screen π. only drives that support the EPC feature will show this data, and only supported power conditions get shown. no fake data here.--showPowerTelemetryβ (Seagate Only) π«Ά
shows the power telemetry data from a Seagate drive that supports the power telemetry feature. if a measurement wasn't requested before, this shows free-running mode data from the last 10 minutes. and if you run this while a measurement is still in progress, it shows all the data that's currently available. use the --requestPowerMeasurement option to request a power measurement with a set time window. π
NOTE: Power measurements are for the full device, not individual logical units. all logical units will be measured for this data. π
--spinDownβ cuts power to the disk drive motor using the Standby Immediate command. use this before moving a hard disk drive, that's literally what it's for π. the drive will spin back up if the operating system selects it, which means an active drive will not stay spun down. she wakes up the second anyone looks at her.
WARNING: Spindown may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--standby [ enable | disable | default | timerValueMilliseconds ]β some settings are SAS only π
change the standby power mode settings with this. NOTE: this is the legacy standby timer, the one from before EPC drives existed. if you use it on an EPC drive, it modifies the standby_z power state and timer values.
enableβ enable the power state (SAS Only)disableβ disable the power state (SAS Only)defaultβ restore default settings for this power state (SAS Only)timerValueβ number of milliseconds to set for the timer used in this power state. if a timer is provided the state will also be enabled, if not already. spec timers are set in 100 millisecond increments, and timers get truncated to fit 100 millisecond increments. β±οΈ
when using this option, the setting is non-volatile. use it with the --volatile flag to make the setting volatile. ATA drives can only change the standby timer, not disable it. and on ATA drives, the standby timer set by this command is volatile and drive defaults are restored on the next power cycle. π
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--standby_y [ enable | disable | default | timerValueMilliseconds ]β changes the EPC Standby_Y power mode settings π.enableβ enable the power statedisableβ disable the power statedefaultβ restore default settings for this power statetimerValueβ number of milliseconds to set for the timer used in this power state. if a timer is provided the state will also be enabled, if not already. EPC spec timers are set in 100 millisecond increments, and timers will be truncated to fit 100 millisecond increments.
when using this option, the setting is non-volatile. use it with the --volatile flag to make the setting volatile.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--standby_z [ enable | disable | default | timerValueMilliseconds ]β and this one handles the EPC Standby_Z power mode settings π΄.enableβ enable the power statedisableβ disable the power statedefaultβ restore default settings for this power statetimerValueβ number of milliseconds to set for the timer used in this power state. if a timer is provided the state will also be enabled, if not already. EPC spec timers are set in 100 millisecond increments, and timers will be truncated to fit 100 millisecond increments.
non-volatile setting again! use it with the --volatile flag to make the setting volatile.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--transitionPower [active | idle | idleUnload | standby | idle_a | idle_b | idle_c | standby_y | standby_z | sleep]β this transitions the drive to a specific power state π. both EPC and legacy power states are supported. EPC states are only available on devices that support the EPC feature.
supported power states:
activeidleβ idle mode (legacy mode equivalent toidle_aon EPC)idleUnloadβ same as above, but the heads are unloaded. this may not be supported on all devices.standbyβ standby mode (legacy mode equivalent tostandby_zon EPC)idle_aβ EPC idle modeidle_bβ EPC lower power idle modeidle_cβ EPC lowest power idle modestandby_yβ EPC low power standby modestandby_zβ EPC lowest power standby modesleepβ Sleep state.
WARNING: sleep requires a reset to wake from. once she's in this state, this tool cannot wake the drive on its own. the OS or adapter will need to issue a reset, which may or may not happen. so like, yikes, plan accordingly. π
WARNING: Transitioning power modes may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
π SATA Only: ========= π
--disableAPMβ (SATA Only)
use this option to disable the APM feature on a device. Note: "This command is optional and some device may not disabling the APM feature." π« (that's the man page talking, not me, bestie)
--sataDAPSfeature [info | enable | disable]β (SATA Only)
enable or disable the SATA Device Automatic Partial To Slumber Transitions (DAPS) feature. use the "info" option to see the current state of the DIPM feature on the device. using this feature requires that the DIPM feature is enabled. NOTE: please make sure the host adapter/controller/driver can handle this before you enable it, otherwise the drive link may go down and the device won't be able to communicate. π
--sataDIPMfeature [info | enable | disable]β (SATA Only)
enable or disable the SATA Device Initiated Power Management (DIPM) feature. use the "info" option to see the current state of the DIPM feature on the device. NOTE: please, please make sure the host adapter/controller/driver can handle this before enabling it, otherwise the drive link may go down and the device will not be able to communicate. π
--puisFeature [ info | spinup | enable | disable ]β (SATA Only)
enable or disable the power up in standby (PUIS) feature on SATA drives. arguments:
infoβ display information about the PUIS support on the devicespinupβ issue the PUIS spinup set features command to spin up
β¦the device to active/idle state. π€
enableβ turning the PUIS feature ON, using thesetfeaturescommand β¨disableβ turning the PUIS feature OFF, using thesetfeaturescommand
Note: if this is configured on the drive with a jumper, this command will fail. π deadass.
Note2: not all products support this feature. WARNING: before enabling this feature on any SAS/SATA HBA, check the HBA documentation to see if this feature is supported by the HBA. Enabling this on an HBA that does not support this feature will cause the drive to stop showing up to the host OS or even in the HBA's firmware/BIOS/UEFI configuration. bestie. that's giving bricked. π
--setAPMLevel [1 - 254]β (SATA Only)
use this one to set the APM level of a device. valid values are between 1 and 254. π§
1= Minimum power consumption with standby mode2-127= Intermediate power management with standby mode128= Minimum power consumption without standby mode129-253= Intermediate power management without standby mode254= Maximum Performance. π₯
--showAPMLevelβ (SATA Only)
use this option to show the current APM level of a device πβ¨
π SAS Only: π
--idle [ enable | disable | default | timerValueMilliseconds ]β (SAS Only)
use this setting to change the idle power mode settings. NOTE: this is the legacy idle timer before EPC drives. if this is used on an EPC drive, this will modify the idle_a power state and timer values.
enableβ enable the power state πdisableβ disable the power statedefaultβ restore default settings for this power statetimerValueβ number of milliseconds to set for the timer used in this power state. If a timer is provided the state will also be enabled, if not already. Spec timers are set in100millisecond increments. Timers will be truncated to fit100millisecond increments.
when u use this option, the setting is non-volatile π«Ά. use it with the --volatile flag to make the setting volatile. this is only available on SAS/SCSI drives, because ATA drives did not have a separate configurable idle timer. iykyk.
WARNING: EPC Settings may affect all LUNs/namespaces for devices with multiple logical units or namespaces. no cap, read that twice. π
--sasPhy [phy number]β (SAS Only)
use this option to specify a specific phy to use with another option that uses a phy identifier value. some tool options will assume all SAS Phys when this option is not present, others will produce an error when a specific phy is needed for an operation. use the -i option to learn more about the supported phys. π¦
--sasPhyPartial [info | enable | disable]β (SAS Only)
use this option to enable or disable the partial phy power condition. this is from the enhanced phy control mode page. use the --sasPhy option to specify an individual phy, otherwise this will be changed on all phys.
WARNING: configuring this setting may cause the drive to be undetectable by other hardware if this power condition is not supported by a controller or expander. π
WARNING: changing SAS Phy partial may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--sasPhySlumber [info | enable | disable]β (SAS Only)
use this option to enable or disable the slumber phy power condition. this is from the enhanced phy control mode page. use the --sasPhy option to specify an individual phy, otherwise this will be changed on all phys.
WARNING: configuring this setting may cause the drive to be undetectable by other hardware if this power condition is not supported by a controller or expander. π΄
WARNING: changing SAS Phy slumber may affect all LUNs/namespaces for devices with multiple logical units or namespaces.
--setPowerConsumption [default | highest | intermediate | lowest | watt value]β (SAS Only)
this option will set the power consumption rate of the device to the value input. options:
-defaultβ sets the device back to default settings-highestβ sets the active level to "highest" π₯-intermediateβ sets the active level to "intermediate"-lowestβ sets the active level to "lowest" π§-wattvalue β sets the device to a nearest watt value less than or equal to the value entered
power consumption watt values are listed with the --showPowerConsumption command line option. periodt. π
--showPowerConsumptionβ (SAS Only)
this option will show the power consumption rates supported by the device and the current power consumption rate of the device. use a supported watt value with the --setPowerConsumption option to set the power consumption to that value π
β¨ NVMe Only: β¨
--showNVMPowerStatesβ (NVMe Only)
use this option to display a device's supported power states π
--transitionPowerState [new power state]β (NVMe Only)
use this option to transition to a specific power state.
WARNING: transitioning the drive to a non-operational power state may make the device stop responding. the operating system may or may not block this transition. it is recommended to only use this option for operational power states. π«
HINT:
use --showNVMPowerStates to view the supported states β
and here's the whole lil' flex banner the utility prints, bestie π:
openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_PowerControl
Version: 26.03.2
X86_64
Build Date: May 18 2026
Today: 20260605T144117
User: current user
==========================================================================================
Version Info for openSeaChest_PowerControl:
Utility Version: 26.03.2
opensea-common Version: 6.1.0
opensea-transport Version: 10.3.0
opensea-operations Version: 9.4.0
Build Date: May 18 2026
Compiled Architecture: X86_64
Detected Endianness: Little Endian
Compiler Used: GCC
Compiler Version: 14.2.0
Operating System Type: Linux
Operating System Version: 6.6.114-1
Operating System Name: Ubuntu 24.04.4 LTS
πΈ SEE ALSO πΈ
the full documentation for openSeaChest_PowerControl is maintained as a Texinfo manual. if the info and openSeaChest_PowerControl programs are properly installed at your site, the command
info openSeaChest_PowerControl
should give you access to the complete manual. β¨ go read it, it's iconic.
and that's the whole page, bestie!! π«Ά this beauty is openSeaChest_PowerControl from the openSeaChest drive utilities (NVMe enabled, obviously π
), utility version 26.03.2, build date May 18 2026, compiled for X86_64, and the manual page itself is dated June 2026 under the classic OPENSEACHEST_POWERCONTROL(1) header. slay. πππ
π¦ where this page comes from
- nixpkgs unstable: openseachest 26.03.2
- ubuntu stonking: openseachest 26.03.2+ds-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms