AppleHDA scheint nicht zuverlässig zu laden

  • Hallo zusammen,


    ich habe Probleme auf meinem Hackintosh Sound zum laufen zu bekommen.

    In den Soundeinstellungen taucht kein Ein- oder Ausgang auf und wenn ich einen Blick auf den IORegistryExplorer werfe, sehe ich, dass ein HDEF Device auftaucht, aber kein untergeordnetes AppleALC:

    So sollte das wohl eigentlich aussehen (Quelle: Dortanias Guide):

    hdef.0b4a3bf3.png

    Ich habe auch immer wieder den Fall, dass AppleHDA nicht geladen wurde:


    Code
    1. $ kextstat | grep -E "AppleHDA|AppleALC|Lilu"
    2. 38 6 0xffffff7f83eba000 0x87000 0x87000 as.vit9696.Lilu (1.5.1) 64003D3E-735A-3076-B7D5-A88271D2510B <8 6 5 3 2 1>
    3. 39 0 0xffffff7f83f5b000 0x181000 0x181000 as.vit9696.AppleALC (1.5.8) CF2BB91F-73DC-3B69-9AB0-CF454FA77774 <38 13 8 6 5 3 2 1>

    Beim nächsten Reboot taucht es mit etwas Glück aber wieder auf, ändert aber nichts daran, dass ich keine Geräte bekomme.

    Habe schon mit diversen Werten von alc-delay rumprobiert, selbst bei 3000ms (maximum) tut sich nichts.


    Kann mir jemand weiterhelfen?

    Dateien

    • EFI.zip

      (2,68 MB, 56 Mal heruntergeladen, zuletzt: )

    Einmal editiert, zuletzt von Keksfamilie ()

  • Hast du nicht schon einen Thread zu diesem Thema?


    Edit: Sorry, hab dich verwechselt.

    !!!KEIN SUPPORT PER PN!!!

    Einmal editiert, zuletzt von HackBook Pro ()

  • Nope.. hat er nicht...

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Habe da noch eine Vermutung entwickelt, das Audiodevice "versteckt" sich ja hinter dem PCH, in meinem Fall ist das ein Comet Lake PCH, welches ich aber unter Mojave betreibe. Während des Bootvorgangs taucht die Warnung "Unknown PCH" auf, was bis jetzt keine Probleme bereitet hatte. Könnte das dafür sorgen, dass sich AppleHDA da nicht attachen kann?


    AppleALC kommt augenscheinlich damit klar, hier der Auszug aus dem Hackintool:


    6c8 taucht in den Debug Logs als controller 1 wie folgt auf (controller0 ist die iGPU):

  • Keksfamilie

    Wenn du innerhalb von "IORegistryExplorer" nach "HDEF" suchst, bekommst du auch das von dir verlinkte Bild zu sehen. Nimm die Suche raus und scrolle bis zu "HDEF", dann siehst du auch den folgenden Baum. :)

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • apfelnico Hi, da hast du recht, sorry, da hab ich den Screenshot verhauen.

    So hier ein Screenshot ohne Suchfilter, aber auch ohne AppleHDA:

  • Das Problem ist ja, dass diese neuen Rechner alle ein Intel-Device vor dem eigentlichen Realtek-Audio haben, was sich als Audio-Chip ausgibt.

    Sieht man sehr gut unter Windows in den Hardware-Eigenschaften.

    Es betrifft alle 400Series und neu die 500Series. Letztere haben heute im neuen Release AppleALC auch zwei neue Controller-Patches bekommen.

    Diese Sache ist aber lange bekannt und es gibt für Dein Device 6c8 bereits seit AppleALC 1.5.1 einen Controller-Patch. (https://github.com/acidanthera/AppleALC/releases)

    Erst heute mit dem neuen Release AppleALC kamen 2 neue Controller-Patches für 500Series (Z590).

    Leider habe ich bis dato noch nie einen neuen Codec für Z490 oder Z590 gesehen, halt nur die Controller-Patches.

    Dies liegt wohl auch daran, dass selbst Linux damit nicht klar kommt ohne Fake Device-ID und somit keine Codec-Dump's möglich sind.

    Dein Controller wird aber seit AppleALC 1.5.1 wohl erkannt. In Deinem ersten Bild Post #1 injectest Du die alc-layout-id 2, welche wohl nicht passt.

    Wenn die Knoten nicht passen, dann wird es auch keine Geräte beim Audio geben, selbst wenn der Controller in AppleALC erkannt wird.

    Ich kann Dir nur empfehlen, versuche alle layoutID's des entsprechenden Realtek-Chip's durch. Mit viel Glück sind die Knoten gleich oder fast gleich und Du bekommst einige Audio-Geräte.

    Ferner, versuche mittels Linux-Live ein Codec-Dump zu machen!

    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.5 / macOS 15

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

    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

  • MacPeet Hi, ich habe das neue Update heute schon voller Vorfreude ausprobiert gehabt... ne :(

    Ich habe auch bereits alle Layout IDs die für den ALC892 ausprobiert die gelistet sind, aber ohne Erfolg. Ich dachte, AppleHDA taucht trotzdem auf, auch wenn mit zu wenigen weiteren Children? Unabhängig davon habe ich es aber mit keiner ID geschafft das zum laufen zu bringen (und auch nie Ausgänge/Eingänge bekommen).


    Codec Dump(s) (0 ist Realtek, 2 ist Intel HDMI) habe ich soeben angefertigt und hier angehängt :) Kann mit denen selbst nicht so viel anfangen, hast du da ne Resource zum nachlesen? Oder kannst mir selbst erklären was man jetzt mit denen macht?

    Dateien

    • codec2.txt

      (2,97 kB, 48 Mal heruntergeladen, zuletzt: )
    • codec0.txt

      (15,4 kB, 59 Mal heruntergeladen, zuletzt: )
  • Ich habe den Codec_Dump mal gewandelt. Deine Knoten sind im Prinzip mit vielen ID's gängig. Am Besten würde wohl die layoutID 100 passen, welche für einen MSI Z370-A PRO entwickelt wurde. Die Knoten sind dort identisch.


    Dein Problem liegt aber vermutlich ganz woanders. Habe mir Deine EFI mal angesehen.

    Du hast keine IRQ-Fixes gemacht, ohne die AppleALC keine Geräte lädt.


    Nutze dafür das Script SSDTTime von GitHub. Hierfür brauchst Du die Clean-DSDT.

    SSDTTime zeigt Dir dann die nötigen Patches, welche Du in der OC config.plist im Bereich ACPI/patch einbinden kannst.


    Genauer gesagt, muss bei RTC und TIMR die 0 und die 8 (manchmal auch noch die 11) aus dem irqnoflags gelöscht werden.

    Die 2 bei IPIC ist für Audio nicht wichtig, wird bei SSDTTime oft mit angezeigt. Wenn ein Patch für IPIC angeboten wird, kann man den auch setzen.


    Die 0, 8 und 11 werden für HPET gesetzt. Evtl. brauchst Du auch noch den HPET-Patch von SSDTTime.


    Wenn Du mal im System das Tool MaciASL startest, dann wird die aktuelle System-DSDT geladen. Diese kannst Du ja hier mal posten, bzw. Dir ansehen, wie die Bereiche RTC, TIMR und HPET aktuell aussehen.


    Setze Dich mal mit SSDTTime auseinander! Ich denke, danach werden sicher Geräte beim Audio geladen.

    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.5 / macOS 15

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

    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

  • ozw00d Da hast du Recht... was man so online findet, ist CML auf 0x1b,0x0.

    Ich bin nach dem gegangen, was mir gfxutil ausgespuckt hatte:

    Code
    1. $ ./gfxutil-1/gfxutil -f HDEF
    2. 00:1f.3 8086:06c8 /PCI0@0/HDEF@1F,3 = PciRoot(0x0)/Pci(0x1F,0x3)

    Warum weicht das bei mir ab?


    MacPeet Danke für die Erklärung,

    einmal Pre-SSDTTime:

    RTC hatte die 8, TIMR die 0. Nach kopieren der Patches in ACPI/Patch sieht das wie folgt aus:

    Die 0 und 8 wurden also erfolgreich aus den Devices entfernt. Wenn ich dich richtig verstanden habe, sollten die jetzt an das HPET Device gebunden werden mithilfe des HPET Patches. Den habe ich also auch in den ACPI Ordner geschoben und in die config.plist hinzugefügt. Da steht als Kommentar noch dabei "HPET _CRS (Needs _CRS to XCRS Rename)", dieser wurde auch in ACPI/Patches eingetragen. Das HPET Device scheint aber nicht die IRQNoFlags zu übernehmen (auch wenn diese im SSDT-HPET.aml deklariert werden):

    Habe mal die Ergebnisse die SSDTTime erzeugt hat angehängt (da ist auch meine Vanilla-DSDT dabei) und mein aktualisiertes EFI. Hab ich da noch was übersehen?

    Dateien

    • EFI.zip

      (2,71 MB, 57 Mal heruntergeladen, zuletzt: )
    • SSDTTime-Results.zip

      (56,19 kB, 47 Mal heruntergeladen, zuletzt: )
  • Auf all Deinen Bildern hier im Thread zeigt Dein Audio auf 1F und nicht auf 1B. Viele neuere Rechner haben 1F.

    Welche Adresse steht denn in der clean-DSDT bei HDEF oder HDAS?

    Wenn es 1F ist, dann könntest Du in Section UEFI/Audio den Pfad auch in 1F ändern, falls Du mal Startsound haben möchtest. Dort steht noch die 1B.


    Die IRQ-Patches hast Du perfekt gemacht.

    Hast Du danach schon mal getestet, ob Du Audiogeräte bekommst, z.B. mit der layoutID 100 ?

    Ich rate auch bei allen Test's zum Bootflag z.B. alcid=100


    Die Sache mit HPET und SSDTTime ist nicht immer ganz perfekt, hatte die gleichen Probleme auf meinem Lenovo.

    SSDTTime will es immer in die _CSR legen.

    In meiner SSDT für HPET ist es nun in der BUF0-Methode, in dem Fall nur die 0 und 8, aber der Rechner geht perfekt. Beispiel:

    Als Experte fällt mir hier grt ein.

    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.5 / macOS 15

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

    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

  • guckst du mal da: KLIKK

    wir hatten das problem, dass zwar die ssdt-hpet (nicht die von ssdt-time, ist in dem thread verlinkt) sehr gut und überzeugend aussah, aber das renaming mit OC nicht so richtig reibungslos funktionierte.

    das musste quasi zu fuss erledigt werden:

    erstmal zählen, wieviele _CRS in der dsdt vor dem umzubenennenden vorkommen, und zwar vor dem letzten, was zu ändern ist (hier im TIMR). die zahl in das feld "skip" eintragen, reboot, mit maciasl gucken, wo der rename gelandet ist (was da wie gezählt wird, kommt mir höchst spanisch vor, weil der rename nicht dort landet, wo man es nach der zählerei eigentlich erwartet), nachzählen, wie der versatz ist, "skip" entsprechend korrigieren, gucken, korrigieren... bis der rename passt. dann kann man dahinter(!!!) die nächsten renames setzen, von unten nach oben sozusagen. danach griff die ssdt-hpet, und mit dem richtigen layout gab es dann auch ton.

    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

  • Den Zirkus muss man jetzt nicht mehr tun, im neuen OoenCore ist dafür eint tolle Funktion eingebaut, um ein ACPI-Patch exklusiv auf ein bestimmtes Device ausführen zu lassen. Einfach mal reinschauen, die ersten beiden Einträge studieren.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • ..., die ersten beiden Einträge studieren.

    Klingt interessant, aber die ersten beiden Einträge wovon? Stehe gerade auf dem Schlauch.

    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.5 / macOS 15

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

    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

  • So sieht's zum Beispiel aus:


    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • das hatten wir stehen, ich hab mich so richtig gefreut, weil ich darauf spekulierte, die zählerei bleibenlassen zu können, und es hat definitiv nicht funktioniert (pfade hab ich kontrolliert ;-) ). destawegen dann doch zählen wie der teufel... OC 0.6.8

    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

  • Man kann natürlich auch die DSDT in einen Hexeditor werfen, die benötigte Stelle suchen und bissel Bits davor mitnehmen, damit man ein exklusives Ergebnis bekommt.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • ganz schön umständlich..

    aber klar, ginge auch, aber mit dem zählen hats ja auch geklappt. und prüfen muss man ja sowieso.

    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

  • So viel Hilfe, so viel zu lesen :D Fettes Danke euch allen schon mal.


    Jetzt komme ich erstmal wieder mit den dummen Fragen:

    Ihr schreibt ja davon, dass der Rename von _CRS zu XCRS nicht an der richtigen Stelle ausgeführt wird. Wenn ich mir das dann mal in live am System anschaue, sieht das derzeit so aus:

    Sieht für mich als Dummie so aus, als ob das schon renamed wurde? Nach was muss ich denn suchen und dann mithilfe der Skips nach hinten verschieben?


    Habe den SSDT-HPET auch mal versucht an MacPeet 's Variante anzugleichen (einfach _CRS durch BUF0 ersetzt), also das Zeug in BUF0 schreiben zu lassen anstatt in _CRS. Aber mit wenig Erfolg, es tat sich am BUF0 genau: nix. Falls ich das alá MacPeet mache, müsste ich aber den rename auch rausnehmen oder?

    Soweit ich das verstehe, will ich, dass am Ende beim aufrufen der _CRS Methode die IRQNoFlags rausfallen. Da _CRS in MacPeets Fall einfach das BUF0 Objekt (? sind wir hier in der OOP? :D) returned und das BUF0 die IRQNoFlags hat, funktioniert das.


    Der Ansatz von SSDTTime ist es die "alte" _CRS Methode umzubenennen damit die "aus dem Weg" ist und dann seine eigene _CRS Methode einzufügen die direkt die IRQNoFlags besitzt, ohne auf BUF0 zurückzugreifen.


    Versteht das mein Gehirn soweit richtig?