[OC] [Ice Lake] - Lenovo IdeaPad 5 15IIL - Bericht

  • Dieser Thread ist meine Bericht um aus dem Lenovo IdeaPad 5-15IIL ein Hackintosh zu machen.

    Hardware: (Lenovo psref)

    CPU: Ice Lake, Intel i7-1065G7

    RAM:16GB Integriert

    GPU: Intel Iris Pro Plus (G7), ID 0x8A52

    GPU 2: Nvidia MX350

    SSD: WD PC SN730

    Audio: Realtek (ALC257)

    Mikrofon: Intel Smart Sound Mikrofonarray

    Trackpad: I2C Microsoft HID Precission Touchpad (MSFT0001)

    WLAN: Intel AX201 (2x2)

    Bluetooth: 5.1

    USB: 1x USB 3.2 Gen 1; 1x USB 3.2 Gen 1 (always on); 1x USB-C 3.2 Gen 1 (PD 3.0, DP1.2)

    HDMI: 1.4b

    ACPI Pfade:

    Tastatur: PS2; \_SB.PCI0.LPCB.PS2K

    Trackpad: I2C; \_SB.PCI0.I2C1.TPD0

    iGPU: \_SB.PCI0.GFX0

    GPU: \_SB.PCI0.RP05.PXSX

    400 Chipset: \SB.PCI0.SAT0

    Kamera: \_SB.PCI0.XHC.RHUB.HS05.CAMA <- USB angebunden

    USB Controller (?): \_SB.UBTC

    USB 3.1 Controller: \SB.PCI0.XHC

    Intel SMBus - 34A3: _\SB.PCI0.SBUS



    BIOS Einstellungen:

    • Intel Virtual Technology disabled
    • Always on SB disabled
    • Storage: AHCI Mode
    • Intel Platform Trust Technology disabled
    • Intel SGX disabled
    • Secure Boot disabled
    • Boot Mode UEFI
    • PXE Boot on LAN disbaled


    Probleme:

    • Mikforon funktioniert nicht
    • Standby funktioniert nicht:
      • Bildschirm aus / schließen und öffnen geht
      • Tastaturbeleuchtung geht nicht aus
      • System geht nicht in den Standby
    • iGPU: H264 & HEVC Encoding geht nicht
    • iGPU: HDMI & DP via USB-C geht nicht
    • NVRAM Probleme
      • ohne NVRAM Reset nach Boot von Windows in MacOS: itlwm mit WLAN / Bluetooth etwas zickig
      • ohne NVRAM Reset nach Boot von MacOS in Windows:
        • USB-Hardware wird ständig "ein- & ausgesteckt". Meldung aber nicht sichtbar.
        • Fingerabdruckscanner wird nach Standby nicht mehr zum entsperren genutzt.
  • pebbly

    Added the Label In Arbeit
  • pebbly

    Changed the title of the thread from “Lenovo IdeaPad 5-15IIL Ice Lake” to “Lenovo IdeaPad 5 Ice Lake - SSDT Hilfe nötig”.
  • BIOS Mod

    Das BIOS hat standardmäßig CFG-Lock und DVMT Pre-Allocated sowie DVMT GFX Mem sind unpassend. Da (stand 12.2020) keine Tastenkombinationen den Developer Modus des Bioses (egal welche Version) frei schalten, muss mittels ru.efi die Werte angepasst werden.

    Wichtig: Da hier das Gerät unreparabel zerstört werden kann, gibt es nur Fakten und Links. Ihr alleine Haftet für Schäden und es gibt keinen Support!!

    Mehrmals lesen ist Voraussetzung!


    Zum Einsatz von ru.efi gibt es zwei Anleitungen: Github und Reddit

    Für CFG Lock: unter CPUSetup: 0x43 von 1 auf 0

    Für DVMT Pre-Allocated: unter SaSetup: 0xA4 FE auf 2

    Für DVMT Total GFX Dem: unter SaSetup: 0xA5 2 auf 3

    Die Werte gelten nur bis BIOS Version 1.63! Die Einstellungen bleiben auch nach einem NVMReset erhalten.

    SSDTs:

    • SSDT-Plug: nötig für CPU Power Management, erstellt
    • SSDT-EC: nötig für Embedded Controller, erstellt mit SSDTTime
    • SSDT-USBX: nötig für USB Part der SSDT-EC, benötigt EC ACPI Patch, erstellt
    • SSDT-AWAC: nötig für AWAC / RTC0, erstellt
    • SSDT-ALS0: nötig für Fake Ambient Light Sensor, default passt
    • SSDT-DGPU-OFF: deaktiviert die Nvidia MX350, selbst erstellt & funktioniert
    • SSDT-GPRW: erstellt nach Dortania, benötigt ACPI Patches, verbessert Energieverbrauch
    • SSDT-HPET: Erstellt nach Dortania für Legacy IRQ Conflicts, Benötigt ACPI Patches
    • SSDTPNLFCFL: Für Helligkeitssteuerung - zumindest nach zuklappen
    • SSDT-SBUS-MCHC: nicht nötig, da Device Pfad passt
    • SSDT-RHUB / USB-Reset: Nötig für "SSDT to disable USB RHUB/HUBN/URTH and rename devices" - löst Wakeup nach Bildschirm aus, erstellt mit SSDTTime, RHUB Device in DSDT vorhanden, ACPI Patches nötig

    USB Patch

    Erstellt mit dem Hackintool, funktioniert, hat alle Devices auch nach Windows Geräte-Manager und sieht es wie folgt aus:

  • pebbly

    Changed the title of the thread from “Lenovo IdeaPad 5 Ice Lake - SSDT Hilfe nötig” to “Lenovo IdeaPad 5 Ice Lake - SSDT Trackpad”.
  • Dank cobanramo bin ich dem Ziel schon ein erheblichen Schritt weiter. Mein nächstes Problem:


    Das Trackpad funktioniert nicht richtig. Ich habe VoodooI2C und VoodooI2CHID eingebunden, was dazu führt, dass

    • das Trackpad sehr laggy reagiert. Bei einer normalen Bewegung des Fingers über das Trackpad springt der Cursor, statt der Bewegung zu folgen
    • die CPU Frequenz geht auf Maximum
    • kein Ruhezustand möglich ist


    Zum Trackpad:

    • Modell: Microsoft Precission Trackpad - Scheint kein ELAN zu sein, mit dem Kext funktioniert es gar nicht
    • ACPI Pfad: SB.PCI0.I2C1. TPD0
    • IOInterruptSpecifiers hat den Hex-Wert 30

    Nach dem das einbinden des XOSI Patches und dem einfügen der Kexte in der richtigen Reihenfolge geholfen hat, habe ich mir den VoodooI2C Guide genauer angeschaut. So wie es aussieht, funktioniert das GPIO Pinning nicht richtig, da IOInterruptSpecifiers anscheinend mit 30 > 2F ist. Blöder weise ist der Guide für mich danach unverständlich, was ich da wie in der DSDT patchen muss. Wie mache ich da beim Guide weiter? Ist das Trackpad nun well-pinned, root-pinned, oder CRS pinned?



    Der XOSI Patch ist der Default des Dortania Guides, da mir der Code aus meiner DSDT gleich aussieht.

    Code: Systemlog
    1. MBP ~ % log show --predicate 'process == "kernel"' --last 30m | grep Voodoo
    2. 2020-11-29 12:59:28.669452+0100 0xb9 Default 0x0 0 0 kernel: (VoodooGPIO) VoodooGPIOIceLakeLP::Loading GPIO Data for IceLake-LP
    3. 2020-11-29 12:59:28.669590+0100 0xb9 Default 0x0 0 0 kernel: (VoodooGPIO) VoodooGPIOIceLakeLP::VoodooGPIO Init!
    4. 2020-11-29 12:59:28.677227+0100 0xb9 Default 0x0 0 0 kernel: (VoodooGPIO) VoodooGPIOIceLakeLP::VoodooGPIO Initializing Community 0
    5. 2020-11-29 12:59:42.697291+0100 0x101 Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,34e9 Timeout waiting for bus to accept transfer request
    6. 2020-11-29 13:00:14.928610+0100 0x7ff Default 0x0 0 0 kernel: (VoodooI2CHID) VoodooI2CPrecisionTouchpadHIDEventDriver::setProperties USBMouseStopsTrackpad = 0
    Code: HPET Patches aus SSDTTime für OC Config
    1. _CRS to XCRS Disabled 255F4352 53 to 25584352 53
    2. IPIC IRQ Disabled 22040079 00 to 22000079 00
    3. MATH IRQ Disabled 22002079 00 to 22000079 00
    4. RTC IRQ Disabled 22000179 00 to 22000079 00
    5. TIMR IRQ Disabled 22010079 00 to 22000079 00
    6. PS2K IRQ Disabled 22020038 7900 to 22000038 7900

    Die HPET Patches habe ich von SSDTTime generieren lassen. Doch ich merke keinen Unterschied, wenn sie zusammen mit der SSDT aktiv sind, oder nicht. Auch finde ich keine weiteren Informationen dazu, was sie bewirken sollen.


    Anbei der Auszug aus dem IORegexplorer, sowie die DSDT + Patche und meine aktuelle EFI.

  • pebbly

    Changed the title of the thread from “Lenovo IdeaPad 5 Ice Lake - SSDT Trackpad” to “Hilfe SSDT Trackpad patchen - Lenovo IdeaPad 5 Ice Lake”.
  • Hier nochmal die sachen die mir aufgefallen sind...


    1. Bei dir scheint die Lid nicht zu funktionieren.



    2. USB musst du patchen und XhciPortLimit deaktivieren, sonst gibt es kein sleep.


    3. Es gibt anscheinend doch unterschiede zwischen den beiden Laptop´s.

    Dein TouchPad ist an I2C1.


    Meins ist am I2C0



    4. Dein Gpio Pin passt anscheinend nicht.



    Bei mir hingegen sieht es so aus.


    5. für dich ist genau das teil der Anleitung interessant...


    If your hexadecimal pin number is greater than 0x2F then proceed to the next step.

    Step 2a: Ensuring your device is GPIO-pinned


    den bei dir ist die gpioPin Number 0x30


    Bei mir war das nicht nötig, ich gucke morgen mal das genauer an was damit gemeint ist und wie das handhabt wird.


    Gruss Coban

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / macOS Catalina 10.15 / Windows 10 Pro / Ubuntu 20.04 LTS

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / macOS Catalina 10.15 / BigSur 11.0 / Win 10 Pro / Ubuntu 20.04 LTS


    " Chasch nöd s Föifi und s Weggli ha."

  • Danke 5T33Z0!

    Mein Problem ist, dass ich unter Windows nichts finde, außer dass es ein HID TouchPad ist. Also kein Synpatics, oder ELAN. Der IOInterruptSpecifiers Wert ist für MacOS zu hoch, so dass ich einen Patch braucht, der die Werte "reduziert".Bei den von dir im zweiten Link sah der für das S740 interessant aus, nur ob der passt?


    I2C gibt mir folgendes aus, nur scheitere ich an der Umsetzung für OC.



    Ich glaube es war in deinem Thread zum T530 wurde erwähnt, dass das TouchPad sehr unzuverlässig mit Gesten, oder zuverlässig als Pointer funktioniert. Da frage ich mich, ob es bei mir nicht dann auch so wird?

  • pebbly

    Changed the title of the thread from “Hilfe SSDT Trackpad patchen - Lenovo IdeaPad 5 Ice Lake” to “[OC] [Ice Lake] - Lenovo IdeaPad 5 15IIL - Bericht”.
  • GELÖST: WEG Boot-Argumente und einige zusätzliche Einträge zur iGPU in Device Properties haben es gelöst

    BIOS Update führt zu Boot Fail

    So, es gibt ein neues Problem. Ich wurde mal wieder von Lenovo gezwungen ein Update des BIOS zu machen (man kann sich dagegen wehren, aber das hatte beim letzten mal starke Auswirkungen). Jetzt Bootet das HacBook bis fast zur Initialisierung von WEG und stürzt dann ab. Das letzte, was man mit SloMo sieht habe ich als Bild angehängt - an besserer Qualität bin ich dran.

    Ich habe dann unter Fedora die DSDT gedumpt und verglichen. Komischerweise wurde an den Funktionen nichts geändert, außer folgender Teil:

    Quote

    Es handelt sich hier um BIOS v1.46 zu v1.48. Meine aktuelle Idee: Mittels SSDT Patch für Darwin System(e) die alten Argumente zu nehmen. Die neuen kommen nur in diesem Bereich vor, es könnte also funktionieren.


  • Hey pebbly ,

    hast du es irgendwie hinbekommen mit dem Trackpad?

    Dank cobanramo geht jetzt bei mir alles außer das Trackpad und Akku! :danke: (Und mit dem 4K Screen ist das so ne Sache... Da warte ich noch auf Patches ;) )

  • Ja habe ich, ich habe in den Boot-Argumenten -vi2c-force-polling eingefügt.


    Außerdem musst du schauen, dass die ganzen Voodoo Kexte richtig laden:

    Da meine Tastatur über PS2 angebunden ist, gilt das bei mir ebenfalls. Du musst schauen, wie es bei dir ist:

    Kexte: VoodooI2C + VoodooI2CHID + VoodooPS2Controller


    Die Lade-Reihenfolge ist:

    1. VoodooPS2Controller
    2. VoodooPS2Controller-VoodooInput <- kann auch von VoodooI2CInput erledigt werden
    3. VoodooPS2Controller-VoodooPS2Keyboard
    4. VoodooI2CServices
    5. VoodooGPIO
    6. VoodooI2C
    7. VoodooI2CHID <- Touchpad abhängig, siege Voodoo und Dortania Guide

    Wenn dein Trackpad damit (=Polling Modus) läuft, kannst du es versuchen mit dem Guide in den GPIO Pinning Modus zu bringen, welches weniger CPU Leistung benötigt. Ganz wichtig ist, ob der Wert in Schritt 1 unter 2F (hex), bzw 30 (dez) ist.

  • Ich weiß, ProperTree fragt auch nach und ich habe nur in der Reihenfolge aktiven aufgelistet.😉

    Wird aber angepasst um so Missverständnissen vorzubeugen.


    Cobanramo hat oben ( #4 ) ja auch relevantes dazu geschrieben