Quesions regarding fixing head parking in WD drives with Wdidle

Hello everyone,

I have only recently learned about Intellipark and the the 8 seconds timeout issue in some of WD hard drives. I have a couple of WD blue drives with 80,000 and 40,000 reload cycles and want to stop their further potential degradation.

Thankfully, I read the old guide posted in this forum and its subsequent thread. I learned a lot from it but I am still left with a couple of questions:

  1. Can I Isolate Wdidle affect by disabling other drives in he bios? Or must I disconnect other drives physically?
  2. Does Wdidle affect the drive content, wipe it or reset it? Will I need to restore the drive content after applying the fix?

I know this is probably an archaic topic for most of you but I hope you are still able to help.

No, this program only changes a timer value in the drive firmware. It does not impact the data at all.

The program also only affect the drive you specified in the command line.

Thank you for your reply.

Are you talking about the windows tool?
In the DOS Wdidle3 tool I didn’t see an option to select the target drive.

Do you know if I disable the SATA ports of the other hard drives in the BIOS would they be completely inaccessible and safe?

Again, thank you for the help.

You’re right that it looks like the wdidle3 tool doesn’t let you specify drive. If you ran it without error maybe you already disabled the parking? (or delayed it, depending on the chosen switches)

I also found an old thread that may be helpful, showing a different tool:

Thanks for the additional information and link.

With wdidle3 sata mode has to be set to IDE. Do you know if the windows tool works even in AHCI mode?

I do not, sorry.
I don’t have any WD drives to test with either.

My apologies, it has been a while since I was in that thread. But if you are running Linux (SCALE), you can use this link for the idle3-tools to apply to individual drives.

Or you could also use The Ultimate Boot CD (UBCD) from this site which has the WDIdle program built in. Of course you would be updating any WD drive that can be updated. If that is a concern, power off your computer, unplug all but the one drive you want to updated, then boot the UBCD and apply the WDIdle program.

NOTE: If you go the route of UBCD, be very careful on the UBCD website, there are a LOT of ads that want you to click to download something. This is the actual download page and scroll down until you see “Mirror Sites” and there are a lot of links, chose one. Do not click on any ad that says “DOWNLOAD”, you will hate yourself almost immediately. This site use to not be like this some 10+ years ago.

While you are responding, please list the Model of the WD Blue drives you have.

Enjoy.

1 Like

My two drives are: WD40EZAZ and WD40EZAX.
I tried using the windows wd5746 tool but it says there is nothing to update.

I have read that some encountered the same with blue drives but wdidle and UBCD worked for them. As these tools requires more effort to setup I haven’t tested them yet.

Not much effort. it is a bootable ISO, menu driven. Pretty easy, take your time and read the menus. Only have in your system the drives you want to alter the timer for.

I have a few hard drives and m2 ssd on board. It is a hassle to disassemble the setup and then put everything back together. I will do it though if I don’t have a choice.

Do any of you know if disabling the sata ports in the UEFI, making the relevant drives practically invisible to the OS, would be enough?

This is a very concerning statement. If you are asking these kind of questions, then maybe you should not be doing this kind of a change.

I’m not trying to be disrespectful but rather honest and concerned that you may cause harm to your system and no one wants to see that.

As for the physical work, that depends on how familiar you are with the internals of a computer. Right now I’d say you have little to no knowledge on this topic but I’d be happy to be proven wrong.

Also, if you read the old TrueNAS forms, you should have read that WD changed the warranty to 300,000 to 600,000 load cycles. If you have 80,000 load cycles on one drive, you likely have a Power On Hours value greater than 6,667 hours, which is good. I suspect you have many more hours than that. 300,000 load cycles would equate to 2.85 years, assuming it parked every 5 minutes, which means you would be writing a small amount of data (a few bytes) every 5 minutes which is unlikely.

Should you make the timer change?
Take your Power On Hours and multiply by 24 to give you a value of minutes. Divide those minutes by the load cycle count. What is the value you get? This is the average time in minutes between head parking for the life of your drive. If your value is greater than 10, that is decent, but many of us are shooting for the greater than 30 minutes value. I prefer to never see my heads parked.

Here is a more objective way to do this and it would be more accurate as well… Run smartctl -a /dev/sda > sda_2025_07_22.txt for example. This will create a file called sda_2025_07_22.txt. Wait 1 day, do the same thing again smartctl -a /dev/sda > sda_2025_07_23.txt, and do it once again 6 days later smartctl -a /dev/sda > sda_2025_07_29.txt and now we compare the data. Using simple subtraction, compare the first two text files, The difference for the load cycle count is how many time it did it in 24 hours. That is really too small of a sample size unless the value is over 200. Next compare the first and the last text files, the difference here in the load cycle count will be closer to real life using TrueNAS. I have no idea where those drives were before but if they were in a different environment, then you are guessing about how bad they are affected while being used in a TrueNAS setup. Hopefully your difference for the week is below 336 (30 minute average load cycle over ). If the values look good, I would not mess with the timers.

