[SOLVED] How to unlock BIOS options of rebranded TONGFANG chassis systems?

As per @Lost_N_BIOS ’ request, I am opening a new thread for support on this very popular TONGFANG GK5CN6Z chassis. Clevo also uses this as their chassis for many custom systems. Specs are as follows (ripped from notebookcheck)

Processor: Intel Core i7-8750H (Intel Core i7)
Graphics adapter: NVIDIA GeForce GTX 1060 (Laptop) - 6144 MB, Core: 1405 MHz, Memory: 8000 MHz, GDDR5, ForceWare 398.11, Optimus
Memory: 16384 MB (varies per rebranded vendor)
Display: 15.6 inch 16:9, 1920 x 1080 pixel 141 PPI, LGD05C0, IPS, Full-HD, 144 Hz, glossy: no
Mainboard: Intel HM370

There was a recent sale of this ODM at Walmart (under the brand Overpowered) where many people bought one, but were disappointed by the lack of BIOS options. Reading through all the various threads here, I think we are close to a solution (dumping and flashing seems to work in FPT), but I am stuck at unlocking the hidden menus in the BIOS.

Attached is all the files you will likely need to see what’s happening (BIOS screenshots, setup IFR, BIOS chip details, etc.)

BIOS is too large to upload (10MB), so I linked it to my Google Drive here: https://drive.google.com/file/d/17dZQrZ0…iew?usp=sharing

I will send the FPT dump upon request (as it contains some settings specific to my unit). @Lost_N_BIOS , I PM’d you the link to it. Please let me know what steps I need to take to unlock the second Advanced Menu, as well as the second Main and Chipset menus.

EDIT by Fernando: Thread title shortened and customized








setup IFR.txt (1.36 MB)

Please run MEInfoWin from Intel ME System tools package and show me end of report, or check yourself, do you see Measured and Verified boot say “Enabled” on the left FPF side?
Never rmind, I see it’s not setup correctly on the BIOS/ME side anyway (Intel bootguard), so cannot be active even if burned into the PCH FPF already.

* Edit - Please see post #133 for Final Mod BIOS -
If you need unlocked menus for any of these similar systems, and it’s not listed below, please post a request at the guide linked below, and provide your FPT BIOS region backup and or a stock BIOS for that system if you can.

*Edit & Update - Guide is now done and posted! And it includes the following systems as of 2/18/19
Avell A52-5 BS - GJ5CN6E >> BIOS N.1.10
CyberPower NB-408-109 - GJ5CN6E >> BIOS_N.1.04
MACHENIKE F117-B1/2 - GK5CN5Z >> BIOS_N.1.09
Machenike T90 GJ5CN6A >> N.1.03 + N.1.05
Mechrevo - GK5CN6Z >> BIOS_N.1.16
MECHREVO - GI5KN5E Avell - Deep Sea Titan X1 >> BIOS_N.1.03
MechRevo Z2 Series GK5CN4Z/GK5CN5Z (GK5CN4X5X) >> BIOS N.1.07
Medion Erazer X17805 - GK7CP7S >> BIOS N.1.53
OverPowered - GK5CN6Z >> BIOS_N.1.05
TONGFANG OP-LP3 - GK7CN6S >> BIOS_N.1.08 (Here is stock 1.08 package for everyone on 1.04)
XMG NEO 15 M18 - XNE15M18 - GK5CN6X >> BIOS N.1.09

OverPowered TONGFANG CyberPower Machrevo MACHENIKE - Unlocked BIOS Guide W/ Files

Gottcha … I can run it if you wish …

FWIW, BIOS lock is disabled on this already. Checked offset (0xA11) in RU and it’s 0x0.

No, it’s not necessary, BootGuard is not setup correctly in the BIOS side so it doesn’t matter, can’t be enabled on current BIOS even if it is set in FPF on chipsets side. You can look if you want, but I don’t need to know anymore for the current BIOS it’s no issue.
Yes, I seen BIOS lock is disabled already too, that’s visible in the IFR. I checked to be sure before I sent you back those test files, since you should flash those with FPT (FPTw.exe -bios -f filename.bin)

I deleted the last post from the other thread, I have attached the LP2 bios here. I have links to the LP3 bios but they are older versions of what I have now.

Thanks @nimaim I will split all this off tonight into your thread.

@pcfr33k - can you upload any/all stock BIOS you have, I’m not going to download 10GB to get a BIOS file, if you have LP2 and LP3 that would be great, thanks

There are a couple of them one STD and one with EC/Bios together. The STD one seems to have to correct file size of 16mb. I will post both of them, but neither one of them are current and unsure why they did not post a current one. Once you show us the method, I can apply it to the Bios I dumped from the burner no worries about any checks with that method. Won’t let me upload them maybe I have a limit per post but here are the links to the dropbox. These are LP3 Bios for the 17+ inch LCD version. I think the LP2 is for the 15 inch LCD, some of those models come with both kinds of Intel CPUs one with i7-8750h and i7-8300 depending on which configuration they choose, nimaim may know more about this?

