ASUS Z170 Pro Gaming & Z170-A / Z170-P BIOS + HPET Option

The BIOS ver that im on is 3401
Support page for the specificed motherboard:…pDesk_Download/
I’m curious whether it’d be possible to unhide the HPET funcionality? Really confused on why its hidden in the first place.

I will look into this for you. I know I can change the default from enable or disable the opposite, but as far as making visible I am not sure.
I have this board myself, so will be able to test edits much quicker in person and recover from brick easy if needed as well, so I will get it all sorted out here on my end before sending you anything, leaving you nothing to worry about when flashing!

I been needing to figure out this type of change with 100% certainty for Aptio V on my end anyway, so you’ve just given me great chance to get this board setup and figure it all out.
Please be patient, and know I am working on this, since I wont post any test BIOS for you to try as I work it out.

*Edit - OK, while we’re doing this, is there any other settings you want made available? Let me know and I’ll try to get them all added, shouldn’t take long either now that I’ve tested a few

Thank you sooo much for looking into this case, I truly appreciate your work. I wasn’t even expecting a reply tbh lol. (I saw your posts helping other people)
Right, is there an option for enabling or disabling USB 2.0 support? because no matter what I try, I can’t get 2.0 drivers to work or function on this bios.
You’ve said that you have this motherboard too, have you discovered any interesting features yourself?
If there isn’t an option for revealing HPET like providing the functionality of enabling or disabling it, then the ideal situaton would be just leaving it on disabled, and if I want to revert back, I’d just flash to stock BIOS.
While I was writing this, my mind has stumbled upon energy savings could there be any hidden options related to that or there is only the regular speedstep, c6, c3 states etc?

You’re welcome, and as I mentioned you caught me at just the right time when I needed to do something like this anyway, so perfect timing

Right off the bat I see, inside USB configuration, USB 2.0 Controller mode - hispeed 480mbps or full speed 12mbps, default is HiSpeed. 2.0 drivers?
Never heard of such a thing, usually that’s all windows, maybe you tried updating too many drivers and broke something? Have you tested a clean install?
No problem here, 2.0 works fine, two black ports up top beside the PS/2 port are 2.0. I use those for mouse/keyboard right now. Do you need me to check 2.0 device on some certain ports?

HPET already visible now, so you’re set on that. Here’s a sneak peak while I tinker around



I think there’s been some fudge floating around maybe? All of a sudden lately I’ve seen lots of users mysteriously wanting this disabled, when we’ve all been fine using it for last several years.
Enabled or disabled you wont notice any difference, maybe tiny effect in some random benchmark that someone noticed an issue in. Or has their been a magical discovery we’ve all missed while using it the past decade or so?
If yes, please show me. I’m joking around of course, but really this has popped up a lot lately and I’ve been wondering why

There is literally 100’s of settings hidden, so unless you need something specific then we’ll just do a few, I can’t really enable them all it would take forever.
I will look at, and enable a chunk of power settings for you, if any look worthy of being able to conserve power usage.
I know if you limit TDP the power will be less, but that can also downclock your CPU when it happens too, so may be a struggle there between saving power and having fast system

Do you want microcodes updated to latest?

Hey again, I’ve noticed that you discovered even more options which is amazing, and it is true that you wont notice a lot of difference by disabling HPET, but ill try my best to explain the reason behind it.

First of all, HPET is a system/hardware timer just like LAPIC, 8254, RTC etc.
We can check whether it’s in place or functioning by using programs like CMD or WinTimerTester
First option is using the CMD and specifying a command "bcdedit /enum all /v"
Second one is, using an external program that checks your hardware timer by executing GetSystemTimeAdjustment() like this:


Now that we’ve identified the frequency of the system timer, we can assume that HPET is disabled but not fully since the frequency is mixing up a little
True HPET = 14.318MHz
TSC+HPET = 3.8Mhz
TSC+LAPICs = 2.76MHz
TSC+LAPICs = 2.76MHz.

The reason why this case is weird, is that we really don’t know how the “z170 pro gaming” handles HPET when the value is left on default through the BIOS and this is the main reason why I really want to mess around with it

