Jump to content

viking1304

Members
  • Posts

    144
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by viking1304

  1. I guess you missed this part of one of my previous messages (or misunderstood it):

     

    Quote

    If you have CpuSsdt and Cpu0Ist dropped in your config, you will not need those two tables at the end, but you might need them for proper decompile.

     

    1. Remove SSDT-3-CpuSsdt.aml and ssdt.dsl (where that even came from?) from patched folder.

    2. Remove SSDT.aml and SSDT-3-CpuSsdt.aml from sorted order in your config. SSDT.aml is not needed in latest versions of MacOS with E7450.

     

    You should have this in your patched folder

    DSDT.aml
    SSDT-0-SataTabl.aml
    SSDT-1-Ther_Rvp.aml
    SSDT-4-LakeTiny.aml
    SSDT-5-CppcTabl.aml
    SSDT-6-Cpc_Tabl.aml
    SSDT-7-SaSsdt.aml
    SSDT-8-DptfTabl.aml
    SSDT-PNLF.aml

    And this in your config under sorted order

    <key>SortedOrder</key>
    <array>
    	<string>SSDT-0-SataTabl.aml</string>
    	<string>SSDT-1-Ther_Rvp.aml</string>
    	<string>SSDT-4-LakeTiny.aml</string>
    	<string>SSDT-5-CppcTabl.aml</string>
    	<string>SSDT-6-Cpc_Tabl.aml</string>
    	<string>SSDT-7-SaSsdt.aml</string>
    	<string>SSDT-8-DptfTabl.aml</string>
    	<string>SSDT-PNLF.aml</string>
    </array>

     

  2. Send your patched DSM files, but also send your patched folder from EFI and config that you are trying to use. Files in patched folder must mach those in your config and I have a feeling that yours doesn't match.

     

    I have few different working config and patch sets, with completely different file names and, but all files always match.

     

    Version 1 (static A17)

     

    Patched folder:

    DSDT.aml
    SSDT-0.aml
    SSDT-1.aml
    SSDT-2.aml
    SSDT-8.aml
    SSDT-9.aml
    SSDT-10.aml
    SSDT-11.aml
    SSDT-12.aml
    SSDT-13.aml
    SSDT-14.aml
    SSDT-PNLF.aml

    Sort order in config:

    		<key>SortedOrder</key>
    		<array>
    			<string>SSDT-0.aml</string>
    			<string>SSDT-1.aml</string>
    			<string>SSDT-2.aml</string>
    			<string>SSDT-8.aml</string>
    			<string>SSDT-9.aml</string>
    			<string>SSDT-10.aml</string>
    			<string>SSDT-11.aml</string>
    			<string>SSDT-12.aml</string>
    			<string>SSDT-13.aml</string>
    			<string>SSDT-14.aml</string>
    			<string>SSDT-PNLF.aml</string>
    		</array>
    	</dict>

    Dropped files:

    		<key>DropTables</key>
    		<array>
    			<dict>
    				<key>Signature</key>
    				<string>DMAR</string>
    			</dict>
    			<dict>
    				<key>Signature</key>
    				<string>SSDT</string>
    				<key>TableId</key>
    				<string>CpuSsdt</string>
    			</dict>
    			<dict>
    				<key>Signature</key>
    				<string>SSDT</string>
    				<key>TableId</key>
    				<string>Cpu0Ist</string>
    			</dict>
    		</array>

     

    Version 2 (static A19)

     

    Patched folder:

    DSDT.aml
    SSDT-0-SataTabl.aml
    SSDT-1-Ther_Rvp.aml
    SSDT-4-LakeTiny.aml
    SSDT-5-CppcTabl.aml
    SSDT-6-Cpc_Tabl.aml
    SSDT-7-SaSsdt.aml
    SSDT-8-SgPch.aml
    SSDT-9-DptfTabl.aml
    SSDT-10-OptTabl.aml
    SSDT-PNLF.aml

    Sort order in config:

    		<key>SortedOrder</key>
    		<array>
    			<string>SSDT-0-SataTabl.aml</string>
    			<string>SSDT-1-Ther_Rvp.aml</string>
    			<string>SSDT-4-LakeTiny.aml</string>
    			<string>SSDT-5-CppcTabl.aml</string>
    			<string>SSDT-6-Cpc_Tabl.aml</string>
    			<string>SSDT-7-SaSsdt.aml</string>
    			<string>SSDT-8-SgPch.aml</string>
    			<string>SSDT-9-DptfTabl.aml</string>
    			<string>SSDT-10-OptTabl.aml</string>
    			<string>SSDT-PNLF.aml</string>
    		</array>

    Dropped files:

    		<key>DropTables</key>
    		<array>
    			<dict>
    				<key>Signature</key>
    				<string>DMAR</string>
    			</dict>
    			<dict>
    				<key>Signature</key>
    				<string>SSDT</string>
    				<key>TableId</key>
    				<string>CpuSsdt</string>
    			</dict>
    			<dict>
    				<key>Signature</key>
    				<string>SSDT</string>
    				<key>TableId</key>
    				<string>Cpu0Ist</string>
    			</dict>
    		</array>

     

     

  3. I completely forgot that, since I fixed it in mine. Now I see where those errors came from.

     

    Mine should be complete, since I also added this at the end:

    into_all all code_regex PCI0\.B0D3 replaceall_matched begin PCI0.HDAU end;
    into_all all label \_SB.PCI0.B0D3 set_label begin \_SB.PCI0.HDAU end;

    EDIT:

     

    This one should be enough, I can't remember where that second line came from.

    into_all all code_regex PCI0\.B0D3 replaceall_matched begin PCI0.HDAU end;

     

  4. I downloaded origin from your first post and patched it without any problem. I am not sure how you managed to get that error. What you exactly did in order to change layout id? Can you show me the code that produce the error and what are you doing in order to fix it?

     

    I have some additional remarks that doesn't have anything related to your current errors, but might be helpful. You do not need to change anything manually if you are using my repo. I made another patch [19][audio] Audio Layout 11, which change layout ID to 11 and device-type to Realtek ALC 293. I also made [17][igpu] HD 5500 graphics which sets ig-platform-id and model for Intel HD 5500. [12][sys] Fix PNOT/PPNT is needed only if you have dropped CPU SSDTs in config.

     

     

  5. @Jake Lo [01][syn] Fix PARSEOP_IF/CLOSE_PAREN Errors is actually your patch, which I added to my repo. 

    # Fix IASL bug on some DSDT by Jake Lo
    # https://osxlatitude.com/forums/topic/10375-how-to-fix-recent-dsdt-common-error-caused-by-iasl-bug/

     I also modified some of original patches and added some patches of my own in my repo, but as I wrote, that repo were intended for my personal use.

     

    @acquarius.13 Jake probably thought it was something different, since his patch is not in original repo, and yes, you need to run that one first. As he wrote, you do not need [02][syn] Fix PARSEOP_ZERO Error (aggressive), since you need it only if you need to fix PARSEOP_ZERROR errors that you do not have. Do not run patches that are made to resolve errors if you do not have those errors.

     

    You can use [91][syn] Fix ADBG Error (alternate) to fix ADBG error in your screenshot, or you can fix it manually. btw. I do not have that one if i use refs file when decompile.

     

    If you do not have nVidia, do not run those patches with gfx0 in name (21,22,23).

     

    Be sure that you are working on freshly decompiled DSL files (or clean DSL files from backup). Fix errors first. When you successfully compile, run patches one by one, and check if everything still compiles after applying each patch.

     

    Have you also changed your config or just patched files folder? There is no reason for bt, audio and brightness not to work if you just changed patched files with original config.

     

    For working brightness you need to have SSDT-PNLF.aml in patched folder and proper com.apple.driver.AppleBacklight patch in kextstopatch section of your config, so be sure that you have that aml in your patched folder.

  6. Framebuffer patch works just fine here, but I do not have Inject Intel nor ig-platform-id as advised in WEG Intel FAQ:

     

    Quote

     

    Turn off all graphics injections in Clover:
    - config.plist/Graphics/Inject/ATI=NO
    - config.plist/Graphics/Inject/Intel=NO
    - config.plist/Graphics/Inject/NVidia=NO

    - config.plist/Graphics/ig-platform-id=
    - config.plist/Devices/FakeID/IntelGFX=

     

     

    WEG should fix renames (at least GFX0 -> IGPU), but with next statement in mind, I would left renames in config:

     

    Quote

    You may need to include Clover GFX0 -> IGPU rename for other kexts or ACPI patching that require it

     

    I am not sure that USBPower.kext (renamed to USBPorts.kext in latest FBP versions) is proper replacement for USB3 _PRW 0x6D. I do not see anything related to IOPowerManagement nor power states there.

     

    If you check for example this part of info.plist from that kext:

    					<key>SSP1</key>
    					<dict>
    						<key>UsbConnector</key>
    						<integer>3</integer>
    						<key>port</key>
    						<data>
    						DAAAAA==
    						</data>
    					</dict>

    you will see that it just sets port to 0x0c (DAAAA== is 0c 00 00 00 in hex, and when you reverse that, you will get 0x0c) and UsbConnector to 3. As far as I know UsbConnector is actually USB type. Basically it just sets SSP1 to be USB 3 on port 0x0c. It is similar for all other ports included in kext. As I mentioned before, if you export this patch from latest version of FBPatcher (1.4.4) it will be named USBPorts.kext, not USBPower.kext like in older versions. I guess they figured out that power in name might be confusing.

     

    This looks more appropriate:

     

    Quote

    SSDT-GPRW.dsl and SSDT-UPRW.dsl This SSDT is used in conjuction with the GPRW->XPRW or UPRW->XPRW patch. Used together this SSDT can fix "instant-wake" by disabling "wake on USB". It overrides the _PRW package return for GPE indexes 0x0d or 0x6d. Potential companion patches are provided in hotpatch/config.plist

     

    Based on this part of my DSDT (that is patched with USB3 _PRW 0x6D)

     

        Scope (_SB.PCI0.EHC1)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Store (UPRW (), Local0)

    I guess I should rename UPRW -> XPRW and to compile SSDT-UPRW.dsl.

     

    I think I will try this right away.

     

  7. Try to rebuild cache again. You should see something like this in your log:

    Kext with invalid signatured (-67062) allowed: <OSKext 0x7fe82370dd80 [0x7fff974bc8e0]> { URL = "AppleBacklightInjector.kext/ -- file:///Library/Extensions/", ID = "org.rehabman.injector.AppleBacklightInjector" }

    My FakeSMC.kext is in Clover/kexts/Other and my AppleBacklightInjector.kext is in /L/E

  8. I would like to check if I am correctly understood hotpatch equivalents of mentioned static patches (even my hotpatch config works fine as far as I can see). 

     

    1. Rename _DSM methods to XDSM

    Acpi/DSDT/Patches: _DSM -> XDSM - but I guess this one is needed only if some of AML files in patched folder or Clover fixes use _DSM methods (AddDTGP for example)

     

    2. Fix _WAK Arg0 v2

    Acpi/DSDT/Fixes: FixWAK - but probably not needed since 10.10.2 (based on comment in patch source)

     

    3. IRQ Fix

    Acpi/DSDT/Fixes: FixHPET

     

    4. SMBUS Fix 

    Acpi/DSDT/Fixes: FixSBUS - most likely not needed


    5. RTC Fix

    Acpi/DSDT/Fixes: FixRTC - most likely not needed

     

    6. OS Check Fix

    Acpi/DSDT/Fixes: FixDarwin

     

    7. Fix Mutex with non-zero SyncLevel

    Acpi/DSDT/Fixes: FixMutex

     

    8. Add IMEI

    Acpi/DSDT/Patches: HECI -> IMEI

     

    9. Add MCHC

    Acpi/DSDT/Fixes: AddMCHC - most likely not needed

     

    10. Rename GFX0 to IGPU

    Acpi/DSDT/Patches: GFX0 -> IGPU - most likely not needed

     

    11. Rename B0D3 to HDAU

    Acpi/DSDT/Patches: BD03 -> HDAU- most likely not needed

     

    12.  USB3 _PRW 0x6D (instant wake)

    Acpi/DSDT/Patches: GPRW->XPRW or UPRW->XPRW + SSDT-GPRW or SSDT-UPRW - but I do not see any of those in related hotpatch configs (nor Jake's nor Rehabman's)

     

    13.  Disable/Enable on _WAK/_PTS (DSDT) and Disable from _INI (SSDT)

    SSDT-DDGPU - but with  RP05 - to completely disable discrete nVidia

    // For disabling the discrete GPU
    
    #ifndef NO_DEFINITIONBLOCK
    DefinitionBlock("", "SSDT", 2, "hack", "_DDGPU", 0)
    {
    #endif
        // Note: The _OFF path should be customized to correspond to your native ACPI
        // the two paths provided here should be considered examples only
        // it is best to edit the code such that only the single _OFF path that your ACPI
        // uses is included.
        External(_SB.PCI0.RP05.PEGP._OFF, MethodObj)
        
    
        Device(RMD1)
        {
            Name(_HID, "RMD10000")
            Method(_INI)
            {
                // disable discrete graphics (Nvidia/Radeon) if it is present
                If (CondRefOf(\_SB.PCI0.RP05.PEGP._OFF)) { \_SB.PCI0.RP05.PEGP._OFF() }
            }
        }
    #ifndef NO_DEFINITIONBLOCK
    }
    #endif
    //EOF

    14. SD/MMC Card Reader

    Devices/Arbitary - pci14e4,16bc on 01:00:00 (with all required properties from Jakes config)

     

    15. Audio Layout 11 

    Devices/Properties - layout-id for PciRoot(0x0)/Pci(0x1b,0x0)

     

    16. Intel framebuffer patches

    Devices/Properties - PciRoot(0x0)/Pci(0x2,0x0) properties in conjunction with WhateverGreen

     

    Did I get anything wrong or missed something important?

     

    EDIT:

     

    Yes, I have AutoMerge enabled and Drop OEM disabled, I only have SSDT-PNLF and SSDT-PNLF in patched folder and I have some additional patches like Enable TRIM for SSD, change F%uT%04x to F%uTxxxx, MSR 0xE2 _xcpm_idle instant reboot, Disable panic kext logging on 10.14 release kernel in my config. That is very clear. I am just interested if there is something that I missed in static to hotpatch transition. 

  9. FakePCIID_XHCIMux.kext is part of RehabMan's FakePCIID. You will need this one only if you have a problem with some internal USB devices and if you are in temptation to use USBInjectAll.kext to resolve those issues. In that case use FakePCIID_XHCIMux instead, otherwise you do not need it.

     

    You do not need EAPDFix anymore. AppleALC is enough now.

     

    Since you are using WhateveGreen, remove Shiki. You can also use this patch instead of IntelGraphicsDVMTFixup

    • Like 1
  10. 4 hours ago, acquarius.13 said:

    1. Should I patch and compile ALL the other SSDT-xxxx.aml files or is this one sufficient?

    2. How do I rename properly my SSDT-xxxx.aml files in SSDT-0-1-7-8-10-11-PNLF.aml files to have a working SSDT?

     

    1. You do not need to patch all SSDTs and you need to compile only those that you actually patched.

    2. You do not need to rename any SSDT, but you might need to change your config in some cases. Different names are result of different BIOS and Clover versions. Newer Clover versions dump tables with more descriptive names. Dumps from older versions only had numbers. Tables from different BIOS versions on same machine can be different and can have different numbers.

     

    If Drop OEM option is enabled, you need to have proper SortedOrder set, with names that match actual AML files in your Clover/Patched. Dropped tables are not needed here, nor in Clover/Patched. As you can see I am using same names as they were dumped.

     

    1606622234_ScreenShot2018-09-25at6_54_14PM.png.c9f4eefcc8a63139b98358179c29d7a7.png

     

    Since your laptop and BIOS are almost same as mine, let's cheat a little, but if you really would like to understand what you are doing, read everything you can find about DSDT/SSDT patching that you can find.

     

    Backup your origin, so you do not need to dump files again if you mess something up.

     

    You were probably got something very similar to this:

    DSDT.aml
    SSDT-0-SataTabl.aml
    SSDT-1-Ther_Rvp.aml
    SSDT-2-Cpu0Ist.aml
    SSDT-3-CpuSsdt.aml
    SSDT-4-LakeTiny.aml
    SSDT-5-CppcTabl.aml
    SSDT-6-Cpc_Tabl.aml
    SSDT-7-SaSsdt.aml
    SSDT-8-SgPch.aml
    SSDT-9-DptfTabl.aml
    SSDT-10-OptTabl.aml
    
    SSDT-x3_0-SgPch.aml
    SSDT-x3_1-ApIst.aml
    SSDT-x3_2-Cpu0Cst.aml
    SSDT-x3_3-ApCst.aml

     

    You do not need files with SSDT-x in name, so you can delete those right away. If you have CpuSsdt and Cpu0Ist dropped in your config, you will not need those two tables at the end, but you might need them for proper decompile.

     

    Use those refs (I added one by one, until I had 0 unresolved external methods):

    External(MDBG, MethodObj, 1)
    External(_GPE.MMTB, MethodObj, 0)
    External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
    External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
    External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
    External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
    External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
    External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
    External(_GPE.VHOV, MethodObj, 3)
    External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
    External(_SB_.PCI0.I2C0.SHUB.PS0X, MethodObj, 0)
    External(_SB_.PCI0.I2C0.SHUB.PS3X, MethodObj, 0)
    External(_SB_.PCI0.PAUD.PUAM, MethodObj, 0)
    External(_SB_.PCI0.XHC_.DUAM, MethodObj, 0)
    External(_SB_.TPM_.PTS_, MethodObj, 1)
    External(INIR, MethodObj, 0)
    External(PS0X, MethodObj, 0)
    External(PS2X, MethodObj, 0)
    External(PS3X, MethodObj, 0)

    Decompile with refs and you will not have some errors that you had anymore.

    iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml

    You can add my E7450-DSDT-Patch repo if you want, since it might be easier for you to follow order of patches. Please keep in mind that I made that fork for my personal use and that I can reorder, change or remove some of those patches in the future. If that doesn't bother you, you are more than welcome to use it. Almost all of those patches are already in Reahabman's repo and you should easily find them there. I just slightly modified some of them and sort them as I wanted. But I also added some patches that are not there. 

     

    Start patching in this order:

    [01][syn] Fix PARSEOP_IF/CLOSE_PAREN Errors
    [02][syn] Fix PARSEOP_ZERO Error (aggressive)
    [04][syn] Rename _DSM methods to XDSM
    [05][sys] Fix _WAK Arg0 v2
    [06][sys] HPET Fix
    [07][sys] SMBUS Fix
    [08][sys] IRQ Fix
    [09][sys] RTC Fix
    [10][sys] OS Check Fix (Windows 8)
    [11][sys] Fix Mutex with non-zero SyncLevel
    [12][sys] Fix PNOT/PPNT
    [13][sys] Add IMEI
    [14][sys] Add MCHC
    [15][igpu] Rename GFX0 to IGPU
    [16][igpu] Rename B0D3 to HDAU
    [17][igpu] HD 5500 graphics
    [18][usb] USB3 _PRW 0x6D (instant wake)
    [19][audio] Audio Layout 11
    [20][misc] SDCard Reader

    Apply first one and try to compile. If you didn't add my repo, copy/paste that one from Jakes post.

     

    If you do not get any PARSEOP_ZERO errors, skip second one, otherwise apply that one too.This time you should not have that Arg0 error related to ADBG, because of the refs added from file.

     

    Now it's time for first real patch [04][syn] Rename _DSM methods to XDSM.

     

    I made [17][igpu] HD 5500 graphics and [19][audio] Audio Layout 11 because I am too lazy to apply those manually. First one adds HD 5500 reference to IGPU and second one changes Audio Layout to 11. Please read what Jake told me about those two and decide if you need them or not.

     

    Since you do not have nVida, you do not need [21][gfx0] Disable/Enable on _WAK/_PTS (DSDT) nor [23][gfx0] Disable from _INI (SSDT).

     

    [22][gfx0] Cleanup/Fix Errors (SSDT) is needed for some SSDT files in order to fix some errors (in my case it is needed for SSDT where nVidia should be disabled).

     

  11. That looks good and should work for HD520. Use latest Lilu (1.2.7) and WhateverGreen (1.2.3). Remove FakePCIID _Intel_HD_Graphics, IntelGraphicsFixup, IntelGraphicsDVMTFixup and Shiki. Check Preliminary part of WhateverGreen framebuffer patching instructions and remove other patches mentioned there that you can remove yourself with Clover Configurator, but backup your config first.

     

     

  12. Since WhateverGreen aims to be an ultimate graphic solution which replace all other graphic fixes, those other solutions are now deprecated and integrated in WhateverGreen. That includes IntelGraphicsDVMTFixup too, but do not expect that your DVMT problem would be fixed just by adding WhateverGreen to your Clover kexts folder as it was a case with IntelGraphicsDVMTFixup.

     

    DVMT patch doesn't work "as is" and currently there is no simple switch that you can use. To fix DVMT, you need to set few framebuffer properties in Devices/Properties of your Clover config. Detail info here. Please check details in Preliminary part, since there is a list of things that should be removed if you are using WhateverGreen.

     

    In short, you need to remove all other kexts and graphics injections and fixes in Clover related to graphics and to set framebuffer patches in Devices/Properties like this:

     

    framebuffer-patch-enable01000000 (this is actually 00000001, but it needs to be in reverse order) - enable patch

    framebuffer-stolenmem00003001 (this is actually 01300000) - set framebuffer to 19MB

    framebuffer-fbmem00009000 (this is actually 00900000) - set cursor to 9MB


    1638602284_ScreenShot2018-09-21at5_20_14PM.thumb.png.df5b22a1ddd54175caa26b1f9c6df6a0.png

     

    EDIT:

     

    Device path of your IGPU -  PciRoot(0x0)/Pci(0x2,0x0) should be added to Devices before setting properties.

  13. 1 hour ago, Artisto said:

    Any response please? Or am I to be ignored?   If so, why should my need for help be ignored so?

     

    Please take this as a friendly advice from another forum member. If you do not know how to do what you advised to do or need additional help, feel free to ask for help, but do not post 5 messages in a row.

     

    I am little confused by your questions. You successfully added -v debug=0x100 when Allan instructed you to do that (before you posted that first picture), but when Jake told you just to add flag for single user mode, you didn't know what to do. You just need to add -s there and that's it. You can find info on boot flags here.

     

    Jake also told you that there is much easier way to accomplish same thing. When Clover starts and you see icons, do not go to Options. Find your macOS partition and press SPACE. This should expose screen with boot arguments, where you can select the ones you need. Select Single User ModeVerbose and Debug. Then select Boot macOS with selected options and press ENTER.

     

    Booting to single user mode with debug and verbose takes time. Waaaaaaiiiiiiit until text stop scrolling. You should see localhost:/root# prompt. If you don't see it but text stopped scrolling, press ENTER. Type /sbin/fsck -fy (and press ENTER) as many times as needed. When you finally get clean exit (with status 0) you're done. Type exit (and press ENTER).

     

    After reboot try to start your system normally.

     

    I just noticed something very odd. Your photos shows HAPPY NEW YEAR in Clover. That probably means that your BIOS clock is f... up, and that your system thinks that it is New Year. I would check BIOS and try to set correct date time first. Maybe is something wrong with your NVRAM. Check your CMOS battery too.

     

    In any case try to access your EFI partition and post Clover folder from there. 

  14. Here you go. I just made a fresh origin dump. SSDT-8-SgPch.aml and SSDT-x3_0-SgPch.aml are exactly the same (so now you know which table is blocking the dump if you use all of them).

     

    Based on patched folders from different bootpacks I figured out that all tables that have x in name should not be used, but I can't find relevant info that explains why. To be honest I didn't check what is inside those tables, maybe the answer would came by itself. :)

     

    I will remove dropped CPU tables from patched folder and sort order. I guess that I need to use all other SSDT tables (even those that are not patched, but without those with x) because Drop OEM will drop all original SSDTs.


     

     

    E7450_A19_NV840_origin.zip

  15. Quote

    Do NOT re-apply "Rename _DSM to XDSM", that will defeat the purpose of patching the Devices like HDEF, EHC1, EHC2, XHC...etc

     

    I understand. It should be used before applying any patch that have _DSM method. Applying this patch again later would just make some new duplicate methods (but this time those methods would be called XDSM instead of _DSM) and it would be a new problem instead of a fix.

     

    Patching of DSDT and disabling discrete nVidia in SgPch are now clear.

     

    I am still not sure why some patches are applied on dropped tables. I guess because you didn't intended to drop those tables before some people reported problems (me among them). I guess I could delete those from patched folder since they are not used, right? I guess I could remove them from sort order too, or not?

     

    btw. do you want me to send you my A19 origin so you can make new bootpack for people with A19 BIOS (even A17 bootpack works fine on A19)?

  16. Thank you very much Jake. I managed to patch and compile everything without any problem. I replaced old patched folder with new one and changed sort order in config to reflect new file names. As far as I can see, everything works as expected.

     

    Since my main goal was to understand all this better, I have few more questions if you don't mind. 

     

    Quote

    1) Because Rehabman don't have a patch to rename HECI to IMEI. I guess you could use Config file to do the renaming and leave out the patch, just preference I guess or use this patch

     

    That is very clear, but I am little confused about this info in patch itself:

    # if you already have an IMEI/HECI/MEI device, you should not use this patch
    # but if you do, these patches will remove the existing one

    If I understand your point, IMEI is actually needed and this should be taken as "use only one of those 3, do not mix them".
     

    Quote

     

    2) You could apply it, I just don't see a difference with it applied. That said, I didn't start dropping CpuSsdt and Cpu0Ist until recent HS where it causes KP


     

     

     

    As far as I understand, this remove methods which use some identifiers located in CPU SSDTs, so I guess you should not see any real difference. I applied this one.
     

    Quote

     

    4) No need if you don't have layout-id defined in DSDT/SSDT.


     

     

     

    I am not sure I understood this. I need to change layout in patched files first in order to be able to use different layout in config later? I am not trying to avoid this, I am just trying to understand. Layout 11 works perfectly for me (especially with new AppleALC.kext).

     

    When "Rename _DSM to XDSM" should be used? If you apply this one at the beginning, some other patches would add new _DSM methods later and those will not be renamed. Do I need to apply this one again at the end, or that should be avoided for some reason? 

     

    Should I only add those definitions that are needed to fix some errors in refs.txt? If I add MDBG, there is no need to use Fix ADBG Error patch, since that error doesn't exist in that case.

     

    Is there a way to add blank line (to make patched code cleaner, for easier compression with original? Adding just \n at the beginning of line doesn't work.

     

    Thank you very much for your patience.

     

  17. I am trying to figure out what is actually needed to be patched for E7450 (with discrete nVidia 840) by comparing origin with patched files and also by comparing my patched files with patched files that I got. This is what I concluded so far.

     

    Those patches are used in patched DSDT that I got:

     

    [syn] Rename _DSM methods to XDSM

    [sys] Fix _WAK Arg0 v2

    [sys] HPET Fix

    [sys] SMBUS Fix

    [sys] IRQ Fix

    [sys] RTC Fix

    [sys] OS Check Fix (Windows 😎

    [sys] Fix Mutex with non-zero SyncLevel

    [sys] Add IMEI

    [sys] Add MCHC

    [igpu] Rename GFX0 to IGPU

    [igpu] Rename B0D3 to HDAU

    [misc] Poll for LID changes misc/misc_LidPoll.txt

     

    I guess that [usb] USB3 _PRW 0x6D (instant wake) is used too, but not sure yet (I still need to check that).

     

    @Jake Lo would you mind to tell me what other patches have you used for E7450 (with discrete nVidia 840)?

     

    Would you mind to explain few more thing that I am trying to understand?

     

    1. Why have you added IMEI, when HECI was already there?

    2. Why Fix PNOT/PPNT is not used when CpuSsdt and Cpu0Ist are dropped in config?

    3. Are those references to ALC 293 (device-type in HDEF) and HD 5500 (model in IGPU) are really needed?

    4. Why audio layout-id needs to be changed in DSTD, when it is injected (as 11) in Devices/Audio part of config? 

     

    Am I missing something obvious?

     

  18. I can just guess.

     

    Comparing your kexts with those from Jakes bootpack I see that you do not have FakePCIID_Intel_HDMI_Audio.kext. I would try to add that one.

    I do not see HD 620 HDMI # 1 and HD 620 HDMI # 2 patches in your config that are in bootpack. I would try to add those two.

     

    If that doesn't work, I guess that only Jake can help.

×
×
  • Create New...