Western Digital Green – Drive Fix – Linux

This post was written by Skully.

I have recently discovered (a bit too late) that Western Digital Green hard drives have a serious issue when used in Linux as a main drive or a NAS drive. The problem can also occur in certain situations in windows too. The problem is due to a feature called intellipark. Which parks the heads on the drive after 8secs of drive inactivity.

Many Linux installations write to the file system a few times a minute in the background (eg. writing logs). As a result, there may be 100 or more load cycles per hour, and the load cycle rating may be exceeded in less than a year. This problem also makes the drives very unresponsive and makes your system feel slow as the heads need to be unparked when you try and load something.

My friend has killed two 1TB Green drives on his XBMC media box in 4years. The 500GB drive in my partners machine is in deep trouble as the load_cycle count is at 1991353 after a power_on_hours of 29549hrs. Compare that to my WD Black 1TB which has a load_cycle count of 721 after 13579hrs.

Now Western Digitals specsheet says that the drives are good for 300,000 Load/unload cycles, so this is a pretty big deal.

How to check/evaluate your WD Green Drive.

If you have a Western Digital Green drive, please check your SMART information before it’s too late. To do this you will need to install the package called smartmontools¬†:

sudo pacman -S smartmontools  (Arch / Manjaro)

sudo apt-get install smartmontools (Ubuntu / Mint)

Now check like this changing sda to whatever your Green drive is. (Use lsblk in terminal or gparted or i-nex or something to work out which drive it is.):

sudo smartctl -A /dev/sda | grep “^193”

193 Load_Cycle_Count        0x0032   253   253 
000    Old_age   Always       -       199135

If the Load cycle count exceeds a few thousand, you’re affected by the idle3 timer problem.

Here is how the output should look when this isn’t a problem:

sudo smartctl -A /dev/sdb | grep “^193”

193 Load_Cycle_Count        0x0032   200   200   
000    Old_age   Always       -       721

This is how we solve the problem.

Ok so you have the problem and want to fix it. Western digital have made a DOS utility to fix it if you ask them for it. Or can find it. Its called wdidle3.exe

But we arn’t going to use that. Instead we are going to use a Linux unnofficial alternative called idle3-tools. It is already packaged in Manjaro so no need to compile it. but here is the source [2]

Install idle3-tools with pamac or octopi or like this in the terminal:

sudo pacman -S idle3-tools (Arch / Manjaro)

sudo apt-get install idle3-tools (Ubuntu / Mint)

Now check what your drives timer is currently set as. (Replace sda if needed with your own drive.):

sudo idle3ctl -g /dev/sda

It will likely say it’s set to 80 [8sec]

Now really we want to just disable the timer altogether like it is on a black drive, and just let our systems power management handle the drive. If you want to just increase the time, then goto [3] and read the instructions.

To disable the timer (Replace sda if needed with your own drive):

sudo idle3ctl -d /dev/sda

Next step is to shutdown and power off your computer. Rebooting isn’t enough! You need to power off, so the drive will turn on with the new settings.

Now check again:

sudo idle3ctl -g /dev/sda

and it should say disabled.

Optional step.

Remove idle3-tools and smartmontools with octopi or pamac or in a terminal:

sudo pacman -R idle3-tools smartmontools (Arch / Manjaro)

sudo apt-get purge idle3-tools smartmontools (Ubuntu / Mint)

That’s it! All done. You can now enjoy the reliability and speed from the WD Green drive that you expected to have when you bought it.

Thank you to Skully for wanting me to post this important piece of information. I had this issue with a 500GB Western Digital Green drive, that failed on me not to long ago. Wish i had talked to him about it much earlier..haha

You can also find this post @ https://wiki.manjaro.org/index.php?title=Western_Digital_Green_-_Drive_Fix_-_Linux

Thanks a ton Skully!