[Request] Trying to get an eGPU working on a laptop

Hello,
I have been trying for months to get an eGPU to work on this laptop.
I have read and tried many things already.
The hot-plug is disabled and it seems to have a white list of devices, so it does not recognize the GPU.
To activate the hot-plug I have tried to access the BIOS. But the Phoenix BIOS is blocked against any unlocking attempt. Regardless of what the BIOS flashes, it is always blocked. I tried several things, nothing worked.
I can not do the modification of the BIOS configuration either using the UEFI Shell. I can not access the Shell, I only managed it using Clover but even after reaching that point I could not make any changes to the 0x89 parameter using “setup_var”.
So I guess the only thing I have left is to modify the BIOS and flash it already being modified with the hot-plug activated or with the white list removed.
I’ve been reading about it but I feel completely lost. I do not know what happened to continue with this project. I think all day if I’m omitting something and I do not know what to do next.

The bios I want to modify is for ES10II2. You can download here https://mega.nz/#!HsZ3nZZL!zfrX3JAt1Yzdb…LdfUwrOudYLI7no

EDIT by Fernando: Thread title shortened

Since you may not be getting to correct grub screen, is text all gray or some yellow? If some yellow, then it’s EFI Shell and not correct EFI Grub.
Try this method to boot to grub - [Help needed] Hidden Advanced menu Bios HP Z1 J52_0274.BIN (2)

As for the BIOS mod, I can possibly do that for you, will look as soon as I post this reply, but have you already flashed a modified BIOS? If not, you may run into issues trying to flash a mod BIOS, and in the end may need to either do pinmod or get a flash programmer like CH341A and SOIC8 test clip cable.

* Edit @idjaker - I see 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0X8E, 0x8F for PCI hot-plug ports, and since you may not be sure which is used in laptop, I set them all to enabled for both default ID’s on each entry.
If this causes issues, and you know for sure it’s the 0x89 I can set only that one in another mod if you want.
https://www.sendspace.com/file/whzez6

BIOS lock looks to be disabled by default - 0x17F
But, SMM Lock is enabled by default - 0xC4 << I am not sure if this is same or similar to SMI lock, but this may need disabled to flash mod BIOS

Try flashing your normal way, if that fails try below method.

Test by flashing the mod BIOS with FPTw using below command, after you extract if from the capsule (This must be done, if not you will get size error warning and may/will brick the board)
To do that, open BIOS in UEFITool, right click first entry (Capsule) and choose extract body, save as BP0024p.rom, then proceed with below test attempt
FPTw -bios -f BP0024p.rom

If there is an error, stop and do not try further, show me an image of the error showing command entered and error.
SMM lock may need disabled first as mentioned above, this will need to be done in grub (not EFI Shell)

I am not sure if this is AMD or Intel based system? If AMD, ignore the above about FPT method, it will not work for you.

If Intel, you will need to find ME version by using HWinfo64, in the large window on left side you will see ME section, there you will find ME version
Then you need to download Intel System Tools package matching your ME version from here in section C, inside you will find Flash Programming Tool (FPT)
Intel Management Engine: Drivers, Firmware & System Tools

Hi, I’ll be reading carefully all you said this night and follow your steps. In advance this seems a lot of help to me.

edit:



Yes. I got the grub screen. I typed setup_var and it recognized the command. But it just said something like "Looking for setting" and nothing more.



I knew about the flash programmer yesterday. I hope to not need it right now, even that I will buy it soon, because It takes me about 2 months to receive items from ebay in my country. If in some point I have to stop and wait for the items, then I’ll wait.



I used to be pretty sure that the 0x89 was the one I was looking for few months ago. I’m not that sure now. Maybe it will not affect at all to have all the ports activated. Thanks for modifying it.!



It fails normal way.

I tried flashing normal way but it dos not let me do it. Does not show me an error for that.
I did all the things you said and now I’m in this step: https://image.ibb.co/i29gb9/warning.png
Should I proceed?

@idjaker I still say, maybe is not the correct grub screen if you see yellow text ever, or if you get the error you mentioned “Looking for” and never finding. This tells you right there it’s not correct thing, it wouldn’t “not find” what should be right there
EFI Shell and grub shell are not same, and if you go to grub through EFI Shell first I don’t think you get the same/correct access to the setup_var variables. I’ve seen that not working before, from the wrong EFI Shell/grub

It takes a long time for me too, ordering from China, some sellers are quicker than others, sometimes only 2-4 weeks, other times 5-8 weeks.

Sorry stock flash method failed.

