Manual Page Result
0
Command: atactl | Section: 8 | Source: NetBSD | File: atactl.8
ATACTL(8) FreeBSD System Manager's Manual ATACTL(8)
NAME
atactl - a program to manipulate ATA (IDE) devices and busses
SYNOPSIS
atactl device command [arg [...]]
DESCRIPTION
atactl allows a user or system administrator to issue commands to and
otherwise control devices which reside on standard IDE and ATA
controllers, or the ATA bus itself. It is used by specifying a device or
bus to manipulate, the command to perform, and any arguments the command
may require.
You may also control devices which are inside a SCSI enclosure, this
includes many USB disks. In this case ATA commands are passed through
the SCSI layer using SATL commands.
DEVICE COMMANDS
The following commands may be used on IDE and ATA devices. Note that not
all devices support all commands.
identify Identify the specified device, displaying the device's vendor,
product, revision strings, and the device's capabilities.
idle Place the specified device into Idle mode. This mode may
consume less power than Active mode.
standby Place the specified device into Standby mode. This mode will
consume less power than Idle mode.
sleep Place the specified device into Sleep mode. This mode will
consume less power than Standby mode, but requires a device
reset to resume operation. Typically the wd(4) driver
performs this reset automatically, but this should still be
used with caution.
setidle idle-timer
Places the specified device into Idle mode, and sets the Idle
timer to idle-timer seconds. A value of 0 will disable the
Idle timer.
setstandby standby-timer
Places the specified device into Standby mode, and sets the
Standby timer to standby-timer seconds. A value of 0 will
disable the Standby timer.
checkpower
Will print out if the device is in Active, Idle, or Standby
power management mode.
apm [disable | set #]
Controls the Advanced Power Management feature of the
specified device. Advanced Power Management is an optional
feature used to specify a power management level to balance
between device performance and power consumption.
disable Disable the Advanced Power Management.
set # Enable the Advanced Power Management feature
and set its level to the value #, where # is
an integer within the scale 0-253; being 0 the
mode with the lowest power consumption (and
thus the worse performance) and 253 the mode
which provides the better performance at a
cost of more power consumption.
It should be noted that the effect of the
value need not be continuous. For example, a
device might provide only two modes: one from
0 to 126 and other from 127 to 253. Per the
specification, values of 127 and higher do not
permit the device to spin down to save power.
smart [enable | disable | status [vendor] | offline # | error-log |
selftest-log]
Controls SMART feature set of the specified device. SMART
stands for Self-Monitoring, Analysis, and Reporting
Technology. It provides an early warning system by comparing
subtle operation characteristics to those determined in vendor
testing to precede device failures.
enable Enables access to SMART capabilities within
the device. Prior to being enabled, a SMART
capable device neither monitors nor saves
SMART attribute values. The state of SMART,
either enabled or disabled, will be preserved
by the device across power cycles.
disable Disables access to SMART capabilities within
the device. Attribute values will be saved,
and will no longer be monitored.
status [vendor]
Reports whether SMART is supported by the
device, and whether SMART is enabled on the
device (can only be determined on ATA6 or
better devices). If SMART is enabled, then a
table of attribute information is printed.
Attributes are the specific performance or
calibration parameters that are used in
analyzing the status of the device. The
specific set of attributes being used and the
identity of these attributes is vendor
specific and proprietary.
Attribute values are used to represent the
relative reliability of individual performance
or calibration parameters. The valid range of
attribute values is from 1 to 253 decimal.
Lower values indicate that the analysis
algorithms being used by the device are
predicting a higher probability of a degrading
or faulty condition.
Each attribute value has a corresponding
threshold limit which is used for direct
comparison to the attribute value to indicate
the existence of a degrading or faulty
condition. The numerical value of the
attribute thresholds are determined by the
device manufacturer through design and
reliability testing and analysis. Each
attribute threshold represents the lowest
limit to which its corresponding attribute
value can equal while still retaining a
positive reliability status.
If the crit field is "yes" then negative
reliability of this attribute predicts
imminent data loss. Otherwise it merely
indicates that the intended design life period
of usage or age has been exceeded. The
collect field indicates whether this attribute
is updated while the device is online. The
reliability field indicates whether the
attribute value is within the acceptable
threshold.
If the vendor argument is supplied, a vendor-
specific table will be used for SMART
information if known to atactl. Currently,
only "micron" has a vendor-specific table. If
the vendor is not supplied, it may be guessed
from devices' model or other data available.
offline # Runs the numbered offline self-test on the
drive.
error-log Prints the error log.
selftest-log Prints the self-test log.
security [status | freeze | setpass | unlock | disable | erase]
Controls "security" (password protection) features of modern
ATA drives. The security commands are intended to be issued
by low-level software (firmware / BIOS) only. Generally, the
security status should be "frozen" before the operating system
is started so that misbehaving or malicious software cannot
set or change a password. Older and buggy BIOSes neglect to
do so; in these cases it might make sense to issue the
"freeze" command early in the boot process.
status displays the drive's security status
freeze freezes the drive's security status
setpass [user | master]
sets the drive's user or master password
unlock [user | master]
unlocks a password-protected drive
disable [user | master]
disables password protection
erase [user | master]
erases the device and clears security state, using
enhanced erasure if the drive supports it; may take
a long time to run
Note that to erase a drive, it must have a password set and be
unfrozen. If you can't persuade your firmware to leave the
drive unfrozen on boot, but it is a SATA drive, say wd2 at
atabus3, that you can safely physically disconnect and
reconnect, then you may be able to use SATA hot-plug to work
around this: first run
# drvctl -d wd2
Then physically disconnect and reconnect the drive, and run
# drvctl -r -a ata_hl atabus3
After this, check that the security status does not list
"frozen":
# atactl wd2 security status
supported
#
BUS COMMANDS
The following commands may be used on IDE and ATA busses. Note that not
all devices support all commands.
reset Reset the bus. This will reset all ATA devices present on the
bus. Any ATAPI device with pending commands will also be reset.
EXAMPLES
To erase wd2 which is currently unfrozen and has no password set:
# atactl wd2 security status
supported
# atactl wd2 security setpass user
Password:
Confirm password:
# atactl wd2 security status
supported
enabled
# atactl wd2 security erase user
Password:
Erasing may take up to 0h 2m 0s...
#
SEE ALSO
ioctl(2), wd(4), dkctl(8), drvctl(8), scsictl(8)
HISTORY
The atactl command first appeared in NetBSD 1.4.
AUTHORS
The atactl command was written by Ken Hornstein. It was based heavily on
the scsictl(8) command written by Jason R. Thorpe. Matthew R. Green
significantly enhanced the smart status support. Michael van Elst added
support for SATL.
BUGS
The output from the identify command is rather ugly.
Support for master passwords is not implemented.
The NetBSD kernel behaves poorly with drives that have passwords set and
are locked.
The smart status command currently guesses the vendor attribute name
table to use, and may be wrong or miss supported devices.
SATL bus commands don't work yet.
FreeBSD 14.1-RELEASE-p8 March 2, 2019 FreeBSD 14.1-RELEASE-p8