[ALC898] SoundBlaster Audigy FX - Mic funktioniert bereits, der Rest leider nicht

  • Hallo,


    Nachdem sich meine Onbaord-Soundkarte verabschiedet hat, bin ich auf der Suche nach einer guten Lösung für eine entsprechende Alternative und habe mir eine PCIe Soundkarte besorgt.
    Da diese den ALC898 Chip verbaut hat, war ich der Meinung das wird ein Kinderspiel, aber daraus wurde vorerst mal nichts. :D


    Trotzdem hab ich die Hoffnung noch nicht aufgegeben und bin am werkeln.
    Die Karte ist Grundsätzlich da und wird am PCI-Bus erkannt. Kann ich diese nicht auf ein HDEF Device ummappen?


    Mit VoodooHDA bekomme ich sogar Audio-Ports angezeigt, leider funktioniert dabei aber nur das Mikrophon.
    AppleALC + Lilu inklusive Layout1 inject mit Clover hab ich auch probiert, aber da kam leider nichts bei raus.


    Hat wer eine zündende Idee in die richtige Richtung?


    liebe Grüße



  • Hallo und herzlich Willkommen im Forum... :)


    Deine Soundblaster Audigy FX hat keinen ALC-Codec auf der Platine...
    Das würde ja bedeuten, dass einer der bekanntesten Audio-Chip-Hersteller den Codec der Konkurrenz nutze würde... ;)


    Creative Labs nutzt hier den E-MU CA10300, der nicht vom AppleALC unterstützt wird. Der kennt nur den CA0132.
    Gegebenenfalls kann der VoodooHDA angepasst werden, um die Vendor- & Device-ID 1102:0012 detaillierter zu unterstützen.

    Gruß
    Al6042

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

  • Danke für die schnelle Antwort und die Willkommens-Grüße. :D


    Hm schade, ich hab das so im Netz gefunden. Aber naja wäre nicht das erste mal, dass man falsche Informationen im Internet findet.


    Was mich aber jetzt doch verwundert:
    Auch unter deinem gegeben Wikipedia-Link wird auf den ALC898 referenziert, oder bin ich jetzt schon ganz neben der Spur? ?(



    Im Artikel ist an der Stelle auch auf die offizielle Webseite gelinkt, wo man auch auf diese Information stößt.


    Bezüglich der modifizierten VoodooHDA.kext, hab ich schon versucht nach dieser Anleitung entsprechend die Vendor und DeviceID zu forcen, aber das Resultat bleibt quasi das selbe. (Das Inputs/Outputs angezeigt werden, aber nur das Mikrophon funktioniert.) Mit dem unterschied dass die HDMI devices nicht mehr angezeigt werden. (Was auch klar ist, da sich Voodoo auf die Audigy FX Karte beschränkt.)
    Gibt es sonst noch mögliche Veränderungen die man an der Voodoo ausprobieren kann?


    Kann ich dem System irgendwie beibringen, dass das ein HDEF Device ist? Manchmal werden in der DSDT.aml solche Änderungen vorgenommen, ich bin mir aber da nicht ganz sicher ob das für Geräte am PCIe Bus möglich ist.


    liebe Grüße

  • Uih...
    dann gabe ich mich wohl verguckt und dir Rx mit der Fx vertauscht...
    da ist tatsächlich der ALC-Codec drinnen.
    Teste an der Stelle bitte die diversen Layout-IDs für den ALC898, welche da wären:
    1, 2, 3, 5, 7, 11, 13, 65, 98, 99 oder 101

    Gruß
    Al6042

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

  • Laut den Informationen die IODeviceTree aus dem Gerät liest, würde es Layout 01 sein. (siehe Screenshot im ersten Post)


    In Verbindung mit der VoodooHDA habe ich schon alle Layouts durchprobiert (Clover injection). Durch die ergab sich leider keine Änderung.


    Ich werde nochmal alle Layouts probieren mit der AppleALC + Lilu. Komme aber leider erst am Wochenende dazu. Ich melde mich dann mit den Resultaten nochmal zurück.


    Leider bin ich mir auch garnicht genau sicher, ob mein Clover der Revision 3348 das schon beherrscht!? Kann ich das irgendwie kontrollieren, ob das von der Clover-Seite auch geklappt hat?


    Was mich zudem noch bisschen verwirrt: In der AppleALC Wiki stehen die Layouts die möglich sind. Im Falle des ALC898 also "layout 1, 2, 3, 5, 7, 11, 13, 65, 98, 99, 101".
    Aber was ist mit dieser Hexerdezimal-Zahl die da davor noch steht? "0x100003"


    liebe Grüße

  • VoodooHDA interessiert die Layout-ID nicht, diese ist für die Nutzung vom AppleALC wichtig, weswegen dein angekündigter Test der bessere Weg sein sollte.
    Bei den Hexadezimalen Ziffern bin ich auch noch nicht durchgestiegen... ;)

    Gruß
    Al6042

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

  • "0x100003" ist nur die Revision. Nicht so wichtig für Euch.
    Clover würde ich mal eine aktuelle Version nehmen, dann AppleALC + Lilu neuste Release´s nach /other
    KextInject auf "Yes" in der config.plist.
    Dann alle LayoutID´s durchprobieren nacheinander + FixHDA setzen!
    Originale AppleHDA versteht sich!
    VoodooAudio vorher löschen!

    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

  • Alles klar ich hab jetzt nochmal alles kontrolliert:


    --> neueste Revision von Clover installiert
    --> neuestes Release von AppleALC + Lilu nach /EFI/CLOVER/kexts/Other kopiert
    --> vanilla AppleHDA in /S/L/E
    --> VoodoHDA und sonstige custom AudioKexts gelöscht
    --> InjectKexts auf true

    Code
    1. <key>SystemParameters</key>
    2. <dict>
    3. <key>InjectKexts</key>
    4. <true/>
    5. </dict>


    --> FixHDA ist auch gesetzt

    Code
    1. <key>FixHDA_8000</key>
    2. <true/>


    --> Dann nach der reihe alle Layouts injected und rebootet

    Code
    1. <key>Audio</key>
    2. <dict>
    3. <key>Inject</key>
    4. <string>1</string>
    5. <key>ResetHDA</key>
    6. <true/>
    7. </dict>


    Brachte mich leider nicht zum gewünschten Ergebnis. :-(
    Ich habe auch integer statt string probiert, um alle Fehlerquellen auszuschließen, aber auch damit leider Nichts.


    Ich denke ich hätte vielleicht noch eine Chance, wenn man das Gerät als HDEF Gerät deklariert und nicht "lose" als pci1102,12 Gerät rein hängt.
    Hat jemand eine Ahnung wie das geht?
    Im Source Code von AppleALC ist auch mal kommentiert, dass AppleHDA nur HDEF und HDAU Geräte checkt.


    liebe Grüße


    //edit:
    AppleALC Debug Messages angehängt, wobei ich im Kext "<key>IOPCIClassMatch</key>" auf "<key>IOPCIPrimaryMatch</key>" geändert habe und dort jetzt das Gerät hinterlegt ist:
    "<string>0x00121102</string>"


    Besonders interessant sind die Zeilen:

    Code
    1. May 18 18:52:02 localhost kernel[0]: AppleALC: audio @ (DBG) corrects analog audio for hdef at pci1102,12 with 1102:0012
    2. May 18 18:52:02 localhost kernel[0]: AppleALC: audio @ (DBG) unsupported hdef vendor


    ... ich hab mal im SourceCode nachgesehen, die prüfen dort ob die Hardware von Intel ist, und wenn nicht geben sie einen null-pointer zurück.


    Ich komme also schätzungsweise um einen rebuild von AppleALC nicht herum. Ich sehe mir das morgen mal an. :-)
    Wenn bis dorthin schon jemand einen besseren Plan hat, nur her damit. :D

  • In den config.plist des aktuellen Clover 4458 wird nicht mehr FixHDA_8000 genutzt, sondern nur noch FixHDA:

    Code
    1. <key>Fixes</key>
    2. <dict>
    3. <key>FixHDA</key>
    4. <true/>
    5. </dict>

    Gruß
    Al6042

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

  • Danke für den Hinweis. Ich verwende jetzt eine neue config.plist mit entsprechendem FixHDA Eintrag. Macht halt leider das Kraut jetzt auch nicht Fett. :P


    Mein Plan war es ja mittels DSDT die Karte als ein HEDF Device zu deklarieren. Würde das überhaupt funktionieren, oder ist die DSDT.aml nur für Geräte direkt am Mainboard?


    Auf der anderen Baustelle versuche ich jetzt den Kext in XCode zu modifizieren, vielleicht bringt mich das irgendwie weiter.


    liebe Grüße



    //edit
    Ok, ich komme nicht mehr weiter. :/


    Den Kext konnte ich erfolgreich compilen und einsetzen aber der Code ist zu komplex, als dass ich ihn für meine PCIe Karte adaptieren könnte.


    Was mache ich denn jetzt, wenn ich die Karte nicht zum Laufen bekomme?
    Gibt es irgendeine Lösung für 5.1 Audio an einem Hackintosh ohne Mainboard-Audio?

  • Also,
    der ALC898 ist ja kein Unbekannter mehr, aber wer kann schon sagen, welche Layout ID sich die Nasen von Creative Labs für den Codec haben einfallen lassen... ;)


    Um dir eine eigene ID zusammen zu stochern, empfiehlt sich das Abarbeiten der Anleitung von @MacPeet, welche du unter https://www.root86.com/blog/40…anleitung-patch-applehda/ findest.


    Was das "HDEF"-Thema angeht, musst du über IOREG herausfinden, an welchem DSDT-"Device" die Soundblaster zu finden ist und dem Teil mit einer gepatchten DSDT.aml ein weiteres "Device (HDEF)" einzubauen und dort auch die entsprechende Layout ID zu injecten.

    Gruß
    Al6042

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

  • Aber wie ich bereits lese, hast du schon Kontakt zu vit9696 aufgenommen... ;)

    Gruß
    Al6042

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

  • Ja, nachdem ich jetzt das ganze verlängerte Wochenende jeden Tag endlose Stunden hinein investiert habe und an einem Punkt angelangt bin wo ich einfach nicht mehr weiter weiß, hab ich mir gedacht ich probier es nochmal auf allen Kanälen. :-P


    Ich werde aber die Anleitung die du oben gepostet hast nochmal durchgehen und schauen ob mich das in irgend eine Weise voran bringt. :thumbup:


    In meinem ersten Post ist ein Screenshot von IORegistryExplorer mit dem Gerät offen. Wie komme ich jetzt zu der entsprechenden DSDT Adresse?
    Und laut dem gleichen Tool steht da was von Layout 1, oder ist das wieder was anderes?



    //edit:
    Ich hab das gelinkte Tutorial mal durchgemacht und bin auch soweit ganz gut dabei denke ich. Bei Schritt 6 steige ich allerdings aus. Ich sehe im SVG bzw. in der codec_dump.txt die Reihenfolge wie die Eingänge/Ausgänge angesprochen werden. Die da wären:



    ... aber mit welcher Logik werden diese in die Platforms.xml transferiert?


  • Was genau ist denn mit dem Onboard-Audio passiert?


    Wo genau und in welche Kexte hast Du das pci1102,12 eingetragen?
    Ich würde dies nicht tun und die Kexte nativ lassen.
    Du gibst damit einen Link auf ein Device womit AppleALC nix anfangen kann und welches letztlich nur die Bridge zum eigentlichen ALC898 ist.
    Laut Deinem Bild oben müsstest Du in der DSDT unter PCI0/POP5 ein HDEF setzen.
    Es muss erst einmal als ALC erkannt werden, vorher lohnt das Patchen nicht.


    Die alten 5.1 PCI-Karten mit CM-Media-Chipsatz laufen auch, allerdings bekommt man hier kaum mehr als ein Output und ein Input konfiguriert.


    noch unbehandelt sieht Dein Dump so aus:


    Aber selbst wenn man alle Anschlüsse konfiguriert bekommt und entsprechend viele Nodes dafür da sind, müsste man diese noch im MidiSetup verknüpfen für 5.1.
    Vorerst muss aber das Device selbst erst einmal erkannt werden. Normales Stereo-Output bekommt man sicher hin, sofern das Device auch erkannt wird.


    Einfacher sind die USB-Teile, welche unter OSX OOB laufen, z.B. sind hier einige genannt für 5.1/7.1:
    https://www.root86.com/index.p…ctions&do=item_list&cid=5
    https://www.root86.com/collect…usb-71-soundkarte-extern/

    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

    Einmal editiert, zuletzt von MacPeet ()

  • Ich erlaube mir in diesem Fall den letzten Post zu zitieren, um auf die einzelnen Fragen/Themen entsprechend eingehen zu können.



    Was genau ist denn mit dem Onboard-Audio passiert?


    Mein Motherboard hat so eine "Onboard-Steckkarte" die nur in dem spezifischen Mainboard und Slot funktioniert und welche bei diesem Modell eine häufige Bruchstelle sein dürfte.
    Ich habe leider nur eine davon und hab die Karte in zwei Mainboards getest: Wenn ich sie bei dem einen Board einstecke schaltet sich der Computer nach einer Sekunde wieder aus und beim anderen Board hängt sich der PC innerhalb einer Minute auf. Ob wirklich die Karte selbst oder ein Bauteil auf dem Mainboard schuld ist, lässt sich schwer sagen.



    Zitat

    Wo genau und in welche Kexte hast Du das pci1102,12 eingetragen?
    Ich würde dies nicht tun und die Kexte nativ lassen.
    Du gibst damit einen Link auf ein Device womit AppleALC nix anfangen kann und welches letztlich nur die Bridge zum eigentlichen ALC898 ist.


    Ich habe in der AppleALC die Info.plist so bearbeitet, dass der Kext das PCIe Gerät matched.

    Code
    1. <key>IOPCIPrimaryMatch</key>
    2. <string>0x00121102</string>


    Hat aber im Endeffekt eh nicht funktioniert, aber ein Versuch war es wert. Die Originale AppleALC ist ja wieder einfach herzustellen. Momentan ist der Kext ganz draußen.



    Zitat

    Laut Deinem Bild oben müsstest Du in der DSDT unter PCI0/POP5 ein HDEF setzen.
    Es muss erst einmal als ALC erkannt werden, vorher lohnt das Patchen nicht.


    Vielen Dank ich mache mich mal schlau wie das funktionieren könnte, vielleicht schaffe ich es ja.



    Zitat

    Die alten 5.1 PCI-Karten mit CM-Media-Chipsatz laufen auch, allerdings bekommt man hier kaum mehr als ein Output und ein Input konfiguriert.


    ... und das würde mir auch schon total ausreichen. Ich hätte einfach gerne eine interne Lösung, bei der in Windows alle Ports funktionieren und in OSX von mir aus nur ein Output/Input. Mehr würde ich garnicht benötigen. Aber es scheint einfach keine funktionierende Karte für OSX zu geben. :-(
    Welche alten CM-Media-Chipsatz Karten? Hättest du hier Beispiele? Ich bin gerade leider nicht fündig geworden.
    Die alten Creative Karten sind ja zum Teil auch lauffähig mit dem kx-audiotreiber, aber da funktioniert kein einziger Input.



    Zitat

    noch unbehandelt sieht Dein Dump so aus:


    Genau, soweit war ich auch schon, ich hab die PinConfiguration auch schon entsprechend angepasst und in die AppleHDA (original ist natürlich gesichert) gepatched, nur mit der Platform.xml komme ich nicht zurecht.



    Zitat

    Aber selbst wenn man alle Anschlüsse konfiguriert bekommt und entsprechend viele Nodes dafür da sind, müsste man diese noch im MidiSetup verknüpfen für 5.1.
    Vorerst muss aber das Device selbst erst einmal erkannt werden. Normales Stereo-Output bekommt man sicher hin, sofern das Device auch erkannt wird.


    Solange bei Win 5.1 funktioniert und in OSX nur Stereo wäre ich gänzlich glücklich und zufrieden. Das mal eine Ansage, das heißt für mich jetzt erstmal auf DSDT patch konzentrieren.



    Zitat

    Einfacher sind die USB-Teile, welche unter OSX OOB laufen, z.B. sind hier einige genannt für 5.1/7.1:
    root86.com/index.php?app=collections&do=item_list&cid=5
    root86.com/collections/item/29…usb-71-soundkarte-extern/


    Danke für die Links, extern ist halt immer so eine Sache. Dann hat man wieder irgendwo ein Gerät das neben dem PC steht. :-P
    Wenn das mit der internen Karte nichts mehr wird, bleibt mir allerdings sowieso nichts mehr anderes übrig. :-(

  • Die Links zwecks der OOB USB-Teile waren auch nur als letzte Lösung gedacht.
    Es wäre durchaus gut, wenn´s mit Deiner Karte auch klappt. Ich bin auch kein Freund vom zu schnellen Aufgeben.
    Der CodecDump ist ja recht vielversprechend.
    Allerdings muss das Device erst einmal als HDEF erkannt werden.
    Poste doch bitte mal ein ioreg und die aktuelle DSDT (bitte mit nativen Kexten, ohne IOPCIPrimaryMatch 0x00121102) !
    Vielleicht kann @al6042 hierbei ja auch helfen.
    Letztlich muss das ALC im ioreg erst einmal erkannt werden. Die Bridge 0x00121102 zum Device findet OSX dann ganz allein.
    Ich erstelle dann mal eine spezielle LayoutID für die AppleALC anhand des Dump´s.

    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

  • Genau...
    "Bring it on" und dann packen wir den HDEF an die passende Stelle, wie ich es gestern erklärt habe.

    Gruß
    Al6042

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

  • Es wäre durchaus gut, wenn´s mit Deiner Karte auch klappt. Ich bin auch kein Freund vom zu schnellen Aufgeben.


    Vor allem wäre es in der OSX Community soweit ich weiß die erste Soundkarte die man dann verwenden könnte. Das wär doch was! :-) (die Creative Karten mit den fx-Treibern mal ausgenommen)


    Genau...
    "Bring it on"


    YEAH! :thumbup:



    Im Anhang befindet sich meine Vanilla DSDT extrahiert mit DPCIManager. Die Clover-Variante mit F4 funktioniert leider bei mir nicht, da mein EFI Ordner auf der HFS+ Partition liegt. Aber das wird bis auf die Clover Änderungen hoffentlich keinen allzugroßen Unterschied machen. Ansonsten mach ich noch gleich eine mit einem Linux.


    Es sind zudem noch Patches angehängt, die sich im laufe der Zeit angesammelt haben, von denen aber ich nicht mehr genau weiß was jeder einzelne bringt. AHCI_SATA_orange_icon ist klar: wenn ich den nicht rein patche werden meine Festplatten als extern erkannt.
    Bei den die anderen ist das schon zu lange her leider. ?(


    //edit:
    Ich hab die DSDT mit Ubuntu nochmal extrahiert und mit Diff verglichen. Sie unterscheiden sich schon etwas.
    Beispielsweise befindet sich in der DSDT von PCIManager bereits ein HDEF device. Wurde das von Clover injected oder wie funktioniert das?


    #OFFTOPIC:

    Dateien

    • DSDT.aml

      (43,35 kB, 174 Mal heruntergeladen, zuletzt: )
    • DSDT_PATCHES.zip

      (4,24 kB, 159 Mal heruntergeladen, zuletzt: )
    • DSDT_UBUNTU.aml

      (41,53 kB, 176 Mal heruntergeladen, zuletzt: )

    2 Mal editiert, zuletzt von GucciGucciGu ()

  • Habe mir deine DSDT mal angeschaut.
    Dort ist das (POP5) schon als (HDEF) umgestellt...
    Ich würde ungerne an Datei weiter schrauben...


    Kannst du Clover mal als Legacy Mode auf einen MBR-basierenden USB-Stick mit FAT32 installieren, damit du wenigstens in das Clover-Bootmenü kommst und der Extrakt per F4 auf den Stick funktioniert?

    Gruß
    Al6042

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

  • Mach ich. Gib mir 10 Minuten


    //edit:
    Wie versprochen hier nochmal mit Clover-F4 Methode. Ich hab den ganzen "origin" Ordner gepackt, da ich nicht genau weiß ob die ganzen anderen Dateien auch von Bedeutung sind.


    liebe Grüße

    Dateien

    • origin.zip

      (22,47 kB, 157 Mal heruntergeladen, zuletzt: )

    2 Mal editiert, zuletzt von GucciGucciGu ()