No, DO NOT proceeed I already said don’t proceed if you get warning or yellow text about size etc. Since method I mentioned still gives you size error, lets do this. Run this command with FPT, and then I will modify that file, and send back to you, then we wont have this error
FPTw -bios -d biosrgdump.bin

Send me that file ^^ and I will make you new mod, thanks!

Yes I think you’re right. https://ibb.co/eBrzyp It’s a grub but I managed to get it using easy2boot and clover because since my bios it’s blocked I can’t just make a UEFI boot. I guess it’s not the same and that’s why it does not work for me haha

Here’s the dumb file:
https://mega.nz/#!CwBxwCZK!iZ4R81CxP8wte…bYn5N-oV0NXgkag

https://image.ibb.co/iBWkop/flash.png

Thank you!

@idjaker I’m not sure why it doesn’t work no matter how you get there, but something causes it to not work properly unless you use it/load grub a certain way? But yes, that first image should have much more than just “looking for variable”
Do you get the same/similar if you type only >> Setup_var 0x89

It should reply back with current variable 0x89 setting value, like Variable 0x89 0x2 etc (Can’t remember exactly how it looks, but I know if you run above without a variable value it reports back current value)

I’m not sure if you’ll be able to flash back this BIOS region, due to SMM lock enabled, but we’ll try. Do you get same incorrect looking output if you try to unlock the SMM lock using setup_var grub? Setup_var 0xC4 0x0
If yes, try this >> Setup_var 0xC4 0x0 0x0
And >> Setup_var 0xC4 0x1 0x0

I mention trying this due to there is two “default ID’s” for each setting in your BIOS 0x0 and 0x1, and then setting for each under that, normally there is only one ID or none, and then just the setting values below that.
So maybe it’s not finding these due to ID not being part of the command, I’m going to try and find more info on this, the above probably/may not be correct way to input Default ID values either it was just my guess. I’ll try to find more on this tonight!
*Edit - found something else to try in my initial search about these two defaultID’s, you can also try setup_var2 instead of setup_var - unrelated to my search for how to enter variable when there is two default ID’s
See also, this for modified grub file with setup_var2 and setup_var3 (Release tab has the download, also follow that setup_var2 patch link to second version on Russian site)
https://github.com/datasone/grub-mod-setup_var

Here is image of what I mean, in case you have not looked at the IFR for your setup file (platformHIIAdvancedDXE)

Default-ID-x2.png


And here is a random IFR from another BIOS I grabbed as quick example, this one has one default ID so nothing needs entered when changing value at grub except Setup_var variableID Desiredvalue

Default-ID-Random-Single.png




Here is modified BIOS region from above file, this should not give you any error in yellow about size when flashing back, if it does stop!
If you get this flashed in, it also has SMM unlocked, along with the mod you requested, so next time you wont have to unlock SMM Lock
https://www.sendspace.com/file/8pelul

Flash using >> FPT -bios -f biosrgdumpM.bin

Show me image of the process, success or error, thanks.

Before trying flashing the bios I tried using the grub. It keeps looking the same. I don’t know what’s happening, maybe it’s because the bios is locked, but I tried with 3 UEFI Shells versions and I also did boot the efi file from HDD (ntfs and fat32 partitions) and from USB. https://image.ibb.co/nBopG9/setup-error.jpg

At this point I hope that flashing the bios work just fine :smiley:

And here we are https://image.ibb.co/c7kGUU/Protected-Range-Register.png
The description is terrifying. Any hope?

Did you try the Setup_var2 modified one I mentioned/linked? Error 28 is normal, it’s a lock, like BIOS Lock or SMI/SMM lock, but worse. That one is not easy to change from my end, you will need flash programmer or possibly one of the other methods might get us there.
Back on the grub, even with working and unlocking the variables we wanted, you can’t get around the PRR lock that way.