We can identify it in the device manager, by running devmgmt.msc through the windows run, and sorting the resources by connection in the view tab
Upon opening all of it and checking the properties it says: “there are no drivers installed for this device” which shouldn’t even be like that, when properly disabling it from BIOS, they shouldn’t even exist



Finally, you can try disabling them from command prompt by using the following command:
bcdedit /deletevalue useplatformclock

But then again, it’s no use since the BIOS doesn’t provide you with the option to do so, and don’t take my word for granted, you’ll have to test stuff for yourself, I’m really doing this to achieve perfection in my OS, it varies from person to person and the ideal way to test things for stability is to have bunch of benchmarks ready, DPC latency measuring, Frametime measuring, and so on.

The reason why I can’t get USB 2.0 working on this motherboard is still unknown to me, the USBPORT.sys just doesn’t show up, I guess it’s because I slipstreamed USB 3.0 drivers into the OS while installing W7 on skylake haha
Oh, and by the way I don’t really need any energy saving options, I just want to disable most of them
If by updating the microcodes you mean, inserting the ME vulnerablity fix (?), then by all means no, since it oftens degrades your performance, and I only want to achieve maximum performance, without any hardware limitations

Thanks for the detailed info! Yes, maybe USB 2 issue is due to your slipstream, try again new OS without that adjustment and fix the USb3 issue post install, or slipstream via another method.
For me, updating a system like that and wanting setup how I like for clean installs, I use ImageX and sysprep to setup how I want it then grab a new install.wim image to make my installer from.

Yes, I meant CPU microcodes, they don’t always affect all systems, you have to test your specific setup and see if it hurts performance or not. But, for now, I will leave them as-is on the older stock microcodes.

Here is BIOS, hope this covers everything you needed, if not let me know! Flash using FPT, or one of these methods - [Guide] How to flash a modded AMI UEFI BIOS

You may need to rename it, USB Flashback recovery name for this BIOS = Z17PG.CAP

Hello once again, I can’t seem to flash my motherboard no matter what I do.
First of all, I’ve tried manually renaming it to Z17PG.CAP, then I downloaded a software called “BRenamerl”, that still didn’t work
Unfortunately my motherboard doesn’t support “USB Flashback” hence it doesn’t have any flashback ports attached to it.
Then I tried AI Suite 3, and that bloatware didn’t even have the feature of flashing a BIOS file it didn’t seem to have EZInstaller attached to it, I’ve tried multiple versions but the old ones just seem to crash.
I then proceeded to search the “AFU tools” provided by AMI, but couldn’t find any source to download it from, perhaps you have the link?
And now I’m stuck with 2 options it’s either the FPT way that you’ve mentioned before, or the AFU tools. (I dont have any source to download the files from)

UPDATE: It seems that I’ve found where to download FPT and I’ve successfully backed up the BIOS region by inputing the following command: fptw64 -bios -d z170.bin
now, how do I flash it?

@Syntractrix - sorry for not covering all bases when I explained about how to flash, I assumed you already were familiar with BIOS mod and editing/flashing etc.

Here’s how to flash the BIOS with FPT >> fptw -rewrite -f 3401M22.rom

Please download again, unless you have unmodified copy, I do not know what all brenamer does and it’s only needed when going from .rom to .cap BIOS initially - nothing to do with what we’re doing here

Any ideas?


@Syntractrix - sorry, first off I just noticed I didn’t fix the FIT table after editing first BIOS you have above (This does not deal with the flashing issue, but rather microcodes and is important).
Please delete the original file and now use this one instead -

