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.
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 continous.
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 | 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
- 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.
-
-
- 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
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.
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.