You can pinmod the board and unlock the FD, I think that will allow you to write entire BIOS using FPT, but it’s a live short on the board so up to you >> Section E
[Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

Read that entire section, especially about jumpers, since your board might have jumpers too (2-pin, usually labeled FD, FDO, ME, Service etc)

Before you do any of this, so I can further advise you on options in case you get some/one of the above methods accomplished, what system is this?
If you do get the pinmod done, or have jumpers on the board, dump the FD like this and send to me >> FPTw -desc -d -fd.bin

Or, this is what you need >> CH341A - $2.50 on ebay + SOIC8 test clip and cable - $3.50ish on ebay. If BIOS is socketed DIP8 type, you do not need SOIC8 test clip cable, only the CH341A flash programmer.
Or you can also purchase cheap kits like EZP2010 or EZP2013, maybe you can get those shipped to you quicker? Sometimes on Amazon or Newegg like places you can order the CH341A faster than ebay/China order too.

*Edit - after further reading, I think even if we can unlock FD via jumper or pinmod and re-write the FD, this does not help with the PRR lock. The only way around this is hardware programmer, sorry
The BIOS can be edited to remove the PRR lock possibly, but that only helps with future modified BIOS flashing.

It may be possible to update using a non-OEM version of winflash (This is the stock flashing tool, but OEM version included). Do this will the full BIOS I sent you initially (not modified with UEFITool as mentioned below)
Or you can try the stock included winflash32/64 with this command line >>winflash32 /v /sd /sn /sp /sv /svs /sa /nodelay /cac /file BP0024p.cap

If that fails, try same again but remove /cac

You can also try the 1.94 version of winflash from here, with that use the full version BIOS I sent you previously, but open in UEFITool and extract the body, so you have bin or rom file (same)
https://soggi.org/motherboards/bios-upda…h-utilities.htm

Well, maybe I don’t have more options. I’ll look for the hw programmer right now. Fortunately I learned a lot and I hope I have not omitted anything.

I tried the setup_var2 too and it keeps looking the same.

What system is this? It’s a Intel Classmate PC, ES10II2 - Beach Point (aka. Canaima Letras Rojas) with Windows 10 OS. The CPU it’s not the worse but the GPU it’s really weak, so I’ll put a GT 610 as a eGPU, and I didnt said it before but what I want is to use it as an entertainment device fitting it to a tv. Someday.

Stock winflash does not work https://image.ibb.co/hvh4G9/intentostock.png I tried deleting all the invalid commands just to see what happend.

The winflash from the page says Onboard bios not Award bios https://ibb.co/gwLib9
I also tried it with cmd and then it said Error Parameter https://ibb.co/f35Gw9

I see that there’s a Phoenix Flash Tool at the page so I tried with that https://ibb.co/n8EWUU but it says another weird error.

The only one thing I did not try it’s the pinmod, as I know there’s not jumpers at this netbook motherboard. But you told it will not help so I’ll do it just to see if a can reach the bios options or make a direct uefi boot, but HW programmer it’s now the only option I know it could work.

Thank you for all the help you gave me, you are awesome. I’ll be here if I make any advance.

edit: I’m already waiting for the flash programmer :slight_smile:
this adapter it’s in my local market, it could work? https://articulo.mercadolibre.com.ve/MLV…00mil-127mm-_JM

update: I was looking for more information about using flash programmer. I disassembled the netbook and look for any interest chip. For the pinmod I found a Realtek chip with the correct number of pins but it’s so tiny that I don’t know if a can short them properly. I must forget about it? It’s also downside of the motherboard.

I found a TPM Nuvoton chip. I read that security certificates are stored there from a “Intel Theft Deterrent Server”. And can be shorted (someones says that it can’t) to bypass that security when the bios does not let you make a OS boot.

Must important. I found a Winbound chip at the upside of the motherboard. I guess this is the one I want flash with the programmer. I can’t read it but I guess it’s that one. It has the 8 pins and it’s near to the chipset.

With winflash you need to use the whole first BIOS I sent you, not “BIOSBody”. It was in this folder >> Beach_Point_BIOS_BP0024_v1.02.02-Mod >> Named same as the stock BIOS (Date modified 10/11/18 12:28AM)

Pinmod wont help with the PRR error, it would get around other locks though that we were trying to unlock via grub, and a few others we did not address because they hadn’t caused issue yet. It’s nothing to do with jumpers, you’d be shorting an audio chip’s pins.
Yes, Realtek would be the one to short with pinmod, but like I said towards the end, I’m 99.9% sure this does not get around the PRR locks in this BIOS. Pinmod only unlocks the FD (Flash Descriptor), which we haven’t had issues with anyway

And yes, Winbond chip is most likely the BIOS, you’ll confirm with a dump once you get programmer but this is a BIOS chip brand so very likely that’s your BIOS.

That part you linked at Articulo site, it’s only for holding a spare BIOS chip to put into a programmer. You can use, later, but it’s not what you need.
This is what you need (CH341A flash programmer) - https://www.ebay.com/itm/312201171958
And COIC8 SOIC-8 test clip and cable - https://www.ebay.com/itm/272226643559

I tried to find either at that site, but no luck. I did find this kit though, it has all you need in one kit, but I can’t tell price is w3ay too high or not, or if it’s all included etc because that’s not in my language
https://articulo.mercadolibre.com.ve/MLV…a-velocidad-_JM

I followed your instructions carefuly again. Nothing new.

I did already buy this item https://www.ebay.com/itm/282653195959 it could work the same?
I’ll buy the testing clip as soon I can. https://www.ebay.com/itm/191882876788 This cheapest one looks the same, it’s ok?

Talking about MercadoLibre. It’s so funny. It cost like 30$ and it is just the programmer. The guy says that the clip it’s for “reference”.
So just not. It’s fine, will take me like 2 months but eBay it’s so much better. Even if I have to make the order again or change the item. Trust me, it’s fine. Thank you.

I may be able to unlock the PRR protected range register error, I forgot I knew how to do this sometimes. Give me some time and I will get that figured out in your BIOS, maybe by tomorrow night, heading out right now or I’d do now, sorry.

Yes and yes, for your ebay links, both of those are all that you need, and it only costs less than $6-7 for everything. Even if I can unlock the PRR for you, you’ll still need to write that BIOS with a programmer to the board before it will be unlocked.

Wow, yes, $30 is too much for that kit, especially without cable. you can get those kits on ebay with all contents for $10-15 for the 2010 and I think under $20 for the 2013

Oh, thank you. I’ll be in touch.

I can’t figure out the lock, sorry, there’s too many other redundant BIOS protection locks also in there That just means you’ll have to use programmer any time you want to write mod BIOS, not a big deal.
Once you get your programmer and get a verified dump, send it here and I’ll redo the original mod again on your dump, that’s better to do. Are you sure that’s going to fix the issue?

Hello, well it’s better to just use the programmer at this point anyway.

What I want to do is see what’s the best hardware improvements I can do to this system. I thinking about HDD, RAM, CPU and GPU. The GPU, as the weaker point, it’s the first thing I try to figure out.
I did before a eGPU installation to another Laptop. In that case the hotplug was also disabled but it does not have a while list. So all I had to do was put the cable and turn it on.

In this case the netbook have too many locks and also a white list (I guess) so when I tried the same method it does not recognize the eGPU installed.

Returning to the paper the best thing could be remove the white list so everytime I turn on the system it recognize the eGPU, in theory. When this is not posible the only option is enable the hot plug/hot swap. I tried this method before: https://egpu.io/­forums/­express…ore-tia­no/ but as you saw I was not able to modify anything.

If I manage to make the eGPU work I’ll think about replacing the CPU. I have already injected microcodes in cases in which a CPU is compatible but the motheboard does not recognize it completely. Probably that is necessary in this case. Another thing that worries me about locks is the possibility of overclocking the CPU. Perhaps unlocking the BIOS can later review these settings, maybe SetFBS or the intel tool could work. Of course taking care of the cooling system.

I am also worried that in the same whitelist that I suppose there is also blocked the possibility of starting the computer using a different CPU. Experimenting with this could be tricky. Of course I say this because of the inconvenience that the CPU is BGA.

Having said all this, I believe that in an ideal world the BIOS should be unlocked with the deleted whitelist and all the possible CPU micro-codes injected for its architecture. To prove that all this will work I will need time and money to be able to afford the effort, so for now I only think about making the eGPU work. Without that I do not think I want to move forward or make any other adjustment to this device.

I find this project especially interesting because in my country hundreds of thousands of these devices were distributed. They are resold at very low cost and there are always many people trying to play with them as best as possible. If everything I think is going to work I can make a step-by-step guide for those more enthusiastic who want to do the same project and learn a lot in the process.

I think I’m on the right path thanks to you.

Could you tell me if there is a guide to better understand how to edit settings in the BIOS? I have an idea but I would like to know what is the procedure to be able to experiment with other adjustments in the future and help others as well.

I have no experience with eGPU? SO I can’t help there. I can’t really help with whitelist either, I read about it before and tried on one BIOS and was not able to see anything the guide showed me, so maybe wrong guide?
It was this guide - https://www.bios-mods.com/forum/Thread-G…rom-Insyde-BIOS And looking at it again, it wont help with this BIOS due to cannot open in EzH2O
I can usually follow along pretty well, so I was surprised when I couldn’t do anything, I summed it up to maybe that guide or that particular BIOS. Do you know for sure this BIOS has a whitelist and I should look into that for you?

I don’t know of any guide to edit settings in a BIOS like this, sorry. No GUI type BIOS tools I have found work on this BIOS either (AMI or Insyde ones) Only extract modules via UEFITool and then get IFR to view settings and edit via hex.

I guess there’s a white list because when I tried to boot putting a different device in the minipcie port the port does not work. It does work just with the stock device. That’s why I want to enable hot plug. I’ll replace the device while the PC is on. Following guides and comments at egpu.io this seems to work.
If at the end we can just get the hot plug to work this project will be successful. But this must be a issue caused by a whitelist. I’ll look for some info about that.

I’ll try to understand the modules extraction method.