This error means your FD or ME regions are locked, or both or some other region, which means you can’t write to one of the BIOS regions - you can verify which by checking with the three following commands
From section D in this thread - [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing
fptw -d spi.bin << This attempts to dump/backup entire BIOS, same as the above flash command that gave you error, so you will probably get error 368 here too, but test
fptw -me -d me.bin << this attempts to dump the ME region
fptw -desc -d desc.bin << this attempts to dump the descriptor region (FD) This is where all the read/write locks are stored, if entire BIOS dump errors at 368, and ME dump does too, then this likely will as well.

Then try this, dumping the BIOS region only (This is all we need to update for this update anyway)
fptw -bios -d desc.bin << this dumps “BIOS” only region, this should complete without error.

Here is how to update the BIOS region only, all we really need to update in this instance. And this is using the new file name too, please download this file and use instead, so you have corrected FIT table for CPU microcodes
fptw -rewrite -bios -f 3401M22FixFIT.rom

haha, it still doesnt let me flash the .rom file, here are the errors:
fptw -d spi.bin, fptw -me -d me.bin Gave me Error 368
on the other hand fptw -bios -d desc.bin, fptw -bios -d desc.bin worked



OK, so I “think” you are locked out of writing to ME region, but you can write to the description region, but I am not sure due to what you said and what you didn’t say/show

You’re images are confusing since it does not show everything, and your text description report tells me wrong info due to my naming error above (@ dumping the BIOS region only) sorry!, so I am not totally sure what you ran and what the output or errors were.
Can you please run this command again, in it’s own window and add image of only this and upload it’s file output (Delete all others before doing this, so there’s no confusion which file you need to send here).

fptw -desc -d desc.bin << this attempts to dump the descriptor region (FD) This is where all the read/write locks are stored, if entire BIOS dump errors at 368, and ME dump does too, then this likely will as well.
^^ this one most important right now, if you can dump this without error we can fix by editing and reflashing this, thus removing all locks ^^

here’s the file: of the following command: "fptw -desc -d desc.bin"
though it’s only 4KB I don’t know why

Thanks, that’s exactly what it’s supposed to be! If you’re reading this now, give me a few minutes and I will have file here fixed so you can flash

Surprised you didn’t get it, the above should have allowed you to flash the BIOS region only, the last command I gave in post #10.

But maybe the rewrite is causing some issue due to the FD having some locked regions? Also, just in case, this has ME Re-Flash enabled, but that should only be used by Asus BIOS flashing tools (Built in EZ flash or USB Flashback).

But, in case that was stopping it, or the rewrite I fixed that and the command too, thinking maybe the rewrite is causing some issue due to the FD having some locked regions possibly.

Download this file, run this command.
fptw -f 3401M22FixAll.rom -bios

Also don’t use fptw64, use fptw only, I’ve seen x64 cause random error when it shouldn’t, fptw will be fine and is suggested.

The same problem persists, I think that I’m doing something wrong, I used the 32 bit version.


I downloaded the fpt from the section: C2. Intel (CS)ME System Tools in this thread Intel Management Engine: Drivers, Firmware & System Tools

which was this one:

Intel CSME System Tools v11 r14 - (2018-08-09)
For 100/200/Z370/H310C/X299/C400/C620-series systems which come with CSME v11 (Is this correct ?)

You have ME 11 correct (Verify in BIOS, F7 main section = ME Version), if yes then that is correct FPT

That’s messed up, it says you need to disable write protection for the BIOS region and this is never disabled by Asus and it’s not disabled in your BIOS currently either, so there should be no protection for the BIOS region to disable!

Let me flash with FPT on my end and figure this out, it’s probably me and not you - I mean I am not super familiar with FPT because I always use a programmer myself, so I may be screwing up the command (Going by many posts on usage though, so it should be correct)
Give me a bit and let me figure it out over here with FPT or (USB Flashback). Sorry for the delay on this!

Try this while you wait on me, not sure if we tried this exact way yet? Make sure your in admin command prompt (you was previously, so same way)
fptw -bios -f 3401M22FixAll.rom

I will checkout flashing from BIOS first, then FPT - working on this right now.

I put your descriptor in stock BIOS and programmed it to my board, so aside from missing all my board details UUID, serial, LAN MAX etc my board would be in the same state yours is in now for this flashing process.
The only difference in your FD vs stock is ME region is set to no/no for read/write and stock is set to yes/no read/write. We aren’t updating ME here anyway, so this is of no concern, but I noticed it so mentioning, unsure how your FD got set that way.

While you’re having these issues, think of the future and all the BIOS mods you might want to do. Good starting point is picking up a CH341A flash programmer, that’s all you need for Asus boards, and they cost $3-4
Get green or green/blue, don’t get black gold - here’s cheap one, will take 2-3 weeks or more to get to you, but you can purchase for 2-3x this price locally usually. - choose blue model

Will report back soon with my findings!

* Edit -

I couldn’t get AFUDOS (Even ES Versions w/ GAN) or FPT to work, damn Asus!
You need a programmer from now on, it’s so cheap anyway, then you can update more of the BIOS such as ME and microcodes etc later if you want.

I was able to get this EZ update / AI Suite to work for me…

I unselected everything but EZ Update, let it reboot and it ran fine. If you can’t get that one to work, maybe you may need .NET installed? That version works OK for me, if you can’t run it, update windows or first install .NET and JAVA incase java is used?
I ran it on a testing system I use, not updated with recent windows updates, but I am not sure the latest update install date (Sometime in 2016 from my WIM image)
I do have JAVA 5 update 5 installed, and .NET 4.5 along with a bunch of C+ updates probably due either to .NET install or some of the 3D Mark Benchmarks, so maybe one of those makes it work OK?

Here, no matter what only use this new BIOS, edited once more back into a capsule and new .rom too. Throw away all other files, I noticed a settings error I missed previously.
When you get programmer you will write the .ROM file to the chip with programmer

Anyway no matter what I did, when I replaced the file using AI Suite before clicking update or after update and before flash, it always flashed the stock BIOS

You’re going to have to get a CH341A flash programmer

Hello, both of you,

It’s been a while, i was looking around internet to get HPET options in bios of ASUS Z170 ProGaming,
I just found this thread and im curious if you can do the same for me?

my bios version is unfortunatly not the same as Syntractrix so I can’t use the .rar you uploaded.

my version is 3805

I would take any tips to restore my bios version to 3401 or anything if you can’t unlock HPET on 3805 bios,
anyway I would like to thanks you


Do you already have flash programmer? If not, order one now as mentioned above. I will make you BIOS tonight, and re-look into this flashing issue too.
BIOS region should be able to be flashed via AFU at very least

Still working on trying to figure this out, I haven’t forgot!! 8-18
Going after this method now!…comment=1944166

Even AFU /recovery or /capsule methods do not work around this lock issue! AFU /GAN is a no go option here due to BIOS being too new to work with the older AFU ES versions (2.2, 2.3, 3.06) that support /GAN
If anyone reading this has modern AFU/AFUWIN that support /GAN and works with Aptio V based BIOS please PM me, thanks

@xetek & @Syntractrix - I figured it out! But, due to time is short for me tonight, I will have to write you out tutorial tomorrow! It is easy though, once you know what to do.
Flash right from windows using FPT, tested and confirmed working too!

@xetek & @Syntractrix - new mod BIOS 3805 will be here soon - Many settings unlocked, left CPU microcodes as they were in stock, if either of you guys want either of these BIOS with updated microcodes to test and compare let me know.
Coming as soon as I get it done, will edit this out when finished, but wanted to give you guys update here as I posted the guide. Fixing new BIOS for 3401 and 3805, so you may want to wait to flash 3401, or just reflash new once I’m done (More options available now!)

And here’s how to fix this flashing issue. This FPT 368 error is due to “BIOS Lock” bit set in the BIOS itself, and this method can be applied to other BIOS HSFS register type locks such as SMI Lock, GPIO Lock, BIOS Interface Lock
[GUIDE] Grub Fix Intel FPT Error 368 - BIOS Lock Asus/Other Mod BIOS Flash

Good thing I showed how to on the IFR stuff, as soon as I posted that and updated to 3805 for testing, I found it’s BIOS uses a different value to set the lock bit, so guide updated already.

Here is new MOD BIOS, both included here 3401 and 3805, no changes except settings revealed for many things, and then FIT table corrected post edit (no CPU microcode changes, hence two of three are out of date)
*Edit - New link >>…811791740761879

@Lost_N_BIOS Hi, can i use your modded 3805 with Kaby Lake (7700k)?