Jump to content

Latitude 7310: Journey to Catalina and Big Sur


muttonhead411

Recommended Posts

Would also like to get inputs on bios settings, as I believe I may have been over aggressive in turning off most things if I didn’t think i need it. Let me know if some are safe to be turned back on: 

 

Advanced Boot Options - Enable UEFI Network Stack - OFF

UEFI Boot Path Security - NEVER

SATA Operations - AHCI

SMART Reporting - OFF

Thunderbolt Adapter Configuration - Enable thunderbolt pre boot modules - OFF

TPM 2.0 Security - ENABLED 

- TPM ON - ON

- Attestation Enable - ON

- PPI Bypass for Clear Command - OFF

- Clear - OFF

- Key Storage Enable - On

- SHA-256 - On

SMM Security Mitigation - OFF

Intel SGX Enable - OFF

USB Wake Support - Wake on Dell USB C Doc - ON

Wake on LAN - Disabled

Block Sleep - OFF

FN Lock Options - Enabled/Secondary

Fastboot - Thorough (instead of minimal or Auto)

Enable Intel Virtualisation Technology - Enabled

VT for Direct IO - OFF

Support Assist System resolution:

- Auto OS Recovery Threshold - OFF

- SupportAssis OS Recovery - OFF

- BIOSConnect - OFF

 

For context, I am dual booting windows and Mac OS. EFI is set up on an SD card for booting only, but I’m wondering if moving the EFI files to my SSD will break windows boot manager... 

 

Link to comment
Share on other sites

Thanks Herve, Jake. I've got more progress updates to share, and some help needed

 

- Solved screen brightness issues upon boot with WhateverGreen boot args: - igfxblr, and device property as follows: 

image.png.b9a1b22f21d870d4f2d06bf5ef9784cc.png

 

- Solved WIFI connectivity stability issues by shifting to itlwm and Heliport

- Mapped USB ports, instead of USBInjectAll, and removed XHCIPortLimit patch in config

- Solved Trackpad functionalities with older versions of VoodooI2C kext

- 4k@60Hz USB C/Display Port output work!

 

Where I am stuck at: 

- VoodooI2C stuck at polling mode, would like to patch to interrupt, but I am not sure how to fix this

- Brightness hotkeys not working even with Dortania's recommended kext. on my model, its mapped to F6 and F7, instead of F11, F12 in my 7490 model (which brightness fix worked)

- SD Card reader.. I see some chatter of a new Kext being developed. Sinetek drivers don't seem to work for this machine, and I am not surewhy

- Intel Bluetooth kext seem to load successfully, can detect my bluetooth mouse, but can't connect to it

 

Appreciate if anyone could point me in the right directions for the above. 

 

Thanks!

 

PS: latest EFI folder attached in full here, and IORegExplorer attached as well

Macbook Pro.ioreg

Link to comment
Share on other sites

  • Administrators

Looking at your posted IOReg, I see that your SD card reader is a PCIe Realtek RTS525A (10ec:525a). As such, I expect the new beta driver recently offered by Firewolf to bring life to yours. Just try and inject it.

 

On the brightness keys front, I would not expect much out of that kext mentioned at Dortania. To me, the existing solution of combined ACPI + SSDT patches is spread wide enough to pretty much vouch for it across the Latitude generations. I would therefore also expect that applying the documented method should work on your 7310 laptop too. But post your extracted BIOS tables so that we have a look, especially at your original DSDT.

Link to comment
Share on other sites

Hi @Hervé, thanks again for the suggestion. 

 

I tried the latest available version of SD Card Reader kext by Firewolf (v0.9.2), but system resulted in kernel panic. Attached logs captured from OpenCore boot process. 

 

For brightness keys, attached unmodified DSDT (Saved from SSDT TIME on windows), appreciate your help with the right SSDT + ACPI patches. 

 

Let me know if I need to extract any further information to progress. 

 

Thanks!

opencore-2021-06-24-144422.txt.zip DSDT.aml.zip

Link to comment
Share on other sites

  • Administrators

If Firewolf's kext results in KP, try the previous kext developed by Cholonam's. Both normally support Realtek RTS525A readers.

 

