RTL812xLucy für die Realtek RTL812x-Familie

  • Nach 6 Wochen mit ca. 100 investierten Arbeitsstunden ist es nun soweit, dass ich die erste funktionsfähige Testversion meines neuen Treibers für die Realtek RTL812x-Netzwerkkarten veröffentlichen kann, welches AppleVTD unter Tahoe und dank des neuen Linux-Sourcecodes von Realtek auch neuere Chips unterstützt, welche mit LucyRTL8125Ethernet noch nicht kompatibel waren. Das Projekt ist noch nicht vollendet, aber der Treiber funktioniert bereits sehr zuverlässig, d. h. ich konnte bei meinen Tests weder Kernel Panics noch Verbindungsabrüche feststellen. Zur Zeit werden folgende Chips unterstützt:

    • RTL8125A
    • RTL8125B
    • RTL8125BP
    • RTL8125CP
    • RTL8125D

    Seit Version 1.0.3 vom 28.02.2026 (siehe Anhang) wird nun auch der RTL8126A unterstützt:

    • Unterstützung für 5Gbit/s mit dem RTL8126A.
    • Außerdem wurden ein paar kleine Bugs beseitigt.

    Version 1.0.2 vom 13.02.2026 bringt folgende Verbesserungen:

    • VLAN-Unterstützung wurde erfolgreich getestet und ist vollständig funktionsfähig.
    • Interrupt Throttling per Software wurde verbessert, um die CPU-Last beim Senden von Daten zu senken.

    Mit Version 1.0.1, die ich am 8.2.2026 veröffentlicht habe (siehe Anhang), wurde folgende Features hingefügt:

    • Dank neuer Firmware werden jetzt Jumboframes (bis MTU 9000) vollständig unterstützt.
    • WoL wurde erfolgreich getestet und funktioniert.


    Bekannte Probleme:

    • TSO (TCP segmentation offload) funktioniert zwar im Prinzip, da aber das Interrupt Throttling bei diesen Chips nicht funktioniert, gibt es mit TSO noch Probleme mit dem Durchsatz (max. 2Gbit/s mit Tahoe). Aus diesem Grund ist TSO in der aktuellen Version deaktiviert, wodurch die CPU-Last beim Senden noch etwas höher ist als mit TSO.
    • Bei 5Gbit/s wird durch das Fehlen von TSO die Sendegeschwindigkeit durch die CPU begrenz , da diese in der Regel nicht schnell genug ist um TCP/IP mit voller Verbindungsgeschwindigkeit zu verarbeiten.

    Da RTL812xLucy ist als Ersatz für LucyRTL8125Ethernet gedacht ist, muss dieser Treiber entfernt, bzw. in OC deaktiviert werden, bevor RTL812xLucy installiert wird. Erfolgreich getestet wurde RTL812xLucy bisher unter Tahoe, Sequoia und Monterey, sollte aber grundsätzlich mit Catalina und aufwärts funktionieren. Den Sourcecode habe ich bereits auf Github veröffentlicht. Falls ihr mein Projekt mit einem kleinen Beitrag unterstützen möchtet, findet ihr dort auch einen Link zum sponsern des Projektes.


    https://github.com/Mieze/RTL812xLucy/tree/main


    Hier noch der Eintrag für OpenCores config.plist, um RTL812xLucy zu installieren:



    Viel Spaß beim Testen!


    Mieze

  • Mieze

    auch wenn ich imho keinen dieser chips habe, ein großes dankeschön, das du mit den treibern am ball bleibst, dankesehr dafür :)


    lg :)

  • Hey Mieze


    Vielen Dank für deinen EInsatz! Wie sieht es mit dem RTL8125BG aus? Ich habe hier noch ein Mainboard mit diesem Chipsatz im Schrank (Bastelprojekt für/mit Sohnemann). Ich dachte eigentlich, Support wäre über LucyRTL8125Ethernet möglich, aber in deiner RTL812xLucy Liste taucht der Chipsatz nicht auf.


    Danke <3

  • jan2ooo Einen RTL8125BG kennt Realteks Linux Sourcecode nicht, aber vermutlich handelt es sich um einen gewöhnlichen RTL8125B, weil zur Zeit als Mainboards der 400er Serie aktuell waren nur jeweils 2 Varianten vom RTL8125A und RTL8125B existierten. Den Chip als RTL8125BG zu bezeichnen dürfte wohl lediglich eine kreative Namensgebung von Asrock sein. Ich halte es jedenfalls für äußerst unwahrscheinlich, dass da ein Chip existiert, der von Realteks eigenem Code nicht unterstützt wird, aber letztendlich hilft da nur ausprobieren. Ich bin jedenfalls sehr zuversichtlich, dass dein Board mit RTL812xLucy funktioniert.

    Edited once, last by Mieze ().

  • Ich habe mit der neuen Version 1.0.1 (build 1.0.100) schon mal einen kleinen Test unter Tahoe 26.2 mit aktiviertem AppleVTD durchgeführt. Hier sind die Ergebnisse:

  • Ich habe gerade das Update auf Version 1.0.2 von RTL812xLucy veröffentlicht. Ihr findet es zusammen mit entsprechenden Anmerkungen im ersten post dieses Threads.

  • Ok, den Code für den RTL8126 habe ich jetzt eingefügt und theoretische sollte RTL812xLucy auch mit dem laufen, aber leider habe ich keine passende Karte mit diesem Chip zur Verfügung. Ich hatte zwar eine per Aliexpress bestellt, aber anstelle einer PCIe-Karte mit RTL8126 dieses nutzlose Teil erhalten, was natürlich umgehend zurückgegangen ist.


    Falls jemand von Euch so eine Karte in seinem Hackintosh haben sollte, dann würde ich mich freuen, wenn er für mich ein paar grundlegende Tests mit RTL812xLucy durchführen könnte, um wenigstens überprüfen zu können, ob es funktioniert. Ich habe inzwischen zwar eine neue Karte bestellt, aber die werde ich wohl wegen Karneval nicht vor dem nächsten Wochenende zur Verfügung haben und eine ganze Woche Verzögerung wäre schade. Bei Interesse bitte melden, am besten per PM, da die neue Version noch nicht soweit ist, um sie zu veröffentlichen.


  • Mieze i could try with an 8126A ethernet


    edit:

    I read better and i sent private message :)


  • Ich habe eine Rückmeldung von einem russischen User erhalten, der berichtet, dass auf seinem Rechner der RTL8125 und Windows nicht funktioniert, nachdem er ihn unter macOS mit RTL812xLucy betrieben hatte und einen Warmstart zu Windows durchgeführt hat. Erst nach einem Kaltstart zu Windows soll bei ihm der RTL8125 wieder unter Windows funktionieren. Da ich auf meinem Testrechner kein Windows habe und es daher nicht selbst verifizieren kann, wollte ich Euch fragen, ob Ihr dieses Problem bestätigen könnt, oder ob es bei Euch nicht auftritt?

  • So, ich habe heute meine RTL8126A bekommen und, nachdem ich einen PCIe-Slot für die freigeschaufelt hatte (in meinem Testsystem steckt in jedem Slot eine Netzwerkkarte), die Karte eingebaut, sowie erste Tests gefahren. Ich musste zwar noch eine Zeile Code korrigieren, bevor sie sich auch mit 5Gbit/s verbunden hat, aber grundsätzlich kann ich bestätigen, dass RTL812xLucy bereits mit der RTL8126A läuft. Was noch fehlt, ist ein bisschen Performance-Tuning. Das werde ich am Wochenende erledigen und dann die neue Version veröffentlichen.


  • Mieze was it working kexts i tester or it was kpiing also in your system as in mine?

    I cant test till 22 march but I am happy you did progress with your kext💪👍🙏


  • fabiosun No, there was no KP, it worked immediately on the first boot, but only in 2.5Gbit mode. In order to make it work with 5Gbit/s, I had to fix the advertised speeds. After that it also worked in 5Gbit mode.

  • Ich habe eine Rückmeldung von einem russischen User erhalten, der berichtet, dass auf seinem Rechner der RTL8125 und Windows nicht funktioniert, nachdem er ihn unter macOS mit RTL812xLucy betrieben hatte und einen Warmstart zu Windows durchgeführt hat. Erst nach einem Kaltstart zu Windows soll bei ihm der RTL8125 wieder unter Windows funktionieren. Da ich auf meinem Testrechner kein Windows habe und es daher nicht selbst verifizieren kann, wollte ich Euch fragen, ob Ihr dieses Problem bestätigen könnt, oder ob es bei Euch nicht auftritt?

    Ich hatte bei mir einen ähnlichen Effekt. Allerdings bisher nur 1x und nicht reproduzierbar: Nach einer Kernel Panic, auf die ich leider nicht geachtet hatte, bekam die Karte keine IP mehr vom DHCP. Link war da. Unter Windows das gleiche Verhalten. Erst Netzteil stromlos hat die Karte resettet. Normales Power-Off hat nicht geholfen.

  • Hier noch ein kurzer Geschwindigkeitstest mit Version 1.0.3 mit dem RTL8126A. Er wurde under Tahoe mit aktiviertem AppleVTD und MTU 9000 durchgeführt. Bitte beachtet, dass die Sendegeschwindigkeit von TCP/IPv6 durch die CPU-Leistung auf 3,94Gbit/s begrenzt wird. Ohne AppleVTD und unter Sequoia dürften dieser Wert besser sein. Mit MTU 1500 liegt die Sendegeschwindigkeit insgesamt niedriger, da die CPU zum limitierenden Faktor wird.