The program to change the timers will only impact WD drives, no other drives. If your M.2 drive is WD, it will also not be affected. The program checks to see if the drive supports this change, it does not just write some data to a firmware and hope it got it right.

Please don’t take offence to my bluntness, I’d rather you be a little frustrated at me than really frustrated if you damaged your computer. Also, if you do decide to dive into the computer, ensure you are wearing an ESD bracelet or similar and the computer is unplugged and grounded. While many of us can get away without ESD protection, it depends on a few factors, one big one is being the humidity in the air. I live in a very humid environment, and I practice “Touch a Nut” something I learned in the military. You always put one hand on the metal chassis before doing anything inside the case, and try to keep touching the metal while working, if not continuous, at least periodically. The ESD bracelet takes care of this if you wear one.

A very long posting to say “Just be careful”.

Thank you for the detailed response and justified warning.

I finally got to take my pc apart, disconnect the drives, remove the onboard ssd and change AHCI mode to IDE - in order to apply Wdidle3 from UBCD.

Unfortunately for both blue drives I received a message “VSCSendKey CMD Error…” and couldn’t test or change the idle time setting.

Interestingly though I watched closely the behavior of both drives using the smart data and found out that the SMR drive WD40EZAZ has a 300s idle time but the CMR one WD40EZAX has 8 seconds. That also explains the much higher reload count of the latter.

So after all this has been a dead end. Isn’t there really anything else to try?

I am on the road right now but when I return home in a few hours, I will look into it more. In the meantime do a Google search for something like “wd drive 8 second park” and see what comes up. It may be all that you have seen before. The 8 second timer makes me think laptop drive to save energy.

Good hunting snd I will check back in a few hours.

Also watch a video on how to do this just in case you did it wrong with wdidle. That would be the best outcome if it works.

Thanks. I watched the video.
The steps I took:

  1. I disconnected all drives and left only the relevant one connected.
  2. I changed the SATA mode from AHCI to IDE
  3. I loaded wdidle3 from ubcd and ran the command.
    Is there anything else?
    I read in many places that others received a similar error with certain blue drives.

Humor me, I don’t think you are stupid, but I always like to have very clear communications and assumptions are never good.

When you boot into UBCD, and of course WDIdle, are you at a command line prompt? It has been a long time for me using WDIdle so I don’t recall?

If you are at a command prompt, does it tell you the dive ID (name) like sda, sdb? Regardless, whatever it is, can you run the command smartctl -t long /dev/sda (sda bein the drive ID of course). If yes, once you do this, try to use the WDIdle3 program again. If 300 seconds fails, try 0 (zero) seconds to disable the timer completely. Oh I forgot step 1, cross your fingers.

And I did look into the Blue drives, looks like a lot of people were unable to change the 8 second timer. You may be one of them.

If the drive is under warranty, see if you can get it replaced and tell them the constant sleeping is causing your programs to lag. Tell them you gaming will freeze for half a second and then you die. Of course that is if you have a warranty.

Late response.

I have a bunch of wd60ezrz’s which absolutely will not let me disable the idle timer. For now, i’ve implemented a script which will hopefully slow it down.

150627 load cycle count over 4048 PoH, ~37.2 cycles per hour. I guess this isn’t terrible, but in comparison to some WD120EDBZ drives (12TB, hitachi?), 1111 cycles over 22013 PoH, or .05 cycles per hour!

For the wd60 drive, the script, launched as postinit, basically reads a random sector every 4 seconds.

#!/bin/bash

while true
do
                RND=$RANDOM
                /bin/bash -c '/bin/dd if=/dev/sda of=/dev/null count=1 skip='$RND >  /dev/null 2>&1
                /bin/sleep 4
done

Edit: After a day, the above didn’t help. Still incrementing at a high rate. IE 400 cycles over night.

Edit 2. I think I got a winner

#!/bin/bash

while true
do
                RND=$(awk "BEGIN{srand(); print int(rand()*(11000000000-10000+1))+10000}")
                /bin/bash -c '/bin/dd if=/dev/sda of=/dev/null count=1 skip='$RND iflag=direct  >  /dev/null 2>&1

                /bin/sleep 4
done

The trick was changing the random window to 10K to 11B . The 11B is based on total sector size for the disk (11,5Bsomething). So far no increases in ~18 hrs.