Asus H81MA HPET missing from bios

I downloaded WinTimerTester 1.1 and it shows a QueryPerformanceFrequency of 10 mhz which i don’t know if it necessarily means HPET. I tried following a guide on how to disable HPET and I managed to find “High Precision Timer Enable or Disable the High Precision Event Timer” in the hex editor, but unfortunately I don’t know how to disable it. I would really appreciate it if I could receive help in disabling it or for someone to modify the bios. I own a bios chip programmer that i’ve had to use before so no worries about bricking the motherboard. If you know any extra modifications to the BIOS that would be useful please let me know.

unfortunately I’m a new user and cannot post the link but hopefully this isnt against the rules
link for bios: asus(dot)com/Motherboards/H81MA/HelpDesk_BIOS/
CPU: i5-4590

side note: I read that disabling HPET would improve performance and such and mainly input lag in cpu bound games, my knowledge is quite limited so is there any truth to that?.

thank you <3

@insicariushd - No, QPC 10 does not necessarily mean HPET disable in BIOS, and it’s usually enabled by default (I checked latest BIOS, it’s enabled)
About HPET and timers, here’s my testing results of BIOS enabled/Disabled HPET along with OS Side enable/disable, see “Change Log” area of this thread -
If you used BCDedit and change things, change it back, I see better numbers with this left at Win10 default (bottom left corner of my test image = Win10 default (BCDEdit.exe /set useplatformclock yes) + BIOS HPET disabled)

To flash in mod BIOS of this board, we’ll probably have to disable BIOS lock first, please do below and let me know what error you get at #2

If you have already modified the BIOS in ANY way, you will need to re-flash it back to factory defaults using factory method (NOT FPT)!!!
Additionally, please remove all BIOS passwords, disable secure boot, and disable TPM or Encryption if you have enabled. Do this before moving on to below

If you do not have Intel ME drivers installed, install them now from your system driver download page, then start over here after reboot.
Check your BIOS’ main page and see if ME FW version is shown. If not then > DOWNLOAD HWINFO64 HERE <

Once HWINFO is open, look at the large window on the left side, expand motherboard, and find the ME area.
Inside that section is the ME Firmware version. Take note of the version. (ie. write it down or get a screenshot)

Once you have that, go to the thread linked below, and in the section “C.2” find and download the matching ME System Tools Package for your system.
(ie if ME FW version = 10.x get V10 package, if 9.0-9.1 get V9.1 package, if 9.5 or above get V9.5 package etc)
> DOWNLOAD " ME System Tools " packages HERE <

Once downloaded, inside you will find Flash Programming Tool folder, and then inside that a Windows or Win/Win32 folder (NOT x64).
Highlight that Win/Win32 folder, then hold shift and press right click. Choose “open command window here” (Not power shell! >> * See Registry file below *).

If you get an error, reply to this post with a screenshot of it, OR write down the EXACT command entered and the EXACT error given.

((If “open command window here” does not appear, look for the “Simple Registry Edit” below…))

Step #1

Now you should be at the command prompt.
You are going to BACKUP the factory un-modified firmware, so type the following command:
Command: " FPTw.exe -bios -d biosreg.bin "

>> Attach the saved "biosreg.bin ", placed into a compressed ZIP/RAR file, to your next post!!! <<

Step #2

Right after you do that, try to write back the BIOS Region dump and see if you get any error(s).
Command: " FPTw.exe -bios -f biosreg.bin "
^^ This step is important! Don’t forget! ^^

If you get an error, reply to this post with a screenshot of it, OR write down the EXACT command entered and the EXACT error given.

Here is a SIMPLE REGISTRY EDIT that adds “Open command window here as Administrator” to the right click menu, instead of Power Shell
Double-click downloaded file to install. Reboot after install may be required

If the windows method above does NOT work for you…
Then you may have to copy all contents from the Flash Programming Tool \ DOS folder to the root of a Bootable USB disk and do the dump from DOS
( DOS command: " FPT.exe -bios -d biosreg.bin " )

Or, without BIOS mod, you can simply directly disable this way! Follow this guide, start at step #6, I’ve done 1-5 for you and info is below
[GUIDE] Grub Fix Intel FPT Error 280 or 368 - BIOS Lock Asus/Other Mod BIOS Flash

Rename .efi file to >> Shellx64.efi

High Precision Timer variable to change >> 0x195

So, at grub prompt, you will type the following and hit enter then reboot and it’s disabled (case sensitive)
setup_var 0x195 0x00

To set it back to enabled, do the same, but
setup_var 0x195 0x01

Alternately, you can use this method to do same change - Go to section 2.2 and make bootable USB with RU program, then read 2.3-2.5…-issues.812372/

I don’t game, so I can’t comment on that, but I do know I make this mod for a lot of users that request it for gaming (maybe placebo sometimes, other times it may help a lot, I am not sure)

at first it all seemed so complicated and the entire thing was going over my head but after reading every guide you sent carefully I managed to do the following

I did not check if I had ME drivers installed.

used HWINFO to figure out that my ME FW version is 9.0 so I downloaded the V9.1 package as you instructed.

attempting FPTw.exe -bios -d biosreg.bin kept providing me with the 284 “admin priviledge” error even though the prompt was ran as administrator and I even tried powershell and I also restarted my pc, what fixed it could’ve been either I was using the wrong ME System tools version or that I restored my bios to defaults and disabled secure boot and enabled csm compatibility.

attempting to reflash the dump with -f would result in the 280 “Failed to write to disable write protection for BIOS space!” error as you suspected.

so I followed the guide you provided, “[GUIDE] Grub Fix Intel FPT Error 280 or 368 - BIOS Lock Asus/Other Mod BIOS Flash” but also looked at the 3rd guide you provided in order to get a completely picture.

I copied Shellx64.efi to a usb and used “Launch EFI Shell from USB drive” and entered “setup_var 0x195 0x00” and it worked flawlessly… it showed that the previous value was 0x01 and now its 0x00, I restarted my pc and reentered “setup_var 0x195 0x00” and now it showed that my previous value is 0x00 so that leads me to believe it got saved.

High precision event pointer is now missing from the device manager so that’s a good sign, but QPC is still 10mhz, I assume that’s not relevant?

You’ve been really helpful and I am very thankful, please let me know if you’d like me to attach my bios dump if it’s of any use to you.

weird thing just happened, if I do bcdedit /set useplatformclock true then my QPC drops to 3.sth mhz but if I do bcdedit /deletevalue useplatformclock its back to exactly 10 mhz, I am confused because I assumed “true” means it will force HPET… which I dont even understand how it would happen if its disabled in the BIOS, and deleting the value would mean its using TSC which should be 3.sth.

@insicariushd - Yes, it can look like a lot or hard to do, but I tried my best to go slow and outline everything in easy step-by-step directions

The setup_var edit you made disable HPET from BIOS, so it’s done now, good work
Sorry, I forgot link in above, where I said here look at my testing results about QPC/BIOS disable HPET and BCDedit etc - [OFFER] Gigabyte Z390 M Gaming UPD + Completely Revised Blue Theme
Look at the change log area, and the image I provided. Yes, bcdedit /set useplatformclock true is the default that should be left not changed/disabled, this gives best timer results with BIOS disable HPET
See my image at link above, you will see all four possible scenarios and examples of what happens to timers with and without BIOS HPET enable/disabled + OS HPET Enable/Disable.

Bbcdedit /set useplatformclock true = means use default (HPET) and once this is disabled in BIOS this is not true/possible, so gives best result. If you disable that, then some other timer is used instead, and gives poor result.