idle3-tools

Quick links

Description

Idle3-tools provides a linux/unix utility that
can disable, get and set the value of the infamous idle3 timer found
on recent Western Digital Hard Disk Drives.
It can be used
as an alternative to the official wdidle3.exe proprietary utility,
without the need to reboot in a DOS environement.
A power off/on cycle of the drive will still be mandatory for new settings to be taken into account.

Idle3-tools
is an independant project, unrelated in any way to
Western Digital Corp.

WARNING : THIS SOFTWARE IS EXPERIMENTAL AND NOT WELL TESTED. IT ACCESSES
LOW LEVEL INFORMATION OF YOUR HARDDRIVE. USE AT YOUR OWN RISK.

Origin of the problem

Modern Western Digital "Green" Drives include the Intellipark feature that stops the disk when not in use.
Unfortunately, the default timer setting is not perfect on linux/unix systems, including many NAS,
and leads to a dramatic increase of the Load Cycle Count value (SMART attribute #193).

Examples

Get idle3 timer raw value

# idle3ctl -g /dev/sda

Disable idle3 timer

# idle3ctl -d /dev/sda

Set the idle3 timer to 10s

# idle3ctl -s 100 /dev/sda

Compatibility

Idle3ctl should be compatible with all modern Western Digital HDD driven by a real SATA controler.
Compatibility with SATA-to-USB adapters is uncertain.
Since idle3ctl uses SMART ATA commands to get and set the idle3 timer, it should work if SMART information can be read from your drive.

WARNING

The idle3 timer seems to be a power on only setting. That means that the drive needs to be powered OFF and then ON to use the new setting.

Meaning of the returned raw value depending on the wdidle3 version

The value 0 is used when the timer is disabled.
The values 1 to 128 are reported in .1s by all wdidle3.exe versions.
The values 129 to 255 are in .1s for version 1.00, but in 30s for versions 1.03 and 1.05
The difference only affects the output, the stored timer is identical between versions.
Maybe different WD drives have different beheviour.