Batteriestatus (OC 0.9.0) Ventura

  • Nach einigem Lesen nun der ernsthafte Versuch es zu verstehen.
    ACPI Dateien werden benötigt um dem Apple Betriebsystem eine lauffähige Grundlage zur Verfügung zu stellen. Dort wo es nicht passt wird über die Patches eingegriffen, soweit mein Verständnis dazu.
    Verschiedene Quellen zum Thema Statusanzeige der Batterie sprechen dort vom ECEnabler und/oder dem SMCBatteriemanager.
    Da beide Kexte universell sind werden sie nicht ohne Patch/Anpassung das gewünschte Ergebnis liefern und daher die Frage was bzw. wo muss man diese Änderungen vornehmen?

    Wahrscheinlich bei den ACPI Patches, womit wo beantwortet wäre. Nun kommt das was muss den wie angepasst werden und woher bekommt man diese hardwarespezifischen Antworten.
    Über hilfreiche Antworten/Hilfestellungen wäre ich dankbar. ( Es geht um einen Matebook X Pro 2020).

    Hardware:

    Matebook X Pro 2020

    Imac 2019 Monterey , Ipad IOS 15.X, Iphone .....

    Z390 Designare Catalina-Ventura

    T440P

  • also ich kenn das so, dass der SMCBatterymanager.kext immer nötig ist, allerdings muss dem unter die arme gegriffen werden. das erfolgt entweder mit dem ECEnabler.kext, der kommt ohne weitere massnahmen klar, oder, wenn der eben nicht tut, dann muss ein acpi-patch zzgl. ein paar renames her. früher landete der in der dsdt, jetzt kann man den auch per ssdt erstellen.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Hallo grt danke für die rasche Antwort.
    und genau dort stehe ich gerade und frage mich welche Dinge müssen renamed werden ( wo steht sowas?)

    ACPI Patch und noch ein Rätsel, woher, wofür, wie?

    Sorry mir ist schon klar das meine Fragen ev. sehr schräg rüberkommen, aber genau das sind die Dinge die ich suche und von denen ich keine Ahnung habe und somit auf Unterstützung angewiesen bin.
    Gibt es denn keine Quellen aus denen man erfährt wie man das lösen könnte?

    Hardware:

    Matebook X Pro 2020

    Imac 2019 Monterey , Ipad IOS 15.X, Iphone .....

    Z390 Designare Catalina-Ventura

    T440P

  • eine quelle gab es mal bei den tomaten von rehabman, wo das prinzip des batterypatch für dsdt erklärt wurde.

    und die renames kommen daher, dass man inzwischen die finger von der dsdt lässt, und möglichst alles per ssdt erledigt an notwendigen patches. wenn man nun eine methode aus der dsdt irgendwie verändert in einer ssdt dem system serviert, dann wäre sie ja 2x vorhanden: die originale version in der dsdt, und die neue in der ssdt. destawegen wird dann die in der dsdt umbenannt, und alle anfragen und aufrufe landen bei der neuen methode gleichen namens in der ssdt.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Okay, dazu müsste dann geprüft werden ist eine Methode in der DSDT vorhanden, dazu muss man allerdings wissen nach welchem/welchen Namen man suchen muss.
    Man könnte natürlich auch die betreffenden Methoden in der DSDT löschen zumindest theoretisch?

    Also schau ich mich mal nach Rehabmans Erklärung um, in der Hoffnung, es ist halbwegs verständlich.
    Wobei schon direkt die nächste Frage auftaucht, neue Methode in der/einer SSDT, ev. einer mit dem Namen *BAT, die ggfls ebenfalls vorhanden ist?

    Folgende Renames/Patches beziehen sich dann ausschließlich auf die Neue?

    Bei den vorhandenen Renames/Patches finde ich keinen direkten Bezug zu einer ACPI, d.h. die Dateien werden lediglich über den Namen erkannt?

    Hardware:

    Matebook X Pro 2020

    Imac 2019 Monterey , Ipad IOS 15.X, Iphone .....

    Z390 Designare Catalina-Ventura

    T440P

  • Wie sind denn die Kext-Versionen und die Kext-Reihenfolge?


    Wenn man nach "ecenabler github" sucht findet man schon ganz viel. ECenabler soll in Release 1.0.3 bis Ventura gehen, ist aber ein Plugin von Lilu und scheinbar spielt auch VirtualSMC eine Rolle dabei. Kext-Versionen sollten aktuell sein und bei der Reihenfolge würde ich Lilu, VirtualSMC und ECenabler versuchen, ggf. gefolgt mit oder ohne SMCBatteryManager.kext versuchen. Hier unterschiedliche Meinungen, je nach Gerät.


    Insgesamt findet man schon viele Infos, wie:


    https://github.com/dortania/Op…aptop-specific/battery.md , wo auch die alte Anleitung von rehabman verlinkt ist


    teilweise wird geschrieben, dass ecenabler nur eine Batterie anzeigt, wenn die Kiste eine Dual.Batt hat. Hier sollen die SSDT's und ACPI-patches tatsächlich besser sein, was ich selbst auch verwende.


    https://github.com/acidanthera…al%20Battery%20Support.md


    Ich selbst habe ECenabler auch nie verwendet, aber man findet dazu recht viel im Netz, wo man man ansetzen könnte, aber mit dem Kext darf sicher unter OC/ACPI keine SSDT betreffs EC drin sein und auch keine Patches unter config OC/ACPI/Patches in Richtung bat, batc oder mutex:bat... drin sein.


    Einfach was aus der DSDT löschen bringt nix. So aus der Erinnerung müssen für Batterie irgendwelche 16bit Felder in 8bit umgepatcht werden, damit macOS was mit anfangen kann oder war es umgekehrt? ...müsste ich auch erst wieder lesen. Der ECenabler macht vermutlich auch genau dies.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.4.1

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.4.1

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • ACPI Battery mit FakeSMC ist die alte Methode, welche Rehabman immer empfohlen hatte, geht die auch noch mit Ventura?

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.4.1

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.4.1

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • müssen für Batterie irgendwelche 16bit Felder in 8bit umgepatcht werden

    im EC-device - oder wie auch immer das dingens heisst. im matebook wars glaub ich HEC0 oder so. man muss die felder aus dem EC, die grösser als 8bit sind, und die in der dsdt gelesen/geschrieben werden, in 8bit-schnipsel zerlegen, und dann dort wo sie aufgerufen werden (das wären die änderungen in den methoden, und die daraus resultierenden renames) mittels B1B2-methode (oder B1B4, oder L1L2, oder der WECB/RECB) wieder zusammenfügen, so dass der wert im register wieder stimmt.

    aber wenns mit dem ECEnabler geht, dann wär der auf alle fälle die komfortablere lösung, und zu 100% vorzuziehen.

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr

  • Okay, oder auch nicht. In der Theorie verstehe ich, dass man lt. der Rehabman Methode Werte unterschiedlicher Länge auf 8 Bit bringt und diese zur Verfügung stellt. Die Renames werden benötigt, damit die verwendeten Methoden die 8 Bit Werte extrahieren und die alten Methoden keine Anwendung mehr finden. Die Namen ergeben sich durch die Suche nach Feldern mit einer Länge größer 8 in der DSDT; wie beschrieben.
    Somit ist klar wie man an die Namen kommt und wie man die Werte zerlegen muss. Was passiert denn mit den Feldern deren Größe nicht größer 8 ist, die werden dann doch von den alten Methoden verarbeitet?
    Ausser man übernimmt die gesamte Methode aus der DSDT zuvor in die SSDT?
    So würde ich dann die Arbeitsweise verstehen.

    Unklar ist mir aktuell wie der ECEnabler und der SMCBatteryPatch hier einfließen.
    Dann gäbe es also die nachfolgenden Alternativen Optionen :

    1. die alte Variante ACPI Battery mit FakeSMC probieren

    2. ECEnabler / SMCBatteryPatch ohne ACPI Patches und Renames

    3. DSDT Patches

    Mal Schauen ob/ wie ich zum Ziel komme. In jedem Fall lehrreich. Erinnert mich an CP/ M (8086/Z80) Zeiten mit seinem 8 Bit Assembler


    Das Problem ist gelöst. ECenabler in Verbindung Mit dem SMCBatteryManager funktionierte leider trotz deaktivierter Patches / Renames nicht,

    konnte aber eine SSDT-BAT finden, die es mit den Renames tut.

    Wenn ich etwas Zeit finde werde ich mir die BAT mal anschauen um zu verstehen was da vorgeht;)

    Hardware:

    Matebook X Pro 2020

    Imac 2019 Monterey , Ipad IOS 15.X, Iphone .....

    Z390 Designare Catalina-Ventura

    T440P

    Einmal editiert, zuletzt von canyonwalker () aus folgendem Grund: Update Batteriestatus gelöst

  • der ecenabler ist eine alternative zu dem ssdt/dsdt patch. wenn du den einsetzt, brauchts weder die ssdt noch die renames.

    einen battery....kext braucht es in beiden fällen, entweder smcbattery... beim virtualsmc, oder den acpibattery... bei fakesmc.

    für den acpi/ssdt-weg nimmt man sich die originale dsdt, guckt im ec (bei dir hiess der hec0 - sb.pci0.lpcb.hec0 oder so) welche von den feldern>8 überhaupt verwendet werden: auskommentieren, testweise kompilieren, gucken, was für errors angezeigt werden. notieren inkl. der methoden, die wg. unbekannt gemeckert haben.

    dann überträgt man die region mit den feldern und die methoden in eine ssdt, zerlegt die felder in 8bit schnipsel, und wendet bei den aufrufen die entsprechende zusammenfügmethode (die müssen auch mit in die ssdt rein) auf die schnipsel an anstelle des originalen feldes.

    und dann noch die originalmethoden aus der dsdt umbenennen.

    aber wie schon gesagt, wenn das mit dem ecenabler klappen könnte,.würde ich den nehmen. guck dir als erstes mal die doku von dem an.


    edit... uups... ist ja schon gelöst.. guten morgen ;-)

    guter vorsatz für heute: in zukunft erst genau und bis zum ende lesen, dann antworten...

    ersthilfe vor ort für altes zeugs (-> laptops) 8)

    berliner häckinTosh.stammTisch am 3.monatsmittwoch im maxFish/kunsthaus ACUD

    der stammtisch in berlin ist WIEDER DA!! nächster termin voraussichtlich: mittwoch 15.9.21, 19.00 uhr