Re: brightness keys, your DSDT shows:

1) usual BRT6 brightness control method for Dell laptops

        Method (BRT6, 2, NotSerialized)
        {
            If (LEqual (Arg0, One))
            {
                Notify (LCD, 0x86)
            }
            If (And (Arg0, 0x02))
            {
                Notify (LCD, 0x87)
            }
        }

 

2) BRT6 called from EV5 method as usual

    Method (EV5, 2, NotSerialized)
    {
        \_SB.PCI0.GFX0.BRT6 (Arg0, Arg1)
    }

 

3) EV5 called from SMEE if OSID returns a value greater of equal to 0x20 as usual

    Method (SMEE, 1, NotSerialized)
    {
        Store (Arg0, Local0)
        Store (GENS (0x11, Zero, Zero), Local0)
        If (LGreaterEqual (\_SB.OSID (), 0x20))
        {
            If (And (Local0, 0x04))
            {
                EV5 (One, Zero)
            }
            If (And (Local0, 0x02))
            {
                EV5 (0x02, Zero)
            }
        }
        If (And (Local0, 0x08))
        {
            Store (GENS (0x1D, Zero, Zero), Local0)
            EV15 (Local0, Zero)
        }
    }

 

4) SMEE called from SMIE method as usual

    Method (SMIE, 0, NotSerialized)
    {
        Store (GENS (0x10, Zero, Zero), Local0)
        If (And (Local0, 0x04))
        {
            SMEE (Local0)
        }
        If (And (Local0, 0x02))
        {
            EV7 (Zero, Zero)
        }
        If (And (Local0, 0x08))
        {
            EV9 (Zero, Zero)
        }
        If (And (Local0, 0x40))
        {
            EV8 (Zero, Zero)
        }
        If (And (Local0, 0x80)){}
        If (And (Local0, 0x10)){}
    }

 

5) SMIE called from NEVT method as usual

    Method (NEVT, 0, NotSerialized)
    {
        Store (ECG1 (), Local0)
        Store (ECGD (), Local1)
        Store (Add (ShiftLeft (Local1, 0x10), Local0), Local2)
[...]
        If (And (Local0, 0x80))
        {
            SMIE ()
        }
    }


 

So, given that all is exactly as per other previous generations of Latitude (E6x30, E6x40, E7x50, E7x70, etc.), you can apply the same patches as we've detailed in our various guides:

1) in your bootloader ACPI config

  • rename OSID to XSID -> to avoid bug after _OSI renaming
  • rename _OSI to XOSI -> to bypass _OSI
  • rename "BRT6,2" to "BRTX,2" -> to bypass vanilla BRT6 method

2) inject the following SSDT tables:

  • SSDT-BRT6.aml -> injects new BRT6 method with correct key values for brightness control
  • SSDT-XOSI.aml -> ensures OSID returns the required value

You'll find those in, say, my E7270 guide. You should then have working brightness keys

Link to comment
Share on other sites

Hi @Hervé

 

SD Card, I tried Cholonam's latest kext. It works sporadically (only once in all my tries). I'm not sure why that is or is that a known bug

 

Brightness Keys fix, I referenced your E7270 guide, and added the required ACPI patches and SSDT tables, but unfortunately no success for me. Brightness keys still only function with FN S and B, instead of F6 and F7. 

 

Wonder if you could take a look at my config attached and see if I made any mistakes. 

EFI.zip

Link to comment
Share on other sites

  • Administrators

I see a likely issue with regards to brightness keys:

  • the SSDT-BRT6 patched table refers to IGPU device for the iGPU
  • the SSDT-PNLF-CFL patched table refers to GFX0 device for the iGPU
  • there is no renaming of GFX0 to IGPU in your OC config
  • Lilu probably renames GFX0 to IGPU after that all tables have loaded and SSDT-BRT6 may not be properly applicable as a result

Given that you have brightness control overall (although not through the expected keys), it's fair to say that SSDT-PNLF-CFL is fully operational. As such, do try and rename IGPU to GFX0 in SSDT-BRT6 table, recompile it and save it. That should hopefully fix the brightness keys.

 

Link to comment
Share on other sites

×
×
  • Create New...