LP3 bios:

LP2 attached

intel_CFL_GK5CN6Z_ESI_BIOS_N.1.05_EC_1.35.09_20181101.zip (5.13 MB)

OP-LP1 is essentially the OP-LP2 with lower specs (specifically, a i5-8300H and a GTX 1050). OP-LP2 has the i7-8750h and GTX 1060. There is a different BIOS for this I can also upload here in a bit. I am fairly sure the chassis between both are identical. In fact, OP groups them together in the manual on their website: https://www.opowered.com/support.html. OP-LP3 is the 17", as you’ve stated, with very similar specs but different chassis (this is based on the TONGFANG GK7CN6S). Therefore, this also has a different BIOS. My guess is the method to unlock all of them is the same so once we figure one out, we can figure out the rest.

I’ve been testing things with @Lost_N_BIOS on the side via PM, but to no avail yet. We will start posting here so it benefits everyone.

Sounds good something seems a bit different with this Bios we will see, may need some extra time studying and comparing it. I think disabling Optimus for me may be a lost cause, switchable graphics does not have enable/disable when loaded in AMIBCP, unless I am missing this feature somewhere in these menus.

Yes I noticed the same that there was no hard enable or disable for igpu/dgpu under that menu… Linux has it working (I can force Mint / Ubuntu to use one or the other with the Nvidia driver in their PPA), so it’s unfortunate it’s completely non working on Mac (which is also *nix based). Im guessing brew and Mac ports has no useful package for this?

Anyway we can only figure out what options are there once we really unlock this thing. Like I mentioned, things are scattered all over the place with this BIOS.

Primary display (SG, iGFX, PCI, PCIE etc) and disable internal (CPU) graphics all that is in the Chipset >> SA section, even while hidden if you change those settings in AMIBCP or IFR/Hex/Setup_var (Preferred/suggested method) they will be applied when flashed.
The main bad thing I see they did, is split out parts of the stuff usually all contained within the setup module, so now when you do find the other settings sections you can’t get IFR for all of them.
The mess in AMIBCP is normal, a bit extended in this one due to all those “Extra Options” subsections that are empty, but rest is usual mess and I’ve seen those 20+ extra options before too in Asus BIOS or Asrock BIOS.

Thanks for posting the stock images too @pcfr33k - the reason I wanted those also was stock/nearly empty NVRAM, which also holds a copy of enabled/disabled setup settings (all 00/01’s)
Once we figure it out (visible menus), the mod will need to be applied to stock images for you guys to share, otherwise people will be overwriting their system specific details with your details if passed around your modified dumps.
For now, anything you want to change settings-wise you can change via AMIBPC, IFR/Hex, or for anyone that doesn’t want to flash a mod BIOS they can use Grub/Setup_var to change default settings.

Whats with that AMIBCP, doesn’t like my mods, what am I missing? An example with quick setup mod using “BIOS 1.05 - EC 1.35.09 - OverPowered - GK5CN6Z” found here, the 5MB one, not the 5GB one.


We are still trying to figure it out… Yes it seems like the modified settings in AMIBCP are not sticking. And the normal means for unlocking the additional menus are also (currently) not working. Lost_N_BIOS is graciously looking into it for us.

I do not use AMIBCP for modding, I only tried it because it was mentioned. The Setup has been modified a little for some advanced settings but you would need to use something else to check that indeed that is the case, such as universalIFR IIR the name correctly.

This is what the setup looks like for me, well a small part of it.


Thanks for jumping in @CPL0 - I think enabling settings to be visible in sections that are already visible, or changing default values is not an issue here, with IFR/hex or AMIBCP. The main problem I have is exposing hidden menus (Second advanced, chipset, all the duplicate not currently visible menus).
I assumed this would need to be done in assembly since none of the usual tricks seem to be working. I suck in assembly, so still haven’t been able to locate the correct location to change the menu jumps, maybe your image will show me the way thanks
That’s where you would do this change correct, in assembly code?

I’m not sure what’s up with AMIBCP and your mod CPL0, did you try that newest version (5.02.0031 - 2017)? What are you seeing that you didn’t like, I rebuilt a test with your setup body and it seems to open properly for me in 0023 and 0031
In that file, did you expose the menus or only change settings? If you exposed all the hidden menus I can send them a build for testing. And if yes, please show me where if you don’t mind taking a minute, I have IDA Pro

Hi guys. I’m having very similar situation, however my laptop is not Overpowered OP-LP2, but CyberpowerPC Tracer III, which is also rebrand of a bit different model (GJ5CN6E).

My problem is that due to laptop design, when I carry it in my backpack screen will eventually touch keys on keyboard and laptop will wake from sleep. I can’t disable wake settings in windows, cuz Power Management tab in Device Manager is missing for keyboard as well as mouse. So I’m trying to flash BIOS with unlocked settings to try turn off this stupid wake ups.

