[GUIDE] error 12/43 & other detection, bootup, stability & performance issues
mPCIe and NGFF/M.2 eGPU internal interfaces are often more troublesome getting going than externally pluggable expresscard or Thunderbolt interface. In this article are listed common error 12/43 & other detection, bootup, stability & performance issues and how to correct them in order to get mPCIe, expresscard, or NGFF/M.2 eGPUs working. This content being generated from seeing many of these same recurring issues experienced by offline users.
Set the PSU to be permanently on to help detection and error troubleshooting
BPlus eGPU and EXP GDC eGPU adapters by default only enable PSU power upon detecting a PCIe signal. This can cause a race condition where the eGPU isn't ready to go when the PCIe CLKRUN signal is asserted.
The fix is to jumper the PSU so it's permanently on rather than being eGPU adapter managed.
If neither of those switches is available, then manually power ON your PSU with these instructions:
Doing this will greatly assist further troubleshooting.
1. eGPU is detected but has error 12. See these software solutions:
2. i) error 43: NVidia driver 372.90 or newer with GTX10xx or RTX20xx cards on mPCIe/EC/M2 interfaces
ii) error 43: incorrect eGPU initialization due to PSU mistiming
Use GPU-Z software to check if your clock information is being reported correctly. If not, then your eGPU isn't initialising properly. This can happen due to incorrect clock timings. Ensure you have set your PSU to be permanently on as per previous step.
iii) error 43: running a NVidia dGPU and eGPU
If you have NVidia dGPU as well as NVidia eGPU then it's likely because of having the mobile NVidia and desktop NVidia drivers loaded simultaneously. Proceed to disable your dGPU, uninstall ALL your NVidia drivers, use "DDU" to disable automatic driver installation and clean NVidia registry entries. Then do a 'clean' install of the latest NVidia desktop driver.
iii) error 43: poor signal/cable quality
Downgrade your eGPU link to Gen1 using BIOS options or nando's eGPU Setup 1.35. Or test a different eGPU interconnect cable. Or try other signal-improving solutions as listed below in The eGPU stops working after some time of use section.
3. A black bootup screen or ACPI_BIOS_ERROR windows bootup BSOD
Here the BIOS doesn't know what to do or mangles the ACPI when it sees an eGPU. The latter preventing Windows from loading successfully. So the solution is to not let the BIOS see the eGPU. A couple of ways of doing that as below. The PSU must be set to be permanently on as described above for this to work.
1. Set the delays on the eGPU adapter (PTD - EXP GDC or CLKRUN/PERST# on PE4L/PE4C). Boot into Windows or nando's eGPU Setup 1.35. Is the eGPU detected? Note: if this bypassed the black bootup screen then you'll probably find a reboot will again black screen the system. This delay works when doing a cold boot from the system being powered off.
2. Start the system without the eGPU adapter interconnect HDMI cable disconnected(eg: between eGPU adapter and EC/mPCIe/M2 end).
- halt Windows bootup with F12/F8 attach your interconnect cable. Is the eGPU detected in Windows device manager?
- or boot into nando's eGPU Setup 1.35 , attach your interconnect cable, hit F5 to scan for the eGPU. Is the eGPU detected?
3. With no eGPU attached:
- halt Windows bootup with F12/F8 hotplug your eGPU adapter interface. Is the eGPU detected in Windows device manager?
- or boot into nando's eGPU Setup 1.35 , hotplug your eGPU adapter interface, hit F5 to scan for the eGPU. Is the eGPU detected? If the eGPU isn't detected, bootup with wifi connected into nando's eGPU Setup 1.35, hotplug your eGPU interface, hit F5 to scan for the eGPU.
4. mPCIe port that hosted the wifi card disappears when connecting an eGPU in it's place
5. i) eGPU dectection: mPCIe/M2 eGPU doesn't get detected
Likely due to BIOS whitelisting preventing the port from being enabled when a non vendor device is detected. Overcome by booting with the wifi card and then hotswapping in the eGPU. That way the BIOS will enable the mPCIe port to work. A few ways to do that:
1. Boot with wifi card into Windows, sleep system, swap wifi card for mPCIe eGPU adapter and ensure eGPU is powered on, resume system. Do a device manager scan in Windows. Is the eGPU detected?
If this enables detection then avoid this tedious hotswapping by seeking a unwhitelisted modified BIOS for your system from say http://www.bios-mods.com OR test the nando's eGPU Setup 1.35 PCI ports->undo_whitesting feature.
ii) mPCIe: eGPU still not detected - a non-standard vendor port implementation?
PERST# mPCIe pin 22 may need to be isolated with a very thin piece of cellophane tape (sticky tape) like shown due to a non-standard implementation by your notebook vendor causing CLKRUN/CLKREQ initialization mistiming. See PERST# pinout. Asus notebooks known to suffer from this issue.
If you are absolutely unable to boot and hotplug the eGPU on your T530i, try to tape (isolate) pin2 aka the 3.3v_RUN of the GDC mpci-e connector like this, it solved all my cold boot issues! SRC: wimpzilla.
iii) eGPU still not detected on ASUS systems
Do a Windows UEFI install and change bios from legacy/CSM to UEFI. This initialized the devices differently. SRC: Davide Preziusi
iii) faulty hardware?
If you still don't get detection then test the video card and eGPU adapter in another machine to confirm neither is faulty.
If using an EXP GDC adapter then consider testing a US$7 mPCIe eGPU adapter [PCE164P-N03] (inc NGFF M.2) instead.
"NVidia driver stopped responding" intermittent messages: can't run Gen2 signalling
EXP GDC, PE4H 2.4 and PE4L 1.5 all use a socketted cable and therefore have shown Gen2 signalling issues. This error indicates there was transmissions errors. If have another video card test it as subtle impedance differences between vendors can cause these errors. Also try isolating your PSU to it's own power outlet, not using any USB devices in the eGPU adapter and even wrapping aluminium cooking over the eGPU adapter's connecting cable (between system and eGPU adapter) to isolate EMI noise. For the EXP GDC, if handy with soldering, consider making your own interconnecting cable. Also consider adding power cabling ferrite beads.
The other solution is either to get a better Gen2-compliant eGPU adapter such as PE4C V3.0, PE4L 2.1b (both with soldered cable) or even a US$6 PCE164P-N03 (mPCIe/M.2 only, see experience) adapter in the Buyer Guide
The eGPU stops working after some time of use
This can be either a PSU or video card stability issue with the factory settings which may be clocked beyond what the components can handle. For the latter, downclock your video card by 15% - core/mem/target power using MSI Afterburner. If the problem persists, then swap your PSU for a known good one and test again.
Also try isolating your PSU to it's own power outlet, not using any USB devices in the eGPU adapter and even wrapping aluminium cooking over the eGPU adapter's connecting cable (between system and eGPU adapter) to isolate EMI noise. For the EXP GDC, if handy with soldering, consider making your own interconnecting cable. Also consider adding power cabling ferrite beads.
The other solution is either to get a better Gen2-compliant eGPU adapter such as PE4C V3.0, PE4L 2.1b (both with soldered cable) or even a US$6 PCE164P-N03 (mPCIe/M.2 only, see experience) adapter in the Buyer’s Guide . If cannot do that then downgrade your PCIe link speed to Gen1 for reliability using eGPU Setup 1.35.
Lastly, set your power profile->CPU max performance to 99% to turn off CPU turbo multipliers that may be causing CPU overheating. REF: maverick234
The eGPU is reported as running at x1 1.1 link speed in GPU-Z rather than x1 2.0
Click the "?" next to Bus Interface to perform a render test. This will take the eGPU out of lower power x1 1.1 Gen1 mode and (usually) switch to x1 2.0 (Gen2) mode. If it still remains in x1 1.1 mode then you can uprate your link from Gen1 to Gen2 using BIOS options or nando's eGPU Setup 1.35
Error 31 against the eGPU "The device is not working properly because Windows cannot load the drivers.."
Power management L1/L2 (L01/L01) could be switching off the hosting PCIe port as discussed. Disable L1/L2 mode in your BIOS to fix.
The eGPU works but performance is poor, stuttering
Proceed to optimize your configuration by:
1. Attach an external LCD instead of accelerated internal LCD mode (Optimus) to ensure bandwidth is dedicated to eGPU rather than display rendering traffic. There display traffic goes straight out to the HDMI/DP/DVI connector.
2. Disable the eGPU audio device and use the notebook inbuilt speaker. Again to ensure the bandwidth is dedicated for eGPU traffic.
3. Ensure your link is running in Gen2 mode (2nd-5th Gen i-core) or Gen3 8Gbps (6th Gen i-core or newer).
In GPU-Z click the "?" next to Bus Interface to perform a render test. This will take the eGPU out of lower power x1 1.1 Gen1 mode and (usually) switch to x1 2.0 (Gen2) mode. If it still remains in x1 1.1 mode then you can uprate your link from Gen1 to Gen2 using BIOS options or nando's eGPU Setup 1.35
4. Set NVidia Inspector 'Frame Rater Limiter V2' to 59 or 60Hz, matching your external LCD. This will prevent the eGPU rendering redundant images.
Running a dGPU and eGPU from the same family (Nvidia or AMD)
A dGPU and eGPU from the same family require a unified driver is required to run them concurrent. This can be a problem if the dGPU is older than the eGPU driver and there is no iGPU available so the dGPU can be completely disabled. The solution here is to disable the dGPU as follows:
1. Install and use Windows 10 or 8. Windows 7 does not allow the eGPU to work if the dGPU is disabled.
2. Set the dGPU to run as a VGA only device using these instructions:
3. Install your eGPU drivers.
My laptop is the Toshiba P205-S6337 with an ExpressCard slot. I've attached a GTX 460 to it and am using a 550 W power supply. I initially had Error 12 but solved that by performing the DSDT override and then hotplugging my GPU in the Windows 7 boot menu reached when holding F8. Now I'm facing Error 43 and am unable to solve it. I have tried the latest drivers (384.76) as well as a driver from years earlier (270.61). I've set the jumper on the GDC 8.0 to have the power supply always on and have experimented with PCI Reset Delays but I always get Error 43. I have tried to sleep and then wake the device but the error does not disappear. GPU-Z does not display the clocks for my GTX 460 and says it is 0 MHz. My BIOS has Wake-on-Lan disabled and I have no dGPU; the iGPU is the Intel 945 GM. I would appreciate any help! Thanks!
BIOS：InsydeH2O 47CN34WW(V2.12)（unlock whitelist）
SYS: WIN10 x64 16GB，Graphic HD 3000 ，GT555M
EGPU:ZOTAC GTX960 DDR5 2GB
I have read the sticky topic for kill error 43,but failed.
1.I am trying to use the old driver instead of the latest driver. code 43...
2.Ran DDU removed all drivers and reinstall. code 43 ...
Next I try a specific version of the driver, such as 368.81 ，378.57
I don't know if I have to modify my bios to enable hot plug, or use DIY eGpu tool
I need more help ，thx.
I have PSU turned on (i think) ... on EXP GDC 8 adapter is switch for atx pw, which makes power supply run without laptop turned on ... and clocks still dont work.
Okay. Shoot me a PM. I'm not sure I'm much help though.
I've divulged enough information here for proof of concept without crossing the NDA restriction.
I'm willing to fork a prize for anyone who can develop a UEFI tool without violating somebody's IP.
Do we need a kickstarter campaign?
These kind of trick, either mod the bios to unlock menus or mod the NVRAM through EFI shell was done before.
Until you not release proprietary code or information that goes beyond the fact that the option is present in the bios and allowed into desktop mb bios do not warn you.
Obviously making public tools that easily do that, is worst than share a public modded bios or a "how to" about the trick. If you want to keep the nice trick you found available.
Nice found by the way.
I also have an EXP GDC 9.0b and both switches are missing (empty solder pads). I asked the seller about it through taobao and they kept repeating that the switches weren't necessary. Surrounding pads are blank too, so I don't think it would work to simply add a switch or jumper.
The 9.0b is also failing to run at PCIe 3.0 x4; I can only get 2.0 x4 and 3.0 x2 (1 cable) working properly. I'm going to try a different brand M.2 -> x4 adapter that looks more promising.
I have a Dell E6430 laptop with an Intel 4000 integrated gpu. I am trying to upgrade it to a GTX 1050 TI eGPU with the GDC Beast expresscard adaptor and a 450W power supply while using the internal display.
The problem is that when I plug the GPU into the laptop after startup, the gpu is not recognized by the device manager. When I try to download the Nvidia driver from the CD and the website manually, it gives me the "Nvidia cannot find compatible hardware". When I plug the GPU into the laptop before startup, I get a black screen and my laptop starts up, as I can hear the startup screen, but the screen stays black. The light is on for the GPU and the fans are spinning.
My laptop seems to recognize the GPU because it acts differently on startup when it is plugged in, but doesnt recognize it if I plug it in after. I have tried to follow some BIOS setups like disabling Wake on LAN, NIC onboarding, and Integrated NIC. I also tried to use DDU to unistall both the intel GPU and the Nvidia GPU while restarting. I have tried to use an HDMI from the eGPU to an external display and get the same black screen. I also tried it on another laptop and the Nvidia showed up in the device manager on that laptop.
I followed the steps of the link below, which is using the same setup but with Windows 8.1 and I could not get it to work. https://egpu.io/forums/builds/dell-latitude-e6430-zotac-gtx-1050-ti-mini-via-exp-gdc-8-4d-expresscard/
I am just trying to play PUBG! Please let me know if there are any suggestions, Thank you!
So building off of my post above....
So now I did that, used DDU to get rid of all previous Nvidia drivers. My laptop now gives me an error 12 with the new 960. I tried to use setup 1.35 to get rid of the error 12 like I did with my 1050. Except it doesn't work. I tried the steps in both of the videos and it defaults to my Intel 4000 when I run the test chainloader after compaction.
I don't really want to get into all the windows files to change the dsdt if I don't have to. Any ideas?
It could be a faulty PSU, video card, eGPU adapter or (most likely) eGPU adapter cable. Try reseating all cabling and see if get detection. If not, swap out individual components with known good working ones until identify the faulty component.
I could start it again a few minutes again and it ran for a while. Then it shut down again with a blue screen "dumping" as I remembered. I restarted my laptop and watched some videos on Youtube. It was still ok