Jump to content

kizwan

Registered User
  • Posts

    14
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by kizwan

  1. If the machine has a NVidia dGPU then ensure it's disabled completely by the bios or using Setup 1.30.

    Then remove any previously installed NVidia drivers. Use DDU to be absolutely sure.

    Then do a 'clean' install of 306.97WHQL http://forum.techinferno.com/diy-e-gpu-projects/6253-t500-compat-q-4500mhd-optimus-ends-306-97whql-3.html#post89243 . With that driver you can then confirm if you have an accelerated internal LCD mode to confirm eGPU functionality and work from there.

    Hi nando,

    The notebook in question doesn't have dGPU, only Intel GMA 4500M. We already tried 306.97 but still same issue. Also using DDU to uninstall drivers.

    intel Pentium T4400 (2.2GHz, 800MHz FSB)

    Chipset ICH9M

    Bios is InsydeH20 Rev 3.5 V2.06

    Intel GMA 4500M only

    8GB DDR3 (4GB x 2pcs)

    Windows 7 ultimate 64bit

    eGPU used:

    PE4L v2.1b with PM3N mPCIe

    Asus GT640 DDR5 1GB (choose this coz low power draw only 70+w)

    Power Supply is 12V 7A 84W DC connector with D.i.Y step down module to let it draw the 5v to 3.3v and connect with floopy molex

    Also Tested with ATX power supply

    Both Nvidia control panel & ASUS GPU Tweak unable to detect the device even though both Device Manager & GPU-Z detected eGPU. One more symptom, when trying to connect external monitor to eGPU, system black screen/crashed/BSOD.

  2. If the machine has a NVidia dGPU then ensure it's disabled completely by the bios or using Setup 1.30.

    Then remove any previously installed NVidia drivers. Use DDU to be absolutely sure.

    Then do a 'clean' install of 306.97WHQL http://forum.techinferno.com/diy-e-gpu-projects/6253-t500-compat-q-4500mhd-optimus-ends-306-97whql-3.html#post89243 . With that driver you can then confirm if you have an accelerated internal LCD mode to confirm eGPU functionality and work from there.

    Thanks. I'll forward this info to my friend.

  3. DIY eGPU implementation: 15" Dell Studio 1557 + ATI Radeon HD 5870 @x2

    Link:-


    Specification:-


    Method (x1 setup):-

    - Power ON the notebook with eGPU already connected & powered ON.
    - Using modified drivers: D.N.A.


    Method (x2 setup):-

    - connected everything
    - power on eGPU
    - power on system
    - set x2 on Port1 using Setup 1.x
    - Reboot (using Reboot command in Setup 1.x)
    - boot into windows
    OR can use automated script in STARTUP.BAT:-

    With the above script, only need to:-
    - choose Setup 1.x at Windows/Setup 1.x boot menu
    - choose first option to use STARTUP.BAT
    - it will reboot automatically
    - finally, choose Windows at boot menu.
    DRIVER:-
    - Using modified drivers: D.N.A.
    OR
    - dGPU HD4570 use mobile driver where driver is installed manually in Device Manager. eGPU HD5870 use desktop driver (using the .EXE file).
    :: enable disk caching to improve performance
    
    	call speedup lbacache
    
    	:: enable x2 on port1
    
    	call iport x2 1
    
    	:: wait for HD5870 to be attached
    
    	:: call vidwait 60 1002:6898
    
    	:: check that it's a x2 link
    
    	call iport scan
    
    	:: give a prompted countdown for 7 seconds
    
    	call wait_e 7 "Confirm link is x2 - if not hit CTRL+ALT+DEL and try again"
    
    	:: run result of last PCI compaction
    
    	call pci
    
    	:: chainload to MBR
    
    	:: call grub4dos mbr 
    
    	:: need to reboot to re-detect the eGPU
    
    	reboot


    First PCI bus with 8 digits memory address = TOLM1
    1 On (first gen) Intel i7 quad-core processor, this register is called TOLM, not TOLUD.

     

    Boot without eGPU connected (0xC8000000: TOLM=3.125GB):-
    DellStudio1557PCIBusWithouteGPU.jpg
    Boot with eGPU connected (0xA8000000: TOLM=2.625GB):-
    DellStudio1557PCIBusWitheGPUx1.jpg

    eGPU ATI HD5870 @x1 link Setup:-

    18082011367.jpg 18082011370.jpg
    18082011372.jpg 18082011376.jpg
    18082011377.jpg DellStudio1557HD5870.jpg

    eGPU ATI HD5870 @x2 link Setup:-

    DellStudio15572xPM3NonPCIeports12.jpg eGPUATIHD5870x2.jpg
    ATIRadeonHD5870x2.jpg DellStudio1557ATIHD5870x2.jpg

    Updated eGPU setup in mATX casing:-

    eGPUHD5870CorsairCX500QX-200001.jpg eGPUHD5870CorsairCX500QX-200002.jpg
    eGPUHD5870CorsairCX500QX-200003.jpg eGPUHD5870CorsairCX500QX-200004.jpg
    eGPUHD5870CorsairCX500QX-200005.jpg eGPUHD5870CorsairCX500QX-200006.jpg
    BENCHMARKS

     

    DirectX 9
    3DMark 06 (1280x1024) RE5 (1280x800-variable)

    x1 link:-

    Result: 13157
    DellStudio1557HD58703DMark063rd.jpg

    x1 link:-

    DellStudio1557HD5870RE5VariableC.jpg

    x2 link:-

    Result: 13556
    DellStudio1557HD5870x23DMark06-1.jpg

    x2 link:-

    DellStudio1557HD5870x2RE5Variable_New.jp

     

     

    DirectX 10
    3DMark Vantage Devil May Cry 4 (DMC4)

    x1 link:-

    DellStudio1557HD58703DMarkVantage.jpg

    x2 link:-

    DellStudio1557HD5870x23DMarkVantage.jpg

    x1 link:-

    DellStudio1557HD5870DMC4.jpg

    x2 link:-

    DellStudio1557HD5870x2DMC4.jpg

     

     

    DirectX 11
    3DMark 11 Heaven Benchmark v2.5 Basic

    x1 link: Result

    x2 link: Result

    Detailed Scores
      x1 link x2 link
    3DMark Score P3156 P3659
    Graphics Score 3220 3667
    Physics Score 3391 3868
    Combined Score 2520 3335
    GraphicsTest1 15 FPS 18 FPS
    GraphicsTest2 18 FPS 19 FPS
    GraphicsTest3 21 FPS 23 FPS
    GraphicsTest4 8 FPS 9 FPS
    PhysicsTest 10 FPS 12 FPS
    CombinedTest 11 FPS 15 FPS
     

    x1 link

    |

    x2 link

    FPS:
    22.7
    |
    28.3
    Scores:
    572
    |
    714
    Min FPS:
    13.2
    |
    13.8
    Max FPS:
    60.0
    |
    71.2

    Hardware

    Binary:
    Windows 32bit Visual C++ 1600 Release Mar 1 2011
    Operating system:
    Windows 7 (build 7601, Service Pack 1) 64bit
    CPU model:
    Intel® Core i7 CPU Q 720 @ 1.60GHz
    CPU flags:
    1595MHz MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 HTT
    GPU model:
    ATI Radeon HD 5800 Series 8.850.6.0 1024Mb

    Settings

    Render:
    direct3d11
    Mode:
    1920x1080 fullscreen
    Shaders:
    high
    Textures:
    high
    Filter:
    trilinear
    Anisotropy:
    4x
    Occlusion:
    enabled
    Refraction:
    enabled
    Volumetric:
    enabled
    Tessellation:
    normal

     

    GAMES EXPERIENCE

     

    Games Settings FPS (average range from lowest to highest)
    DirectX 9 DirectX 10 DirectX 11
    x1 link x2 link x1 link x2 link x1 link x2 link
    DiRT 2
    (with *x1 link* setup, choppy/stutter)
    (with *x2 link* setup, game running smoothly)
    Resolution : 1280x800
    Refresh Rate : 60
    Multisampling : 4xMSAA
    VSYNC : Off
    (ALL) : (Preset - High)
    Inbuilt:-
    Min:12.5
    Avg:14.2

     
    17 - 19
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Inbuilt:-
    Min:17.1
    Avg:26.3

     
    32 - 34
    Pic 1
    Pic 2
    Pic 3
    N/A N/A Inbuilt:-
    Min:12.5
    Avg:15.4

     
    17 - 24
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    Inbuilt:-
    Min:20.3
    Avg:26.6

     
    32 - 37
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    Battlefield: Bad Company 2
    (with *x1 link* setup, very lag with DirectX 10 & 11)
    (with *x2 link* setup, game running smoothly)
    Resolution : 1280x800
    Overall Quality : Advanced
    Level of Detail : High
    Texture Quality : High
    Shadow Quality : High
    Effects Quality : High
    Anti Aliasing : 8x
    Anisotrophic Filter : 16x
    VSYNC : Off
    HBAO : Off
    39 - 60
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    57 - 80
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    25 - 35
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    39 - 50
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    22 - 30
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    38 - 50
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Need for Speed: Shift
    (with *x1 link* setup, choppy/lag when too many cars & effects at the same time)
    (with *x2 link* setup, game running smoothly)
    Resolution : 1280x800
    Refresh Rate : 60hz
    Anti-Aliasing : 0xAA
    Windowed : On
    Texture Filtering : Anisotrophic 16x
    V-Sync : Off
    Car Detail : High
    Shadow Detail : High
    Track Detail : High
    Motion Blur : High
    Texture Resolution : High
    16 - 72
    Pic 1
    Pic 2
    Pic 3
    33 - 74
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    Pic 8
    N/A N/A N/A N/A
    Need for Speed: Hot Pursuit
    (with *x1 link* setup, steady FPS & microstutter)
    (with *x2 link* setup, game running smoothly)
    Resolution : 1280x800
    High Resolution Textures : On
    Motion Blur : On
    Shadow Level : High
    Anisotropic : On
    23 - 40
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    Pic 8
    Pic 9
    Pic 10
    Pic 11
    Pic 12
    34 - 45
    Pic 1
    Pic 2
    Pic 3
    Pic 4
    Pic 5
    Pic 6
    Pic 7
    Pic 8
    Pic 9
    N/A N/A N/A N/A
    Left 4 Dead 2
    (with both x1 & x2 setup, game able to running with stable 60FPS most all the time. FPS capped at 60.)
    Resolution : 1920x1080
    Anti-Aliasing Mode : 4xMSAA
    Filtering Mode : Anisotropic 8x
    Wait for Vertical Sync : Enabled (Double Buffered)
    Shader Detail : Very High
    Effect Detail : High
    Model/Texture Detail : High
    Multicore Rendering : Enabled
    Paged Pool Memory Available : High
    60 60 N/A N/A N/A N/A

    Summary/Conclusion:-
    When compared with Nvidia games experience on x1 link, the ATI graphic card unable to deliver comfortable performance when running on x1 link. This issue can be fixed with x2 link. Fortunately, Dell Studio 1557, just like Studio 1555 & 1558, can support x2 link configuration (PCIe port 1 & 2). Also it seems, there are enough PCI bus space to support SLI/CFX configuration. So, my next plan are:-

    • To get two PM3N (mini-PCIe) card to drive HD5870 on x2 link. [[Update 24 August 2011: Ordered 2xPM3N mini-PCIe cards]]
    • (Optional) Get a PM3N card & Nvidia GTX460/470 card for x1.Opt link configuration on Asus K42JV notebook.
    • (Wish) Get a PE4H-PM3N package & another HD5870 to setup CFX configuration on Dell Studio 1557.
    • Thumbs Up 2
  4. Hi guys! In connection with the fact that I badly know the English language and for writing this text use the translator may not everyone will understand what I wrote. Please forgive me,but I need Your helpicon12.gif

    And so, two days ago was my adapter PE4H ver2.4+EC2C,after connecting in him GTX560Ti all earned with the use of an external monitor 1080p and my laptop. The question here is when playing Battlefield 3 and World of tanks Fps significantly sinks,as well as present a stuttering. How can I solve this problem? Thank you in advance!

    Specs:

    15.6" MSI GX640

    Intel i5 430м (HM55)

    dGpu Ati Radeon 5850m

    Windows 7 / 64 Bit

    4 GB DDR3 1066 RAM

    128 GB SSD

    eGPU setup:

    PE4H v2.4a with EC2C

    600W THERMALTAKE

    GTX560TI

    external: 32" 1920×1080

    Nvidia driver 314.07 desktop driver

    Your eGPU is running at PCIe rev 1.0 speed. This is why you are experiencing stuttering when playing games. Your laptop only support PCIe rev 1.0. Only Sandy Bridge laptop & above support PCIe rev 2.0 speed. Stuttering should be less with PCIe rev 2.0.

    • Thumbs Up 1
  5. So my BIOS made me lie. Turns out that "Max TOLUD" selector in my BIOS doesn't do anything.

    I tried setting it to 2.5 GB, 2.75 GB, 3.5 GB, and Dynamic. None of these settings change my PCI Bus value in my Win7 Device Manager: it read BFA00000 regardless of what I set in the BIOS.

    That kinda disappointing. When you set to dynamic, did you try cold boot with eGPU connected? If yes & still got code 12, then the setting really doesn't do anything. Is this modded BIOS? If yes, then I can understand why it doesn't work.

  6. Supplemental guide for DSDT Override Guide.

    How to fixed DSDT errors?



    In this section I want to cover the common errors you get when trying to compile your DSDT. The one you'll usually get is when you try to compile the DSDT, even with untouched/unedited DSDT, you get a lot of errors, probably 100++ or 200++ errors like this:-
    Intel ACPI Component Architecture
    ASL Optimizing Compiler version 20100428 [Apr 28 2010]
    Copyright (c) 2000 - 2010 Intel Corporation
    Supports ACPI Specification Revision 4.0a



    Maximum error count (200) exceeded dsdt_CALPELLA.dsl 3902: If (PICM) Error 4064 - Object does not exist ^ (PICM)

    dsdt_CALPELLA.dsl 4094: 0x00000000, // Length Error 4122 - ^ Invalid combination of Length and Min/Max fixed flags

    dsdt_CALPELLA.dsl 4108: 0x00000000, // Length Error 4122 - ^ Invalid combination of Length and Min/Max fixed flags

    dsdt_CALPELLA.dsl 4113: If (^^CPBG.IMCH.PM1L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM1L)

    dsdt_CALPELLA.dsl 4119: If (LEqual (^^CPBG.IMCH.PM1L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM1L)

    dsdt_CALPELLA.dsl 4125: If (^^CPBG.IMCH.PM1H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM1H)

    dsdt_CALPELLA.dsl 4131: If (LEqual (^^CPBG.IMCH.PM1H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM1H)

    dsdt_CALPELLA.dsl 4137: If (^^CPBG.IMCH.PM2L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM2L)

    dsdt_CALPELLA.dsl 4143: If (LEqual (^^CPBG.IMCH.PM2L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM2L)

    dsdt_CALPELLA.dsl 4149: If (^^CPBG.IMCH.PM2H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM2H)

    dsdt_CALPELLA.dsl 4155: If (LEqual (^^CPBG.IMCH.PM2H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM2H)

    dsdt_CALPELLA.dsl 4161: If (^^CPBG.IMCH.PM3L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM3L)

    dsdt_CALPELLA.dsl 4167: If (LEqual (^^CPBG.IMCH.PM3L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM3L)

    dsdt_CALPELLA.dsl 4173: If (^^CPBG.IMCH.PM3H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM3H)

    dsdt_CALPELLA.dsl 4179: If (LEqual (^^CPBG.IMCH.PM3H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM3H)

    dsdt_CALPELLA.dsl 4185: If (^^CPBG.IMCH.PM4L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM4L)

    dsdt_CALPELLA.dsl 4191: If (LEqual (^^CPBG.IMCH.PM4L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM4L)

    dsdt_CALPELLA.dsl 4197: If (^^CPBG.IMCH.PM4H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM4H)

    dsdt_CALPELLA.dsl 4203: If (LEqual (^^CPBG.IMCH.PM4H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM4H)

    dsdt_CALPELLA.dsl 4209: If (^^CPBG.IMCH.PM5L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM5L)

    dsdt_CALPELLA.dsl 4215: If (LEqual (^^CPBG.IMCH.PM5L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM5L)

    dsdt_CALPELLA.dsl 4221: If (^^CPBG.IMCH.PM5H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM5H)

    dsdt_CALPELLA.dsl 4227: If (LEqual (^^CPBG.IMCH.PM5H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM5H)

    dsdt_CALPELLA.dsl 4233: If (^^CPBG.IMCH.PM6L) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM6L)

    dsdt_CALPELLA.dsl 4239: If (LEqual (^^CPBG.IMCH.PM6L, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM6L)

    dsdt_CALPELLA.dsl 4245: If (^^CPBG.IMCH.PM6H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM6H)

    dsdt_CALPELLA.dsl 4251: If (LEqual (^^CPBG.IMCH.PM6H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM6H)

    dsdt_CALPELLA.dsl 4257: If (^^CPBG.IMCH.PM0H) Error 4065 - ^ Object not found or not accessible from scope (^^CPBG.IMCH.PM0H)

    dsdt_CALPELLA.dsl 4263: If (LEqual (^^CPBG.IMCH.PM0H, One)) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PM0H)

    dsdt_CALPELLA.dsl 4275: ShiftLeft (^^CPBG.IMCH.PXBR, 0x14, M1MX) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PXBR)

    dsdt_CALPELLA.dsl 4276: ShiftRight (0x10000000, ^^CPBG.IMCH.PXSZ, Local0) Error 4065 - Object not found or not accessible from scope ^ (^^CPBG.IMCH.PXSZ)

    dsdt_CALPELLA.dsl 4285: Store (^IO10.TOLM, Local0) Error 4065 - Object not found or not accessible from scope ^ (^IO10.TOLM)

    dsdt_CALPELLA.dsl 4290: Store (^IO10.TOLM, Local0) Error 4065 - Object not found or not accessible from scope ^ (^IO10.TOLM)

    dsdt_CALPELLA.dsl 4324: NHPG () Error 4064 - Object does not exist ^ (NHPG)

    dsdt_CALPELLA.dsl 4329: NPME () Error 4064 - Object does not exist ^ (NPME)

    dsdt_CALPELLA.dsl 4601: If (PICM) Error 4064 - Object does not exist ^ (PICM)

    dsdt_CALPELLA.dsl 4709: P8XH (Zero, 0xF0) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4710: P8XH (Zero, 0xF0) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4725: P8XH (Zero, 0xF1) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4726: P8XH (Zero, 0xF1) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4738: P8XH (Zero, 0xF2) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4739: P8XH (Zero, 0xF2) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4797: P8XH (Zero, 0xF3) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 4798: P8XH (Zero, 0xF3) Error 4064 - Object does not exist ^ (P8XH)

    dsdt_CALPELLA.dsl 5036: If (LEqual (^^^^LPCB.EC0.EIDL, 0xDD)) {} Error 4065 - Object not found or not accessible from scope ^ (^^^^LPCB.EC0.EIDL)

    dsdt_CALPELLA.dsl 6031: If (CondRefOf (FPED)) Error 4096 - parse error ^



    dsdt_CALPELLA.dsl 6100: If (LEqual (GESF, Zero)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6102: Store (0x0679, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6103: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6107: If (LEqual (GESF, One)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6109: Store (0x0240, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6110: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6114: If (LEqual (GESF, 0x04)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6116: And (PARM, 0xEFFF0000, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6116: And (PARM, 0xEFFF0000, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6117: And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),

    Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6118: PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6119: Or (IBTT, PARM, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6119: Or (IBTT, PARM, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6120: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6124: If (LEqual (GESF, 0x05)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6126: Store (IPSC, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6127: Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6127: Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6128: Add (PARM, 0x0100, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6128: Add (PARM, 0x0100, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6129: Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6129: Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6130: Add (PARM, 0x00010000, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6130: Add (PARM, 0x00010000, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6131: Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6131: Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6132: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6136: If (LEqual (GESF, 0x06)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6138: Store (ITVF, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6139: Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6139: Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6140: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6144: If (LEqual (GESF, 0x07)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6146: Store (GIVD, PARM) Error 4064 - Object does not exist ^ (GIVD)

    dsdt_CALPELLA.dsl 6146: Store (GIVD, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6147: XOr (PARM, One, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6147: XOr (PARM, One, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6148: Or (PARM, ShiftLeft (GMFN, One), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6148: Or (PARM, ShiftLeft (GMFN, One), PARM) Error 4064 - Object does not exist ^ (GMFN)

    dsdt_CALPELLA.dsl 6148: Or (PARM, ShiftLeft (GMFN, One), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6149: Or (PARM, 0x1800, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6149: Or (PARM, 0x1800, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6150: Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6150: Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6151: Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL Error 4064 - Object does not exist ^ (CDVL)

    dsdt_CALPELLA.dsl 6152: )), 0x15), PARM, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6152: )), 0x15), PARM, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6153: Store (One, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6157: If (LEqual (GESF, 0x0A)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6159: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6162: Or (PARM, 0x03, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6162: Or (PARM, 0x03, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6165: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6169: If (LEqual (GESF, 0x0B)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6171: Store (KSV0, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6172: Store (KSV1, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6176: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6182: If (LEqual (GESF, Zero)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6184: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6185: Store (0x000F87FD, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6186: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6190: If (LEqual (GESF, One)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6192: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6193: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6197: If (LEqual (GESF, 0x03)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6199: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6200: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6204: If (LEqual (GESF, 0x04)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6206: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6207: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6211: If (LEqual (GESF, 0x05)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6213: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6214: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6218: If (LEqual (GESF, 0x06)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6220: Store (And (PARM, 0x0F), ITVF) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6221: Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6222: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6223: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6227: If (LEqual (GESF, 0x07)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6229: If (LEqual (PARM, Zero)) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6231: Store (CLID, Local0) Error 4064 - Object does not exist ^ (CLID)

    dsdt_CALPELLA.dsl 6234: And (CLID, 0x0F, CLID) Error 4064 - Object does not exist ^ (CLID)

    dsdt_CALPELLA.dsl 6234: And (CLID, 0x0F, CLID) Error 4064 - Object does not exist ^ (CLID)

    dsdt_CALPELLA.dsl 6235: GLID (CLID) Error 4064 - Object does not exist ^ (CLID)

    dsdt_CALPELLA.dsl 6239: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6240: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6244: If (LEqual (GESF, 0x08)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6246: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6247: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6251: If (LEqual (GESF, 0x09)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6253: And (PARM, 0xFF, IBTT) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6254: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6255: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6259: If (LEqual (GESF, 0x0A)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6261: And (PARM, 0xFF, IPSC) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6262: If (And (ShiftRight (PARM, 0x08), 0xFF)) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6264: And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6268: And (ShiftRight (PARM, 0x14), 0x07, IBIA) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6269: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6270: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6274: If (LEqual (GESF, 0x0B)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6276: And (ShiftRight (PARM, One), One, IF1E) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6277: If (And (PARM, 0x0001E000)) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6279: And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6283: And (ShiftRight (PARM, 0x11), 0x0F, IDMS) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6286: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6287: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6291: If (LEqual (GESF, 0x10)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6293: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6294: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6298: If (LEqual (GESF, 0x11)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6300: Store (ShiftLeft (LIDS, 0x08), PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6301: Add (PARM, 0x0100, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6301: Add (PARM, 0x0100, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6302: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6306: If (LEqual (GESF, 0x12)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6308: If (And (PARM, One)) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6310: If (LEqual (ShiftRight (PARM, One), One)) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6316: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6325: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6326: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6330: If (LEqual (GESF, 0x13)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6332: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6333: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6337: If (LEqual (GESF, 0x14)) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6339: And (PARM, 0x0F, PAVP) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6340: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6341: Store (Zero, PARM) Error 4064 - Object does not exist ^ (PARM)

    dsdt_CALPELLA.dsl 6345: Store (Zero, GESF) Error 4064 - Object does not exist ^ (GESF)

    dsdt_CALPELLA.dsl 6349: If (LEqual (GEFC, 0x04)) Error 4064 - Object does not exist ^ (GEFC)

    dsdt_CALPELLA.dsl 6351: Store (GBDA (), GXFC) Error 4064 - Object does not exist ^ (GXFC)

    dsdt_CALPELLA.dsl 6354: If (LEqual (GEFC, 0x06)) Error 4064 - Object does not exist ^ (GEFC)

    dsdt_CALPELLA.dsl 6356: Store (SBCB (), GXFC) Error 4064 - Object does not exist ^ (GXFC)

    dsdt_CALPELLA.dsl 6359: Store (Zero, GEFC) Error 4064 - Object does not exist ^ (GEFC)

    dsdt_CALPELLA.dsl 6360: Store (One, SCIS) Error 4064 - Object does not exist ^ (SCIS)

    dsdt_CALPELLA.dsl 6361: Store (Zero, GSSE) Error 4064 - Object does not exist ^ (GSSE)

    dsdt_CALPELLA.dsl 6362: Store (Zero, SCIE) Error 4064 - Object does not exist ^ (SCIE)

    dsdt_CALPELLA.dsl 6368: If (LNot (DRDY)) Error 4064 - Object does not exist ^ (DRDY)

    dsdt_CALPELLA.dsl 6370: Sleep (ASLP) Error 4064 - Object does not exist ^ (ASLP)

    dsdt_CALPELLA.dsl 6373: Return (LNot (DRDY)) Error 4064 - Object does not exist ^ (DRDY)

    dsdt_CALPELLA.dsl 6378: If (LGreater (CSTS, 0x02)) Error 4064 - Object does not exist ^ (CSTS)

    dsdt_CALPELLA.dsl 6380: Sleep (ASLP) Error 4064 - Object does not exist ^ (ASLP)

    dsdt_CALPELLA.dsl 6383: Return (LEqual (CSTS, 0x03)) Error 4064 - Object does not exist ^ (CSTS)

    dsdt_CALPELLA.dsl 6393: Store (Arg0, CEVT) Error 4064 - Object does not exist ^ (CEVT)

    dsdt_CALPELLA.dsl 6394: Store (0x03, CSTS) Error 4064 - Object does not exist ^ (CSTS)

    dsdt_CALPELLA.dsl 6395: If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) Error 4064 - Object does not exist ^ (CHPD)

    dsdt_CALPELLA.dsl 6421: Store (Arg0, TIDX) Error 4064 - Object does not exist ^ (TIDX)

    dsdt_CALPELLA.dsl 6427: Store (Arg0, CLID) Error 4064 - Object does not exist ^ (CLID)

    dsdt_CALPELLA.dsl 6433: Store (Arg0, CDCK) Error 4064 - Object does not exist ^ (CDCK)

    dsdt_CALPELLA.dsl 6439: If (LNot (ARDY)) Error 4064 - Object does not exist ^ (ARDY)

    dsdt_CALPELLA.dsl 6441: Sleep (ASLP) Error 4064 - Object does not exist ^ (ASLP)

    dsdt_CALPELLA.dsl 6444: Return (LNot (ARDY)) Error 4064 - Object does not exist ^ (ARDY)

    dsdt_CALPELLA.dsl 6449: If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) Error 4064 - Object does not exist ^ (TCHE)

    dsdt_CALPELLA.dsl 6461: If (CPFM) Error 4064 - Object does not exist ^ (CPFM)

    dsdt_CALPELLA.dsl 10178: Scope { Error 4096 - ^ parse error, expecting `$'



    Maximum error count (200) exceeded ASL Input: dsdt_CALPELLA.dsl - 12756 lines, 393522 bytes, 2960 keywords Compilation complete. 201 Errors, 0 Warnings, 0 Remarks, 0 Optimizations


    The ones that get our attention is Object does not exist errors. Object does not exist means the object is not accessible but since there are a lot of errors, something else in play here. To find the actual offending codes, just need find an error called parse error. Using the example above, we found first parse error error:-
    dsdt_CALPELLA.dsl  6031:                 If (CondRefOf (FPED))
    Error    4096 -               parse error ^ 


    Open dsdt_CALPELLA.dsl with text editor & got o line 6031. The offending codes is an IF statement:-
                    If (CondRefOf (FPED))
                    {
                        FPED ()
                    }


    iasl.exe compiler doesn't like IF/IF-ELSE statement outside control method (e.g. Method (...). What we can do is by moving this IF statement to _INI control method. This is what _INI control method usually look like, this is also where _OSI (Operating System Interfaces) object is located:-
        Scope (_SB.PCI0)
        {
            Method (_INI, 0, NotSerialized)
            {
                Store (0x07D0, OSYS)
                If (CondRefOf (_OSI, Local0))
                {
                    If (_OSI ("Linux"))
                    {
                        Store (0x03E8, OSYS)
                    }

    If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) }

    If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) }

    If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) }

    If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) }

    If (_OSI ("Windows 2009")) { Store (0x07D9, OSYS) PHSR (0x92) } } }


    Just move the offending IF statement to _INI control method, like this (put it after _OSI IF statement):-
        Scope (_SB.PCI0)
        {
            Method (_INI, 0, NotSerialized)
            {
                Store (0x07D0, OSYS)
                If (CondRefOf (_OSI, Local0))
                {
                    If (_OSI ("Linux"))
                    {
                        Store (0x03E8, OSYS)
                    }

    If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) }

    If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) }

    If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) }

    If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) }

    If (_OSI ("Windows 2009")) { Store (0x07D9, OSYS) PHSR (0x92) } }

    If (CondRefOf (FPED)) { FPED () } }


    That's it. You now successfully fixed this. When you try to compile again, you will get less error than before.

    [H][/HR]

    Error 4122 - Invalid combination of Length and Min/Max fixed flags

    An example:-
    dsdt_CALPELLA.dsl  4094:                     0x00000000,         // Length
    Error    4122 -                                       ^ Invalid combination of Length and Min/Max fixed flags


    Let say the complete code is like this:-
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0xFED40000,         // Range Minimum
                        0xFED44FFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)


    What you need to do is updating the Length value using this formula:-
    Length = (Range Maximum - Range Minimum) + 1

    Example:- Length = (0xFED44FFF - 0xFED40000) + 1 = 0x4FFF + 1 = 0x5000


    So, after correcting it, the code should look like this:-
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0xFED40000,         // Range Minimum
                        0xFED44FFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00005000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)


    [H][/HR]

    Error 4080 - Invalid object type for reserved name (found BUFFER, requires Package)

    An example:-
    dsdt_CALPELLA.dsl  8481:                             Name (_PLD, Buffer (0x10)
    Error    4080 -                       Invalid object type for reserved name ^  (found BUFFER, requires Package)


    Let say the complete code is like this:-
                                Name (_PLD, Buffer (0x10)
                                {
                                    /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

    /* 0008 */ 0x3A, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 })


    What you need to do is change Buffer to Package. So, after correcting it, the code should look like this:-
                                Name (_PLD, Package (0x10)
                                {
                                    /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

    /* 0008 */ 0x3A, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 })


    [H][/HR]

    Error 4051 - Method local variable is not initialized (* iasl revision 3.0a: Error 4050)



    • An example:-
      dsdt_FJNB204_edited.dsl 10522:                 Return (Local2)
      Error    4051 -    Method local variable is not initialized ^  (Local2)


      Let say the complete code is like this:-
                  Method (TMRW, 2, NotSerialized)
                  {
                      \_SB.FEXT.FUNC (0x1006, 0x11, 0x0105, Or (ShiftLeft (Arg0, 0x08), And (
                          Arg1, 0xFF)))
                      Store (Zero, Local1)
                      While (LAnd (And (\_SB.FEXT.FUNC (0x1006, 0x10, 0x0100, 0x00), 0x8000),

      LLess (Local1, 0x22))) { Sleep (0x1E) Increment (Local1) }

      Return (Local2) }


      It throw error because, if you look closely, the Local2 variable was never use. So, it's like Local2 = NULL.

      To fixed this error, just need to change Return (Local2) to Return (Zero).
    • An example:-
      dsdt.dsl  2890:                         Store (Local0, Local0)
      Error    4051 -                                     ^ Method local variable is not initialized (Local0)


      The Store (Local0, Local0) means it store the content of Local0 variable into Local0 variable. So, they does nothing since the Local0 variable never been use (a.k.a. not initialized) in the code.

      To fixed this error, just need to change Store (Local0, Local0) to Store ("Local0", Local0) OR Store (Zero, Local0).




    [H][/HR]

    *I will add other common errors later*
    • Thumbs Up 2
  7. Expanded steps 1 to 3 for DSDT Override Guide.

    1. Find PCI0 device in .dsl file. They should be begin like this:-
            Device (PCI0)
            {
                Name (_HID, EisaId ("PNP0A08"))
                Name (_CID, EisaId ("PNP0A03"))


    2. Once you found the PCI0 device in .dsl file, scroll down slowly until you found something like this (this is just an example, yours might/will have different values):- (* this is the PNP0A08/PNP0A03 'DWordMemory' resource entries)
                Name (BUF0, ResourceTemplate ()
                {
                    WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                        0x0000,             // Granularity
                        0x0000,             // Range Minimum
                        0x00FE,             // Range Maximum
                        0x0000,             // Translation Offset
                        0x00FF,             // Length
                        ,, )
                    DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0x00000CF7,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000CF8,         // Length
                        ,, , TypeStatic)
                    IO (Decode16,
                        0x0CF8,             // Range Minimum
                        0x0CF8,             // Range Maximum
                        0x01,               // Alignment
                        0x08,               // Length
                        )
                    DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                        0x00000000,         // Granularity
                        0x00000D00,         // Range Minimum
                        0x0000FFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x0000F300,         // Length
                        ,, , TypeStatic)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x000A0000,         // Range Minimum
                        0x000BFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00020000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)


    3. Once you found the PNP0A08/PNP0A03 'DWordMemory' resource entries, scroll down until the last of 'DWordMemory' resource entry, for example like this (again, this is just an example, yours might/will have different values):-
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0xFEAFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)
                })
                Method (_CRS, 0, Serialized)


    4. Add the new 'QWordMemory' entry below the last 'DWordMemory' entry, like this:-
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0x00000000,         // Range Minimum
                        0xFEAFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00000000,         // Length
                        ,, , AddressRangeMemory, TypeStatic)
                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                       0x0000000000000000, // Granularity
                       0x0000000C20000000, // Range Minimum,  set it to 48.5GB
                       0x0000000E0FFFFFFF, // Range Maximum,  set it to 56.25GB
                       0x0000000000000000, // Translation Offset
                       0x00000001F0000000, // Length calculated by Range Max - Range Min.
                       ,, , AddressRangeMemory, TypeStatic)
                })
                Method (_CRS, 0, Serialized)


    5. Obviously, you need to save the file & run the commands in Windows command prompt if you use Windows OR run the commands in Terminal if you use linux/Mac OS X.
    • Thumbs Up 2
  8. I'm back, bringing you some update about my work:

    1- I tried DNA-AMD gfx driver version 12.6b.2 , but it didn't work.

    2- I tried Xtreme-g Driver version 12.10, it didn't work either.

    My only solution: Need an easy instructions of how to mod legacy driver to include AMD of both iGPU and eGPU as a unified driver.

    Hi @Tech Inferno Fan

    After a whole of struggling to make AMD Radeon GPU work, I have sold it and bought GTX 550 Ti, it worked without a hassle. I'll do benchmarking later.

    Sorry for replying late. I'm quite busy when you PM me (in the other forum). I see you already moved on & using Nvidia now. Anyway, I'll show how to mod AMD drivers to accept both integrated/mobility & desktop AMD GPUs.

    1. Download official drivers for integrated/mobility GPU from AMD/ATI website.
    2. Go to Packages\Drivers\Display\W76A_INF, open the C7xxxxxx.INF file & look for your device, for example:-
      post-5961-14494993911981_thumb.jpg
    3. Copy both lines & paste them in desktop drivers (C7xxxxxx.INF) in Packages\Drivers\Display\W76A_INF directory:-
      post-5961-14494993912843_thumb.jpg
      Note: If AMDxxxx.X is already exist, increment it. E.g. AMD9553.1 already exist, change the new entry to AMD9553.2, if AMD9553.2 already exist, change the new entry to AMD9553.3, and so on.
    4. Install the desktop driver.

    For successful installation, you'll need to disable driver signature (F8 -> Disable Driver Signature Enforcement).

    There is another trick to install both mobility & desktop drivers. What I did is install driver for integrated/mobility in Device Manager & for desktop driver, use the installer.

    post-5961-14494993911639_thumb.jpg

    post-5961-14494993912328_thumb.jpg

    • Thumbs Up 1
  9. I tried one memory module at a time & tested on each slot. I also tested both modules on my other notebook & confirmed they're ok. Also, I did tested with another set of RAMs. Unfortunately, none of this change anything. I'm able to triggered BIOS recovery mode (it reads optical disc that contain BIOS UEFI file when booting with CTRL + HOME keys). This show motherboard not fully dead, right? Maybe failed when P.O.S.T.-ing? But I don't know what failed. The ON OFF loop must be means something. I wish someone know.

    I forgot to mention one thing; before this problem happen, last thing I did is exiting BIOS UEFI by pressing F10 (save & exit). Prior that, I didn't change anything in BIOS UEFI.

  10. Hi all!

    My notebook somehow died a couple of weeks ago. It's not totally dead but now it ON-OFF loop when I turn on the computer. It's like this:-

    Turn ON >> boot up but with blank screen (no backlight either & go on like a minute) >> (auto) turn OFF >> (auto) turn ON for only one second >> (auto) turn OFF >> boot up but with blank screen (no backlight either & go on like a minute)

    and it repeats indefinitely until I turn it OFF by pressing the power button. Anyone know what this means? My best guest the CPU kaput; it tries to initialized CPU but failed. I troubleshoot it by putting a quad-core (i7-720QM) processor which I know this notebook doesn't support because this notebook is Nvidia Optimus powered notebook (it use Intel HD Graphics as primary adapter). With quad-core processor, it doesn't do ON-OFF loop but it stays ON indefinitely (with blank screen) until I turn it OFF.

    Specification:-

    Asus A42JV notebook (at some part of the world it's called K42JV)

    Intel i5-450M

    4GB DDR3-1066

    Intel HM55

    Please let me know if you need more information. Thank you.


  11. [RIGHT]Troubleshooting FAQ[/RIGHT]

    24 June 2012: Added checklist for troubleshooting when eGPU is not detected (Main FAQ).
    30 Mar. 2012: Fixed two-pass script in Non-Optimus FAQ.
    27 Mar. 2012: Added new DSDT override solution (extending the root bridge into 36-bit) to overcome high TOLUD (>3.25GB) & 4GB+ of RAM installed.
    3 Feb. 2012: Change "Quick Links" with icons.
    28 Jan. 2012: Updated the "Quick Links" & changed to new logo.
    23 Oct. 2011: Made small correction in Error 12 section.
    24 Sept. 2011: Revised the two-pass script in "Non-Optimus Setup: x2/x4" (FAQ#1).
    17 Sept. 2011: Added one more FAQ for Error 12.
    3 Sept. 2011: Rearrange titles/questions/topics into their own section.
    15 August 2011: Troubleshooting FAQ is now in dedicated thread! :)
    13 July 2011: Troubleshooting FAQ moved to new page which will ideally document reoccurring issues. Contributions/edits are most welcome.


    eGPU=external desktop GPU, iGPU=integrated GPU, dGPU=dedicated GPU


    Announcements:-
    • >>>Driver version in this troubleshooting page is outdated. Always use latest version. Consider the driver version in this page is the minimum/lowest version you can use.


    Main:- Common:- Error 12:- Error 42:- Error 43:- Optimus Setup: x1.1Opt/x1.2Opt:- Non-Optimus Setup: x2/x4 Link:-
    Main >>>
    • How to ask help efficiently? To allow others to help you, always include details information on your eGPU setup. Please use this template when posting.
      Quote

      Problem description 1. What's the problem? 2. Have you consulted the Troubleshooting FAQ to resolve the issue? 3. Have you consulted the Pre-Purchase FAQ --> "2. How can I check if my notebook is compatible with an eGPU?"

      Platform Description 1. OS 2. System 3. RAM 4. eGPU used 5. PSU specification (especially the +12V max current)

      This is how to generate Diags file & include them in your post.
      Quote

      Generate Diags Setup 1.30->Save Diags->compact_fails Setup 1.30->Save Diags->Windows_fails, follow prompts

      (USB) rar the diag folder, upload and link (dsk image) Run eGPUeGPU-Setupmount, rar the v:diag folder, upload and link


      ^top
    • Why is my eGPU is not detected?
      • Try any of these:-
        • If running a mPCIe eGPU refer to [url]http://forum.techinferno.com/diy-e-gpu-projects/11393-mpcie-egpu-troubleshooting-steps.html#post149873
        • [/url]
        • Power ON notebook with eGPU already connected & already turn ON.
        • Connect eGPU to notebook but not turn ON yet. Turn ON notebook & before windows loading press F8 to halt windows loading. Turn ON eGPU & continue boot into windows.
        • Connect eGPU to notebook but not turn ON yet. Turn ON notebook. When you see "Starting Windows" screen & you see the four dots emerged to form windows logo, turn ON eGPU.
  12. PCIe power connector Make sure you plugged all PCIe power connector on the GPU with 6/8-pin PCIe power connector(s) from PSU. If GPU have two PCIe power connectors & you think connected only one 6/8-pin PCIe power connector is enough, you're totally wrong.
  13. Floppy power connector (PE4L/PE4H) Connect floppy power connector from PSU to floppy power header on PE4L/PE4H
  14. Jumper (PE4L) Check out jumper settings in the manual which available from here:-
    • PE4L v1.5: [url=http://www.hwtools.net/Adapter/PE4L.html]PE4L ( PCIe passive adapter ver1.5 )
    • [/url]
    • PE4L v2.1: [url=http://www.hwtools.net/Adapter/PE4L%20V2.1.html]PE4L V2.1 ( PCIe Adapter )
    • [/url]

  15. ^top
    Common >>>
    • I have problems when running eGPU Setup 1.30. See eGPU Setup 1.30 troubleshooting.
      ^top
    • My system just boots to a black screen / my system hangs or BSODs while booting up to Win7

      If running a mPCIe eGPU refer to [url]http://forum.techinferno.com/diy-e-gpu-projects/11393-mpcie-egpu-troubleshooting-steps.html#post149873
    • [/url]

      Poweroff your eGPU. Boot Win7. Standby (not hibernate) your system, poweron your eGPU, resume your system.
      ^top
    • My eGPU worked, then stopped working all of a sudden

      First thing is check your mini HDMI cable. 2 users requiring a replacement US$6-shipped cable to restore functionality.

      NOTE: This solution only for PE4L v1.5 & PE4H v2.4.
      ^top
    • My eGPU hangs, particularly when doing a lot of graphics processing

      If you are running a Gen2-capable system (2nd gen i-core or newer) but not using a Gen2 capable eGPU adapter (PE4L 2.1b or PE4C 3.0), then you'll need to downgrade your link to Gen1 to gain reliable operation using Setup 1.30

      Check your PSU is delivering the required power OR swap with another more powerful PSU and test again. We've found cheap double-rail PSUs might not deliver enough power. Eg: a Shaw 680W PSU has a 12V/16A and 12V/15A rail. The latter rail was insufficient to power a GTX470 requiring 225W of power.

      Also refer to Panzer's fuse bypass on PE4H ^top
    • I can't play any game or run any benchmark for more than a minute or two before a complete system lock up - "black screen" of death.

      Pretty much the same issue as for Q4. Likely the PE4H's fuse is kicking in upon detecting a very high load and shuts down the power to your eGPU. This will occur with any of the heavy duty gpus like a GTX465+ or GTX560+.

      The solution is to set the PE4H 2.4 fuse bypass jumper (near the floppy molex connector). Older PE4H can do Panzer's fuse bypass to accomplish the same thing.
      ^top
    • [ATI] Device Manager lists my eGPU without any errors but has have no resources against it nor is any external LCD detected

      This is a problem seen with onboard HD3450+HD6850 setups. The solution being a unified driver for both cards as provided by the DNA modded ATI drivers.
      ^top
    • I have a PE4L + DC adapter. The eGPU isn't detected/fan spins up fast.

      Set JP4 on the PE4L as described so it draws 3.3V from the expresscard or mPCIe slot. Can connect a USB cable b/w your notebook and the PE4L to provide additional 5V->3.3V (regulated) if you find it's still flakey.
      ^top
    • My eGPU recognises the external monitor but when I make it the primary it doesn't "turn on" and I'm simply reverted back to my internal LCD

      If you see a brief flash on the external LCD then it could either be a faulty HDMI cable connected to the LCD or the PSU is insufficient to drive the eGPU to actually display something. I did encounter a intermittently faulty HDMI cause this problem.

      Also, Optimus drivers newer than 258.96 will cause this if using a DVI-to-VGA adapter.
      ^top
    • Upon powering my eGPU, the fan on the eGPU just spins faster and the card isn't detected.

      This indicates the eGPU is either not on the PCI bus or isn't getting 3.3V. Try unplugging, replugging the mini HDMI cable (expresscard solution) or hotplugging the PM3N (mPCIe solution). If the card is still not detected then connect the setup to another system's expresscard slot. It may be either a faulty expresscard slot or mini HDMI cable. Worth testing the eGPU in a desktop system as well.
      ^top
    • I have problems running an Nvidia eGPU with an internal NVidia dGPU (supplied by nlooije/Khenglish)

      The trick is to get both an NVIDIA dGPU and eGPU working work under the same driver.

      This method assumes that the eGPU is detected in the device manager. If any errors such as code 12 or 43 are present check the corresponding items in the Troubleshooting section. If using the PM3N and it is not detected then maybe the mPCIe port is whitelisted, use the Setup 1.30 to unwhitelist.
      • Download the latest drivers from the NVidia website or from this post by Tech Inferno Fan.
      • Once the eGPU is detected, windows will automatically search for drivers through windows update. Cancel the search, and let windows install the standard vga drivers.
      • In the device manager, right-click uninstall the dGPU and eGPU NVidia drivers. Use CCleaner to search for any residual Nvidia driversoftware and delete further.
      • Install the latest Nvidia drivers. If everything went correctly then the installation software should ask permission to install the drivers twice, once for every card.
      • Reboot and cross fingers.

    ^top
  16. My mHDMI cable does not fit in my half-height PM3N mPCIe socket

    Newer systems have been reported to have half-height mPCIe socket which may be limited in space for inserting a mHDMI cable due to the rigid connector.

    DIY solution: It is possible to strip the rigid connector to give the cable more flexibility and make more efficient use of the space. Use a sharp knife to cut along the ridge of the connector; be careful near the cable itself as the wires there are not protected. Inside the connector the wires are protected by a thick layer of solid glue.

    non-DIY solution: no commercial products have been found to solve this problem.

    (supplied by beatTheRestrictions)
    ^top
  17. Why does my USB/network/sound not working when enable my eGPU in Win7?

    Likely a PCI contention issue. Recommend setting up Setup 1.30, configured with a pci.bat (resulting from PCI compaction on your primary GPU + eGPU) prior to chainloading Win7.
    ^top

  18. Error 12 >>>
    • My eGPU is detected and drivers loaded but has an error 12: cannot allocate resources against it in Device Manager

      Please check TOLUD on your notebook. For a reference on how to do this, please go to Pre-Purchase FAQ #2 (>> 2. How can I check if my notebook is compatible with an eGPU?).

      Many notebook vendors' bios were never designed to accomodate a desktop eGPU so do not setup PCI configuration space correctly to accomodate it resulting in the symptoms below. This will affect the DIY, Villagetronic ViDock and MSI Graphics Upgrade Solution (GUS) external graphics solutions.

      Symptom
      RequirementSIZE>
      Details with solution1SIZE>
      Device Manager
      error 12:
      cannot allocate
      resources
      Fix error
      • Problem explanation: Windows XP/Server 2003 do not reconfigure the bridge windows based on the requirements of a device behind the bridge. This leads to a classic problem where a PCI device cannot be started due to lack of resources on the bridge, even though enough device resources are available to the system. For reasons such as this, a platform configuration that configures PCI devices at boot time works best.
      • Some systems with more than 2.5GB RAM have no bios allocated free 256MB PCI window to host the desktop eGPU. Need to configure this correctly using one of the methods below:
        Solution#1 : (Update 3-14-2012) A DSDT override extending the root bridge into 36-bit can allow ALL systems with a 64-bit CPU and chipset (anything after 2007) to be eGPU compatible when used with Windows 7 and the latest iGPU/dGPU/eGPU drivers with up to 48GB of RAM installed.
        Solution#2 : Use Win8.x (WDM 1.2) that allows the primary video device to be disabled, freeing up resources for the eGPU to use.
        Solution#3 : Use Win7 to do a PCI relocation as described.
        Solution#4 : Use eGPU Setup 1.30 PCI Compaction.
        Solution#5 : [XP or Win7_with_XP_drivers] - disable onboard graphics using eGPU Setup 1.30
        Solution#6 : install only 2.5GB/3GB of RAM, freeing 256MB of PCI Resource space.
        Solution#7 : Use Magma ExpressBox Full Driver described here.
      Greater than
      2.5/3GB RAM
      installed
      Examples Neither the DV2000 or the 2510P had an appropriate PCI bridge memory window defined by the bios. The DV2000 too didn't have a free 256MB window when equipped with 3GB of RAM, the 2510P didn't have it's bridge correctly configured. In both cases eGPU Setup 1.30 was used to configure the PCI space correctly.
      ^top

    • Even after successful compaction I still get a error 12: cannot allocate resources in Device Manager

      (Source: Tech Inferno Fan) The first thing to try is 32bitA compaction and see if that resolves it. If not, then what has been discovered happening is the I/O port allocated by compact gets moved by Win7. The I/O port allocated is shown as the last two echo lines in pci.bat such as :

      @echo -s 2:0.0 BASE_ADDRESS_5=2001 >> setpci.arg
      @echo -s 0:1c.1 1c.b=20 1d.b=20 >> setpci.arg


      The 0:1c.1 refers to pci-e port2 and the 2:0.0 refers to the PCI ID my GTX460 has. The 20 and 2001 means assign the port and GTX460 to use I/O port 0x2000-20FF. On this particular system, Win7 moves the pci-e express port2's I/O space to 0xD000-DFFF port instead which is odd so the GTX460 flags an error 12 since it can't get 0x2000-20ff.

      So the workaround is to change the 20 to be D0 and let Win7 have it's way. This can be done by adding two additional lines between "call pci" and "call chainload" to override compact's allocation. This setting will override any further re-runs of compaction as well. It should look like this in STARTUP.BAT file:-

      call pci
      setpci -s 2:0.0 BASE_ADDRESS_5=d001
      setpci -s 0:1c.1 1c.b=d0 1d.b=d0
      call chainload mbr

      ^top


    Error 42 >>>
    • I get an error 42: cannot start device in Win7

      Standby (not hibernate) your system, poweroff your eGPU, poweron, resume your system.
      ^top

    Error 43 >>>
    • I get an error 43 against my eGPU in Win7.

      UPDATE: Use NVidia Verde 270.61 driver as described.

      First thing to replace is the mini HDMI cable. Could also be a faulty eGPU. Or if using a NVidia eGPU try:
      • Ensure your PE4L 1.5+ or PE4H 2.4+ has the PCI Reset Delay slider set to 0s rather than 7 or 15. If it's the latter then upon doing a resume-from-standby the card will be delayed leading to an 'unconfigured' state, hence the error 43.

      • Use Setup 1.30 to load a PCI dump AND use the 258.96 Optimus drivers (becak)

      • Downgrade to 258.96 Optimus drivers (apollo-fox)


    (Update 26 July 2011) There is the Video cards->Initialize and Video cards->Save/Load dump features to eradicate error43. Ensure you are running the latest 275.33 Verde drivers + modded nvam.inf and the PCI reset delay slider on the PE4L 1.5/PE4H 2.4 is set to the 0 seconds position (not 7 or 15 seconds). Then proceed as follows:
    • Boot eGPU Setup 1.30 with 2GB installed, run Setup 1.30, select to Video Cards->Save. If you are hotplugging after bios boot then need to select Video Cards->Save(Win) and follow instructions generated from within Windows.

    • Install 4GB of RAM. Boot Windows. Create a devcon with 4GB of system RAM installed:

      eGPUeGPU-setup-mount
      v:devconmkdevcon 


    • Boot eGPU Setup 1.30,

      - select Video cards->Load to load the PCI space dump created when it was working with no error 43. - perform 32-bit PCI compaction on the iGPU+eGPU.

      - select startup.bat->edit, remove the 'call vidinit' since it might interfere with your load dump. - select Apply config.Run startup.bat - select Chainload mbr
    If still get an error 43, then repeat steps in (3) above but use 32-bitA PCI compaction method instead.
    ^top
    Optimus Setup: x1.1Opt/x1.2Opt >>>
    • Lenovo Thinkpad/Dell Latitude: I boot with the expresscard in my system. The internal LCD doesn't appear/work. Neither do I see x1.Opt performance (NVidia)

      These system's bios will use the eGPU as the primary video if it detects it on bios startup. That means the iGPU will be disengaged. Problem then is the internal LCD won't work and neither will x1.Opt since they are both reliant on a iGPU to be the primary video card.

      Solution is to boot past the bios with the eGPU switched off, then either:
      • hotplug the EC2C by hitting F8 to stall the Windows boot proces
      • power on eGPU, resume in Windows

      • boot Setup 1.30 and hotplug if need PCI compaction

    ^top
  19. Installing Nvidia drivers with AMD/Intel switchable graphics gives an error (supplied by appolo-fox)

    Installing Nvidia drivers with AMD/Intel switchable graphics may give you an error asking you to install Intel drivers first.

    Solution is to uninstall the switchable driver from your manufacturer (Lenovo in this case); system should revert to pure Intel driver via WinUpdate (if not, you will need to reboot and disable AMD discrete GPU with Setup 1.30 and let WinUpdate install or download newest Intel driver from their website. The Nvidia installer should be content with the pure Intel driver and install correctly. After Nvidia installation, reinstall your switchable graphics driver.

    [URL=http://imageshack.us/photo/my-images/811/amdintel.jpg/]
  20. [/URL]

    -> Intel driver provided by ATI (AMD). Nvidia installer exits with error.
    ^top
  21. I can't get internal LCD mode to work.

    This appears to be the case if you attach your eGPU after Win7 boots. So either hotplug your eGPU at the Win7 bootloader menu (hit F8 to pause bootup). Another option is to install and configure Setup 1.30 to detect your eGPU and configure your PCI configuration space prior to chainloading to Win7.

    AppInit_DLLs needs to be set for internal LCD mode to work

    For games to launch on the internal LCD on systems with an intel iGPU, the AppInit_DLLs needs to route via a DLL. NVidia sets this to nvinit.dll. During my tinkerings I have seen this registry setting missing so internal LCD mode didn't work.

    [H]
    "AppInit_DLLs"="C:WindowsSysWOW64
    vinit.dll"



    ^top

  22. Non-Optimus Setup: x2/x4 >>>
    • Set x2 link but mPCIe Port2 or Port4 enabled after reboot?

      On x2 setup (mPCIe Port1&Port2 or Port3&Port4), mPCIe Port2/Port4 must be disabled. If they left enabled, it can cause eGPU instability (e.g. 3dMark06 crashed while running benchmark). There are two methods for dealing this issue.

      First Method: modded PM3N (Source: Tech Inferno Fan)
      Spoiler

      PM3N 1.2 uses CLKRUN, but gives you a 7/15s delay time to set your link to x2. If you can get your link to x2 in 15s upon switching the power on your system, then it will work. Probably can't do that so I consider it a dud solution. So if lane1 is a mPCIe slot in a x2 setup then consider modding the PM3N v1.1 as follows:

      modded PM3N 1.1 to start CLKRUN when setting the jumper

      Here my modded PM3N 1.1 so that setting the jumper starts CLKRUN.

      • Open TP6 by desoldering the solder blob.

      • Run a patch wire connecting right TP6 pad (CLKRUN) to right jumper post.

      • Short C1 to give a direct connection to GND.

      • Remove U1 ic to not interfere with this arrangement.


      Boot with jumper open, close the jumper after x2 link is setup. You may/may not need to unplug/replug the mini HDMI cable to get the video card to be registered. Use Setup 1.30 to do the x2 link and hit F5 to rescan it until you see the video card as a x2 link.

      This was the least obtrusive way I got it to work on my DV4-2000 without needing to do scary hotplugging of the PM3N. I'm hoping hwtools' future PM3N will wire CLKRUN to the mini HDMI cable's ground so that plugging in lane1 mini HDMI cable will start CLKRUN.


      Second Method: two-pass script in STARTUP.BAT (Source: Tech Inferno Fan)
      Spoiler

      You'd need a two-pass 'automated startup via startup.bat' (configstartup.bat) like below since you have to reboot to get a x2 link going midstream.

      1If using mPCIe Port3 & Port4, change "call iport x2 1" (marked in BLUE) to "call iport x2 3"

      :: Enable cache to speedup startup.bat runtime
      call speedup lbacache

      :: Enable x2 on port1 call iport x2 1

      :: Prompt to attach the eGPU if it's not detected call vidwait 60

      :: If find eGPU then skip to eGPU_found below if NOT errorlevel 1 goto eGPU_found

      :: If don't find eGPU then issue msg and reboot call wait_e 2 "No eGPU detected. Rebooting."

      reboot

      :eGPU_found :: Check if the eGPU is running a x2 link on port1 call iport scan -file ports.txt grep "%eGPU%@x2.1" ports.txt > nul

      :: If find x2 link then skip to x2_link_found below if NOT errorlevel 1 goto x2_link_found

      :: If no x2 link found then issue msg and reboot

      del ports.txt call wait_e 2 "No x2 link detected. Rebooting."

      reboot

      :x2_link_found :: [email protected] detected so run pci.bat + chainload if exist pci.bat call pci call chainload mbr

      ^top
    • Thumbs Up 13
×
×
  • 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.