Anyone managed to permanently disable Advanced Power Management in WD10JPVX?

There are several ways to approach this problem. One is to use HDDHackr to hack the drive. This produces an UNDO.BIN file that contains MOD 0D and MOD 02. You would then edit UNDO.BIN and use HDDHackr to undo the hack.

http://www.users.on.net/~fzabkar/HDD/HddHackr_analysis.html

What you are proposing to do with MHDD is incorrect. WD’s Vendor Specific Commands are tunnelled through to the drive via the ATA SMART Read Log and Write Log commands. Log 0xBE is used to send the VSC, while log 0xBF is used for transferring the data.

The RD_02.bin contains the VSC for reading MOD 02. Instead we need to create a new file, say WRT_02.bin, which contains the VSC for writing MOD 02. It consists of the command data padded with zeros. We then follow this with a SMART Write Log command using your edited MOD_02.bin. In MHDD you would use the “sectorsfrom” command rather than “sectorsto”.

Before doing anything you need to retrieve the full MOD 02 contents. At the moment you have retrieved only the first 4 sectors. Offset 0x0A contains the size of the modules in sectors, namely 5.

; VSC enable 

reset 
waitnbsy 
regs = $45 $0b $00 $44 $57 $a0 $80 
waitnbsy

; write module 02 to SA

regs = $d6 $01 $be $4f $c2 $a0 $b0 
waitnbsy 
checkdrq 
sectorsfrom = wrt_02.bin 
waitnbsy 
regs = $d6 $05 $bf $4f $c2 $a0 $b0 
waitnbsy 
checkdrq 
sectorsfrom = MOD_02.bin

; end of script




wrt_02.bin --> 0x0000 08 00 02 00 02 00 00 00 00 00 00 00 00 00 00 00

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 

00000000 08 00 02 00 02 00 00 00 00 00 00 00 00 00 00 00 
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
........ 
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Note that the above script assumes that MOD 02 has a size of 5 sectors. This is not always true, so the script may produce bad results in those cases where the size is different.

BTW, I haven’t tried this script, so I would be very cautious. In fact I believe HDDHackr might be the safest approach.

When calculating the module’s checksum, you could use the following free tool:

http://forum.hddguru.com/download/file.php?id=4921

1 Like