Also, I’ve tried every method I could find on network but was not able to successfully implement any

BIOS: https://transfer.sh/mQPHK/GJ5CN6AN104.ROM
setup IFR.txt: https://transfer.sh/B1X7f/setup%20IFR.txt
setup.efi: https://transfer.sh/W6C3h/setup.efi

Looks like another TONGFANG Coffee Lake chassis … the BIOS is probably identical to ours … at least the menus look completely identical in AMIBCP. Like I said, once we figure one of these out, we can figure out the rest.

@pcfr33k maybe brought up a good point in that perhaps the EC is locking things down? We are not touching that chip through FPT and maybe it doesn’t like a modified BIOS.

I think it’s more so we cannot use AMIBCP for editing and have to follow the method suggested by @CPL0.

Wake Settings can be disabled easy in BIOS usually @truelecter - what did you try already that didn’t work?

You can disable Wake on LAN via grub / setup_var, did you already try that? Looks like it’s disabled already per the IFR?
One Of: Wake system from S5, VarStoreInfo (VarOffset/VarName): 0xE, VarStore: 0x1, QuestionId: 0x48, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 DD 00 DE 00 48 00 01 00 0E 00 10 10 00 01 00}
One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00} << 30 would mark default here, usually, but you can try to change in grub and see if it matters. Since it’s an optional thing, maybe there is not a default until you apply one.
One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}

Command would be
Setup_Var 0xE 0x0

There is lots of Wake options there (LAN, Voice, etc), I assume this is only one you need to disable to disable keyboard from waking it, but I am not sure. Is that the one you thought would disable it too?

I guess, although I write a little code, I’m no programmer and the only BIOS I have modded are the few on hardware that I’ve owned so I’m no expert there either. All I did with that setup file was cut and paste the second Advanced menu options into the first, leaving the second one empty. However when opening in BCP it looks just like the old one which doesn’t make sense to me. In theory the Advanced menu should now have the extra settings of the second Advanced menu.

Checking some of my other mods with BCP where I’ve added menu’s either has BCP crashing or that added stuff not being shown but it seems to work fine in the real world so I must be missing something I guess when doing this type of mod which so far hasn’t seemed to have had an impact but nevertheless is discerning.

I was only able to disable "Wake on LAN" in BIOS. There was no other settings related to wake up visible in BIOS

I just tried method with grub/setup_var and every option which contains wake (LAN Wake from DeepSx (0x9FF, 0xA08), Wake on LAN Enable (0xA06, 0xA09), Wake on Voice (0xF6E), Wake on LAN (0x119B), Wake from S5 (0xE), Wake on WiGig (0x53F)), but was not able to change none of them because "offset is out of range". Also, all the values of these variables was 0x0 except for Wake on WiGig which was set to 0x1.

@CPL0 - Thanks for stopping back in! I thought maybe you knew how to tear it all up in assembly Setup and AMIBCP don’t use same things, AMIBCP Changes are stored in NVRAM and it’s menus and layout are stored in AMITSE/AMITSE Setupdata.
Setup module is it’s own thing, so any changes made there will not be reflected in AMIBCP. How you did that with setup may work in some instances, probably all depends on the how the BIOS is compiled and how it’s loaded when in use, I’m not sure.

So you don’t do assembly editing? That’s where menu’s need unlocked in this BIOS, since setup mod and AMIBCP edits do not apply, and magic string is not in use here either
So I believe some JZ need to be switched to JMP in assembly so it doesn’t bypass loading the hidden entries, but I can’t find correct location yet because my assembly skills are nill It can always be done that way, but usually doesn’t have to because other stuff works instead.

*Edit - forgot to add, here is how setup vs what you see in AMIBCP is actually enabled in the BIOS

Main - 0x2711 (1st) & 0x2717
Advanced 0x2712 (1st) + 0x2718
Chipset - 0x2719
Security - (1st) & 0x2769
Boot 0x271B (1st) & 0x27AB
Exit - 0x271C (1st) (Save&Exit) 0x2715 (Exit)

All “(1st)” are visible in AMIBCP/Setup, these are the hidden menus. The secondary entries are the stock visible menus, not shown at “Setup” root selection in AMIBCP for this BIOS (but visible as you scroll down into setup), usually you see both sets at the root of setup

@truelecter - I assumed many hidden, you’ll have to try Setup_var2 with this efi instead - http://brains.by/posts/grub_setup_var.7z
Or edit setup via hex/IFR

Or you may need to change duplicate settings value in NVRAM via RU, if the above Setup_Var2 will not do it (It’s designed to change both at once)

Maybe it’s in EC, something with the power button/keyboard? I do not know how to edit that, but EC does sometimes control power related things.
I searched setup for Power and Wake settings, one above is only one that caught my eye as a possibility for what you mentioned.

Any ideas guys? I’ve scoured the Internet and tried most traditional means of unlocking the menus but to no avail. I’m willing to learn / try any other method.