Jump to content

Cosim15

Registered User
  • Posts

    12
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Cosim15

  1. Hey,

     

    A while back I've had the same problems with my own setup (while trying to set up a x2 link).  IMO, this has something to do with the TOLUD size of your PC and that it doesnt want to accept your card properly.

     

    I've posted my solution a while back in the notebookreview forums, Im reposting here now (btw, this method helped me achieve the x2 link with the hwtool EGPU adapter PE4C 2.1, if anyone is interested, since I kinda lazyied it out :) ) ORIGINAL LINK: http://forum.notebookreview.com/threads/diy-egpu-experiences.418851/page-1192#post-10105268

     

    Quote
    Well, the problem might be that there might be no space left for the eGPU. Personally, I havent had any experience with eGPU vs dGPU situations, you should look up this forum or other places for the solutions. 

    BTW, if you noticed, I have been ranting here about my problems with 2GB ram issues (that my eGPU works with 2GB and I also want 8GB). During my tests, I've noticed, that when with 2GB ram, the TOLUD value lowers, somehow freeing up much much more space for other PCI devices (went from 256 MB to 1 GB free PCI space). I think the same is happening here with your PC.

    Just yesterday, Ive solved my problems compating my PCI devices to 36-bit space and forcing my eGPU to a 32-bit space. Aparently, this free'd up 512 MB of PCI space on my laptop = eGPU success. I believe the same soliution might work for you (or any other PCI compation) (btw, I did this without DSDT override). This method requiers you having setup 1.3, which provides the mentioned compation and also dGPU disable-type functions, which may also help.
     

     

    Quote

    As I understand, Windows has the eGPU graphics drivers installed, right?
    If so, try this thing:
     

    1. Boot to windows without the eGPU connected
    2. Uninstall the eGPU drivers (via show hidden devices in device manager; you can keep the installation files)
    3. Shut down
    4. Now boot to your Windows with your eGPU connected.

    Now, there is chance that this method could work, but only if the booting is successful, when the drivers are uninstalled. Once booted, the eGPU will not work, because there are no drivers, right? Right. So check the device manager if the eGPU is detected. If so, it should automatically start installing the missing drivers on its own. Now here comes the messy part.

    5. Once the drivers are installed and the eGPU is detected fully (doesnt matter if its wokring correctly or with errors, such as 12 or 42, 43), disable the driver and try each method below until something works:
    5.1 Reboot with the eGPU connected to your PC and the drivers disabled. Once booted into Windows, enable the drivers.
    5.2 Reboot with the eGPU connected to your PC and boot to setup 1.3. Take note of how much TOLUD you have and how much free space you have. If lower than 256 MB, perform PCI compaction (I am not sure which one would work, check setup FAQ for that). Personally, the 56.12GB - 36-bit compaction worked for me (chose all PCI devices, force 32-bit upon eGPU). Chainload to Windows. As said above, the eGPU driver should be turned off, to once booted into Windows (if successful), enable the eGPU driver.

     

  2. I guess I will throw a few of my thoughts here:

     

    I've checked the exact moment when the eGPU stops working, when installing the new drivers and found, that after updating the main driver sys file, the GPU stops responding and gives the error 43.

     

    I have logged the error code, which Windows has saved in the event viewer:

    Fault bucket 0x193_DxgkrnlLiveDump:804_dxgkrnl!DxgCreateLiveDumpWithWdLogs, type 0
    Event Name: LiveKernelEvent
    Response: Not available
    Cab Id: e3262c67-efa7-4bca-94b0-413a2616c961
    
    Problem signature:
    P1: 193
    P2: 804
    P3: ffffffffc000009a
    P4: 1
    P5: 0
    P6: 10_0_14393
    P7: 0_0
    P8: 256_1
    P9: 
    P10: 
    
    Attached files:
    \\?\C:\windows\LiveKernelReports\WATCHDOG\WATCHDOG-20161222-2337.dmp
    \\?\C:\Users\Justas\AppData\Local\Temp\WER-1651703-0.sysdata.xml
    \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER478E.tmp.WERInternalMetadata.xml
    \\?\C:\Windows\Temp\WER5E91.tmp.csv
    \\?\C:\Windows\Temp\WER5EC1.tmp.txt
    
    These files may be available here:
    C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Kernel_193_12354c92ffc4695adc470a5b64044c08a8454ca_00000000_cab_29516046
    
    Analysis symbol: 
    Rechecking for solution: 0
    Report Id: e5ee621d-c88e-11e6-af17-78dd08a5323d
    Report Status: 0
    Hashed bucket: 

     

    I have checked the nvidia driver sys file for Hotplug option changes and concluded, that no changes have been made (checked is sort of a loose term, given how limited I was in actually seeing what was in the main sys file).

     

    Either way, during the weekend I will try to gradually change all of Nvidias current driver files with the ones, which actually work for most, and see if there is a way to narrow down if there is something else at play here.

    Did anyone check the registry files? I was kinda thinking, could we save a backup of the whole PC registry while the working drivers are intalled, then use this backup to overwrite the whole registry with the non-working drivers installed? Maybe this way, it could be possible to find out if a registry change has some effect

     

     

     

    • Thumbs Up 2
  3. eGPU setup:

    • OS1: Windows 10 x64-bit

    • OS2: Windows 8.1 x64-bit

    • Laptop: Lenovo x200 Tablet

    • RAM: 8GB

    • eGPU adapter: PE4C 2.1

    • GPU: GTX 1060 3GB Zotac

    • GPU driver: 372.70

     

    I have this problem, every time I try to connect the GPU to my laptop I seem to be getting error 43.

    Prior to that, I had error 12, but solved that by applying a DSDT override. The override was successful, now I have a Large memory space in which I can reallocate my GPU but for some reason, it just never works (keep getting error 43).

    NOTE, I that in order to test every possibility, I have installed Windows 8.1 on the same laptop and found that after applying a DSDT override, Windows 8.1 properly detects the GPU and there is no error 43 (same with Windows 7 on the same laptop). This lets me believe, that there is something wrong with windows 10, can anyone help me out?

  4. PE4C v 2.1

    I would like to do a x2 link eGPU setup with my Lenovo x200, but I can't do that so easily, so I was hoping for some guidance regarding this matter. Maybe someone has already done this successfully?

    The main problems are these:

    Firs tof all, if the PM4N is connected to PCIE slot 4, regardless if the eGPU is on or off, the bios the internal screen flashes right after turning on the computers and doesn't show anything since then. I cannot operate anything this way. External monitor also stay‘s black. The only way to avoid this is to hotplug the PM4N into port 3, but it‘s not healthy at all.

    I go to setup 1.30 and do all the necessary settings, which are: disabling ports, retraining the other ones and setting x2 link width. The x2 link width is set on port 1 and port 3, I've noticed that if I disable port 1, port 3 is gone as well.

    I chainload to Windows and if the eGPU is still connected I either get stuck at the Windows logo with the BSOD afterwards or startup my operating system successfully, but this way, the eGPU is not detected.

    I have tried multiple times hotpluging in the eGPU and also plugging in the eGPU sleepmode style – nothing seems to work, I think i saw Tech Inferno Fan saying, that one must take out the WiFi card slot in order for the other x2 link width port to

    work, but that can't be the case with me, because port 1 is the root port – if a WiFi card is not there, no other port works.

    Also, whenever I plug in my eGPU into port 3, the WiFicard starts working, otherwise, it stays disabled.

    I have also tried the non-optimus scipt provided by Tech Inferno Fan it didn't work, I have also tried disabling the WiFi via Windows, but that

    didn't change a thing. Any ideas?

    EDIT: *SOLVED*

    The above mentioned problem has been solved, I am now able to connect the eGPU via x2 link with more than 4GB or RAM (no DSDT or BIOS mod requiered).

    Also solved the problem with Windows loading screen hanging then BSOD'ing, and a slight different variation of error 43 and POST beep errors upon boot.

  5. After **myriad** attempts, each one of which came within a hair's breadth of bricking my laptop, this method worked for me. I'm exhausted from the effort and will try to recreate my precise steps and post them here only in a few days, but the following might be useful signposts for others who, like me, never realized how much free time they have on their hands :). (If I spent as much time and devoted as much grey matter to my job, I'd be CEO by now):

    1. The basic idea is this: use nando64's excellent instructions to stick a QWordMemory allocation into your DSDT, but don't panic when you get all these useless, arcane, and incomprehensible errors at compile-time. Instead of trying to actually turn this into a good .dsl file, just comment everything away AS LONG AS YOU PRESERVE perfectly the initialization of the _CRS table. Slash and burn as much as you like, as long as when iasl the file, you get no errors and you do produce an .aml file, and then when you apply asl /u to that .aml file, you get something with a _CRS table that sorta looks a lot like artearte's.

    Doing this preserves both your sanity -- because you don't have to do things like worry about how to replace "Buffer" with "Package" when the word "Buffer" doesn't actually appear in the .asl code -- and also your laptop's sanity, because you never are going to load this emasculated .aml or .asl into its registry. All you want is that longer table, written out in ascii hex. (My values were slightly different than artearte's, although the length 0x1ee was the same. Doh, 0x1ee is 36-bits of length that we all are trying to achieve).

    Once you have the table, THEN, you start again, and this time be as focused and careful as Elmer Fudd hunting Wabbits: You extract your DSDT with asl /tab=DSDT; then carefully change the definition of the _CRS table to be the longer table from the file you made in the previous part, and now you might have an .asl file which will compile ("asl filename.asl"), then load ("asl /loadtable filename.aml") without incident.

    One has to assume that it's the author(s) of iasl who need to be taken out and executed. It seems that iasl can't create a file which doesn't produce mind-bendingly annoying errors when compiled. But one can rely on it to produce correct snippets of .asl file, as long as one plays along with its little game of pretending to be a decompiler, and verifies the correctness of its output by commenting out most of it and compiling the rest. grrrrrrrrrrrrrrrrrrrr.

    The other perhaps useful thing to know is how to recover if you DO load a table which is bad. In my case, every attempt I made at truly fixing the output of iasl produced in the end and .aml file which loaded fine. But unfortrunately when I rebooted, the machine would BlueScreen a second or two after the Windows Logo appeared -- which according to posts here is exactly when DSDT is loaded. No ordinary fix method of any kind ever got me past this; I was, however, able to boot and get a command prompt using installation media. And from there I was able to bring up regedit and clear out the bad DSDT entries in the non-active C:-drive registry. (it seems to be a little-known if life-saving fact that you can edit the registry of an installation which is not the one you are actually running: see Load a hive into the registry: Core Services).

    I now have a great big large memory, into which my GTX 760 can easily fit. I'm not sure if my memory is big enough for me to remember why it is I began this project, however. What **WAS** I thinking? Oh yes, I remember.... well, perhaps the eGPU will work now.

    Thank you so much to all who helped.

    Could somebody explain the last part of this post? How exactly can you clear our the bad DSDT entries in the non-active C: drive?

  6. Hello,

    My specs are:

    Lenovo x200 tablet

    CPU: L9400

    iGPU: 4500HD

    eGPU: Nvidia 560 Ti

    Adapter: Pe4C 2.1 (using 1 link at the moment)

    OS: Win7/Win8.1

    I have encountered a problem with the error 12. I am no coder, therefore I found it hard to understand what should I do when following the long and official DSDT override fix, so I followed the solution in this link: http://forum.techinferno.com/diy-e-gpu-projects/3539-guide-dsdt-override-simultaneous-igpu-dgpu-egpu.html#post49833

    Because I have 2 operating systems on my laptop, I tried the override on both of them and both of them failed. Although Windows 8.1 was able load its self back somehow, Windows 7 kept popping me up BSOD's everytime I would see the Windows logo.

    Is there any other solution this this problem? I have followed the steps exactly with no luck.

    I still don't have the DIY eGPU setup so at the moment I feel like I'm kind of out of options :/

    My system detects the eGPU but because of the memory allocation I can't do a thing

    EDIT///////////////////////////////////////////


    As I have a little time at the moment, I will specify what I've done:

    First of all, I used the DSDT override method mentioned above. Considering, that it failed miserably I used the original method posted here: http://forum.techinferno.com/diy-e-gpu-projects/7476-%5Bguide%5D-dsdt-override-fix-error-12-a.html. This method has also failed (and I have retried it in various ways).

    I should have also mentioned, that according to my device manager, my TOLUD space is somewhat about 3GB

    attachment.php?attachmentid=15918&d=1442212954

    All the errors I have are "Invalid object type for reserved name ^ (_PLD: found Buffer, P ackage required)". I did all of these things with the same dsl file (multiple times of course):

    1. I compiled my dsl, and I got 24 errors, 10 warnings and somewhat 12 remarks. I fixed all the errors. Result: 0 errors, 10 warnings, 0 remarks -> BSOD upon Windows logo.
    2. I compiled my dsl and used the DSDT editor to automatically fix all errors. Result: 0 errors, 10 warnings -> BSOD upon Windows logo
    3. I compiled my dsl using the DSDT editor then compiled it again with iasl command and found out, that the compiled dsl actually contains more than 200 errors after "fixing the errors". I've fixed these errors. Result: 0 errors, 1 warning -> BSOD upon Windows logo.
    4. I compiled my dsl and used the DSDT editor in order to apply a patch to automatically fix all the errors. The location of the patch is here: https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/syntax/fix_PLD.txt. The DSDT editor stated, that the file has 0 errors and even a repeat iasl compile of the same file showed, that it had 0 errors. So, obvious result: 0 errors, 10 warnings -> BSOD upon Windows logo.

    ALSO WORTH MENTIONING:

    1. I've read up some posts in this forum, and found out, that one user with a Lenovo x200 (SLINK) used to have the same problem. He used this:

    In case anyone else has trouble with the override, the errors in my DSDT.dsl were all "Invalid object type for reserved name ^ (_PLD: found Buffer, P ackage required)". I was able to fix them by finding these lines

    Code:

    <code class="bbcode_code" style="margin: 0px; padding: 0px; font-style: inherit; font-weight: inherit; line-height: 12px; direction: ltr; font-size: 12px;">Name (_PLD, ToPLD(

    PLD_Revision = 0x1,

    PLD_IgnoreColor = 0x1,

    PLD_Red = 0x0,

    ...

    PLD_VerticalOffset = 0x0,

    PLD_HorizontalOffset = 0x0)

    ) // _PLD: Physical Location of Device</code>

    and changing them to this

    Code:

    <code class="bbcode_code" style="margin: 0px; padding: 0px; font-style: inherit; font-weight: inherit; line-height: 12px; direction: ltr; font-size: 12px;">Name (_PLD, Package() { ToPLD (

    PLD_Revision = 0x1,

    PLD_IgnoreColor = 0x1,

    PLD_Red = 0x0,

    ...

    PLD_VerticalOffset = 0x0,

    PLD_HorizontalOffset = 0x0)}

    ) // _PLD: Physical Location of Device

    </code><code class="bbcode_code" style="margin: 0px; padding: 0px; direction: ltr;">

    This method doesnt work for me, because for some reason I don't have the same DSDT code layout. Mine looks like this:

    Name (_PLD, Buffer (0x10)  // _PLD: Physical Location of Device                        {                            /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                            /* 0008 */   0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00

    2. My PNP0A08 devices in the DSDT code begin waaay after the PCI0 line (for some reason, the first device after PCI0 is PNP0C02):

    attachment.php?attachmentid=15919&d=1442214036

    attachment.php?attachmentid=15920&d=1442214052

    3. This is how my DSDT lines look (there is no other Qwordmemory, is it okay?):

    attachment.php?attachmentid=15921&d=1442214118

    </code>

    post-38975-14495000730821_thumb.png

    post-38975-14495000731127_thumb.png

    post-38975-14495000731384_thumb.png

    post-38975-1449500073163_thumb.png

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.