Intel 10GB Netzwerkkarten für macOS modifizieren

  • Hallo Apfelfreunde.


    Ich versuche mich mal an meiner ersten Anleitung.
    Ich möchte Euch zeigen wie Ihr eine Intel 10GBit Karte (X520/X540) so modifizieren könnt das diese unter macOS vom Smalltree-Treiber als Smalltree-Karte akzeptiert wird.


    WARUM?
    Ganz einfach - Smalltree möchte für seine 10GBit-Karten roundabout 600€ und dabei handelt es sich um eine Karte im Intel Referenzdesign.
    Die Intel-Karten bekommt ihr in der "Bucht" für ca. 100€.


    Warum überhaupt Smalltree?
    Smalltree hatte bis jetzt immer Treiber die mit dem aktuellen macOS/OSX funktioniert haben und Apple unterstützt 10GBit-Karten von Haus aus nicht.
    Der Smalltree-Treiber erkennt seine Karten zum einen an den Werten die im Treiberpaket in der info.plist mit Ihrer VendorID (Hersteller) und DeviceID gespeichert sind.
    Das sieht dann so aus:


    Code
    1. <key>IOPCIPrimaryMatch</key>
    2. <string>0x10c68086 0x10c78086 0x10c88086 0x10ec8086 0x10d88086 0x10fb8086 0x10f18086 0x151c8086 0x150b8086 0x15288086 0x10fc8086 0x15608086 0x15638086</string>


    Wie Ihr sehen könnt ist die VendorID durchgängig 8086 also INTEL
    Die DeviceID 10fb steht z.B. für eine X520-DA2. Die 1528 für eine X540-T2 usw.


    Der Treiber selbst prüft aber noch die SUB-Device-ID die bei Smalltree 000a lautet und wie wir die im ROM der Karte anpassen zeige ich euch.


    Vorbereitung:

    • Ihr sollten euch einen Ubuntu-Live-Stick nach dieser Anleitung erstellen.
    • Startet mit dem erstellten Boot-Stick das System in dem die Karte eingebaut.
    • installiert die ethtools mit
      Code
      1. sudo apt-get install ethtool
    • installiert die net-tools mit
      Code
      1. sudo apt-get install net-tools



    Als nächstes müssen wir die oben besprochene VendorID und DeviceID unserer Karte herausfinden - warum erfahrt Ihr später.
    Setzt einfach das Kommando

    Code
    1. lspci -nn -vvv | grep -i Ethernet

    ab.


    Die Ausgabe zeigt euch nun alle Eure Netzwerkkarten samt VendorID und DeviceID an. Diese stehen am Ende der Zeile in eckigen Klammer. so z.B [8086:1528]


    Dann brauchen wir den Device-Namen unter dem Ubuntu die Netzwerkkarte angelegt hat.
    Diesen finden wir mit dem Befehl

    Code
    1. ifconfig


    Bei mir hießen die beiden Ports der Karte enp1s0f0 und enp1s0f1


    Damit wir bei Fehlschlägen eine Chance haben das ROM der Karte wiederherzustellen dummen wir dieses in eine Datei mit dem Befehl:

    Code
    1. sudo ethtool -e DEVICE raw on > DEVICE.bin


    am Beispiel meiner oben genannten Karte sieht das dann so aus:

    Code
    1. sudo ethtool -e enp1s0f0 raw on > enp1s0f0.bin


    und für den zweiten Port direkt hinterher

    Code
    1. sudo ethtool -e enp1s0f1 raw on > enp1s0f1.bin


    Jetzt müssen wir im ROM der Karte den Offset suchen an dem die anzupassende SUB-Device ID liegt
    Dazu bitte folgenden Befehl absetzen

    Code
    1. sudo ethtool -e enp1s0f0 | grep '86 80'


    86 80 deshalb weil die gesuchte VendorID 8086 in umgekehrter Bytefolge im ROM steht.
    Nun seht ihr die Zeile in der der Wert gefunden wurde und am Anfang den Offset im ROM.
    Ihr könnt jetzt den Befehl verändert wiederholen

    Code
    1. sudo ethtool -e enp1s0f0 | less'


    Navigiert zu der Adresse zuvor gefundenen und sucht (wieder in umgekehrter Folge) die SUB-Vendor ID die wir oben mit lspci ermittelt haben .
    Diese muss zwingend in den zwei Bytes vor '86 80' stehen. Bei meiner Intel war es glaube ich '1a 00'.
    Zählt nun vom OffSet vorne in der Zeile bis zu der stelle wo die SUB-DeviceID beginnt. Denkt daran es ist HEX also nach 9 kommt A, B, C usw.


    Jetzt haben wir alles was wir brauchen um die Anpassung vorzunehmen.
    Wir haben:

    • VendorID und DeviceID der Karte (8086:1528)
    • SUB-DeviceID der Karte (001a)
    • Devicename der Karte unter Ubuntu (enp1s0f0 und enp1s0f1)
    • Den Offset an dem die SUB-VendorID steht (0x048e und 0x048f)

    Also los
    Der Befehl um die notwendige SUB-DeviceID ins ROM zu schreiben die der Smalltree Treiber prüft sieht für die in Klammern stehenden Werte folgendermaßen aus:

    Code
    1. sudo ethtool -E enp1s0f0 magic 0x15288086 offset 0x48e value 0x0a


    und

    Code
    1. sudo ethtool -E enp1s0f0 magic 0x15288086 offset 0x48f value 0x00


    falls dort nicht schon '00' steht


    Beide Befehle für den evtl. zweiten vorhandenen Port wiederholen.


    Ihr müsst diese Werte aus den Klammern natürlich mit denen ersetzen die Ihr ermittelt habt.
    Die Erfahrung hat gezeigt das die Intel X520 fast immer die Offsets 0x032a und 0x032b hat und die X540 hat 0x048e und 0x048f.
    Aber nicht darauf verlassen - selber ermitteln


    Nach einem Neustart könnt ihr den Treiber bei Smalltree herunterladen, installieren und Eure 10GBit-Karte genießen.
    Ich schreibe mit meiner Karte knapp 1GByte/Sekunde auf mein NAS - das macht FUN.


    Anbei noch Bilder zu den gezeigten Befehlen - hätte sie gerne an den richtigen Stellen eingefügt weiß jedoch nicht wie.

  • Es wird Zeit, dass mal die X540-t2, welche bei uns im Büro vor sich hin vegetieren, mal damit anchecke... :)

    Gruß
    Al6042

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

  • Apple unterstützt 10GBit-Karten von Haus aus nicht.


    Nicht ganz richtig, im aktuellen iMacPro steckt eine Aquantia Aqtion AQC107 drin, Treiber steckt selbstverständlich im System, Karten mit gleichem Chip gibt es ebenfalls im freien Markt, z.B. von ASUS.

    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)

  • Schöne Anleitung :) bestimmt nützlich für die vielen Workstation Freaks hier! Ich würde dir nur noch empfehlen die Bilder in den Post mit einzubauen. Du kannst, nachdem du sie hochgeladen hast, mit der maus an die Stelle klicken, wo das Bild später erscheinen soll. Anschließend kannst du den Knopf neben (!!!!) "löschen" klicken. Darauf klicken und plötzlich erscheint so ein Code in deinem Text. Nachdem du fertig bist mit editieren landet das Bild genau dort :)

  • Gibt's denn irgendwo eine Liste mit 10gbit Karten die OOB (ohne Kext2Patch oder ähnliches) laufen? Meine letzte Suche vor 1-2 Wochen ist in's Leere gelaufen :(

  • @jemue
    ASUS XG-C100C Aquantia AQC107 10-Gbit NIC
    https://www.asus.com/us/Networking/XG-C100C/overview/


    Kext2Patch:
    com.apple.driver.AppleEthernetAquantiaAqtion
    6275696C 742D696E –> 62626262 62626262


    bzw
    com.apple.driver.AppleEthernetAquantiaAqtion
    0F84C003 0000 -> 90909090 9090


    oob:
    https://www.small-tree.com/pro…-10gbe-two-port-10gbase-t

    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)

  • @jemue
    1x das von apfelnico googeln = Aquantia Aqtion AQC107 =
    https://www.google.de/search?c…d=opera&ie=UTF-8&oe=UTF-8
    Danach sich so'n Preis-Vergleicher raussuchen und schwups =


    https://www.amazon.de/dp/B071J…1JR2ZW8&tag=geizhals10-21


    Und dann hat man eine Karte mit dem Chipsatz


    Es gibt leider nicht immer Listen, und wenn man sich dann nicht ganz sicher ist; das hier noch mal posten und die Antwort abwarten.
    So würde ich da vorgehen ;)


    Schöne Grüße

  • Nicht ganz richtig, im aktuellen iMacPro steckt eine Aquantia Aqtion AQC107 drin, Treiber steckt selbstverständlich im System, Karten mit gleichem Chip gibt es ebenfalls im freien Markt, z.B. von ASUS.


    Ja das stimmt wohl, aber alles nur Copper-Varianten kein LWL. Ich habe LWL gebraucht.

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • Hallo pgr69 und hallo Forum,


    diese SUPER Anleitung hat mich dazu verleitet mich sofort bei dem Forum anzumelden! Echt klasse, haette ich diese eher gehabt....


    Zuerst moechte ich mich kurz vorstellen. Bin seit ~1 Jahr ein Hackintosher und seit dem fast komplett auf MacOS umgestiegen. Lebe seit 3.5Jahren in Japan und habe hier intensiver das Fotografieren und das Filmen angefangen. --> FCPX, Luminar, Affinity sind einfach super obwohl ich nur an der Oberflaeche rumkratze. Musik mache ich auch noch, alles Freizeit --> LogicPro, genial. Unter Windows waren die Programme auch gut aber in MacOS kommt das irgendwie alles aus einem Guss. Incl. iPad, iPhone, AppleTV etc..


    Eine Frage habe ich aber doch schon.


    Ich bin bei meinem Thema dank dieser Anleitung einen grossen Schritt weitergekommen.


    Mein Aufbau:
    1. Ich habe ein Synology 1817+ mit einer x540-T2 (unveraendert, direkt von Aliexpress in den NAS und hat super getan!)
    2. In meinen Hackintosh habe ich nach lagem suchen eine Sonnet Presto Rj45 2x eingebaut.


    Damit hat mein Hackintosh aber leider nicht gebootet. In dem Momenten in dem vom grossen Apfel auf den kleinen Apfel umgeschaltet wird (kurz vor dem Login Screen) bleibt der Bildschirm schwarz. Mehrfach getestet. Karte drin, geht nicht, Karte raus geht!! Die Karte selber funktioniert perfekt in meinem MacPro5.1 (2010). Locker 400Mbyte/sec.
    Fuer mich sah das schon da nach einen Grafikarten Initialisierungsproblem aus. Habe viel (und mit viel Unwissenheit) im BIOS und im Clover Config rumgespielt....wirklich viel und lang... habe es nicht hinbekommen. Div. Foren und Youtube.... nichts..


    Dann habe ich mir eine Asus XG-C100C gekauft, exakt das gleiche Verhalten. (unter Windows funktioniert diese 100%)


    Jetzt wird es interessant!!!
    Ich habe mir noch eine x540-T2 besorgt und Diese ohne Modifikation in den Hackintosh gesteckt.... und siehe da, ich konnte ohne Problem mehrfach booten etc. allerdings natuerlich ohne eine Netzwerkkarte in MacOs zu haben.
    So, jetzt kommt die geniale Anleitung von oben. Ich habe dies 1:1 durchgefuehrt und --> Bang... das gleich Problem wie mit allen anderen Karten! Ich war am ENDE!!


    Vor lauter Frust habe ich nochmal im BIOS rumgestellt und eigentlich eine dumme Einstellung gewaehlt. Ich habe fix auf interne Grafik (CPU) eingestellt und KEINEN Monitor angesteckt. Dann passierte das Wunder. Der Hackintosh hat mit schwarzen Bildschirm gebootet und dann beim Login auf die RX580 umgeschaltet und alles war gut!!! Intel x540-T2 mit Modifikation + SmallTree Treiber laeuft perfekt. Sogar meine Sonnet Presto tut perfekt im Hackintosh... allerdings nur mit BlackScreen-Booten weil im BIOS CPU Grafik steht. Sobald ich im BIOS auf Auto oder PCIe umstelle.... geht es nicht mehr.


    Meine Frage ans Forum: hat einer eine Idee woran das liegen kann? Womoeglich nur eine kleine Clover Einstellung? Ich haette halt schon gern noch die Option beim Booten mal Win10 zu nehmen. BTW. Sobald im Mainboard Grafikausgang ein Monitor haengt geht das natuerlich alles nicht mehr. Liegt es womoeglich an dem "kleineren" H170 Chipsatz? Bin kurz davor mir noch ein Mainboard mit Z170 Chipsatz zu holen..


    So, habe bei meinem ersten Post in einem neuen Forum noch nie so viel geschrieben.


    Danke und Gruss
    Christian

  • Hallo Christian.


    Wollkommen im Forum.
    Es freut mich das sich meine Arbeit mit der Anleitung dann doch für jemanden bezahlt gemacht hat.


    Was Dein Problem betrifft denke ich solltest du für die Clover/EFI Profis hier mal deinen EFI-Ordner hochladen.
    Mich würde interessieren mit welcher Geschwindigkeit Deine RX580 und deine X540 im Hackintosch angebunden sind.
    Du findest diese Info unter "Über diesen Mac=>Systembericht" Dort dann einmal unter "Grafik/Displays" und "Ethernet-Karten".
    Bei Beiden Punkten gibt es einen Unterpunkt "PICIe-Lane-Breite". Derweil schaue ich mir mal Die SPECS Deines Boards an.


    lg
    Peter


    P.S. Ich mache auf meiner DS3615xs 820kb schreiben und 1020kb lesen. Musste dazu aber die MTU auf 8912 stellen. Falls ein Switch dazwischen ist muss der auch entsprechend für die Ports eingestellt werden.

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

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


    Es scheint sich ja irgendwie die 10GbE-Karten mit der RX580 zu beissen.
    Bei der Grafikkarte gehe ich davon aus, dass sie auf dem PCIEX16_1 (erster großer Slot unterhalb der CPU) steckt.
    An welchen Slots hast du die 10GbE-Karten bereits getestet?

    Gruß
    Al6042

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

  • H Al.


    Sein Board hat laut Specs nur 2 x16 Slots und der Rest ist x1. Da die Karte (zumindest Intel) einen x8 Anschluss hat kommen nur 2 Slots in Frage.
    Ich gehe wie du davon aus dass die RX580 im Slot direkt unter der CPU sitzt - dieser hat x16. Der zweite große Steckplatz hat zumindest x4.
    lg
    Peter

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    Einmal editiert, zuletzt von pgr69 ()

  • Habe die Bilder vom Mainboard in der Anleitung gesehen, kann aber erst im Büro die x540 live anschauen... ;)
    Das würde ggf. einiges erklären...

    Gruß
    Al6042

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

  • Hallo,


    wow, das geht ja schnell hier, danke!


    Ja, der Standard war RX580 direkt unterhalb der CPU und die Netzwerkkarten in den zweiten grossen Slot. Alle anderen sind nur kleine Slots.
    Habe es aber auch schon zumindest mit der Sonnet Presto anders herum gestest. Brachte keine Verbesserung.


    Im BIOS gibt es wohl noch 1-2 Einstellungen zur Geschwindigkeit der jeweiligen Slots... hatte ich auch mal rumgespielt, hatte aber keinerlei Auswirkungen.


    Wenn ich sicher wuesste das ein anderes Mainboard (Z170) das Problem loesen wuerde waere ich gluecklich die ca. 150Euro zu bezahlen.


    Gruss
    Christian


    Hi nochmal,


    mir faellt gerade noch ein das ich das ganze auch noch mit einer Vega56 (Gigabyte) probiert hatte.... immer das gleiche Verhalten.


    Wie ich sagte.... lange und viel probiert....


    Gruss
    Christian

  • Hi.


    Wie gesagt....lad mal dein EFI hoch.
    So wie du es sagst stecken die Karten richtig. selbst wenn die Intel nur 2 oder 4 Landes statt der 8 bekommt die sie gerne hätte - sollte sie immerhin laufen.
    Das das aktivieren der Internen Intel Grafik dann dafür sorgt das es geht ist seltsam, denn die belegt ja auch wieder PCIe-Lanes.


    Aber mal sehen....EFI hoch laden und mal die Infos aus dem Systembericht - dann sehen wir weiter.


    lg
    Peter

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • Hallo Peter,


    habe eben mal im Systembericht nachgesehen.
    Also die RX580 hat bei PCIe-Lane-Breite=16x. "Lustigerweise" steht meine Intel HD Graphics 530 zweimal drin? D.h. ich habe drei Grafikkarten?
    Bei der x540 steht nicht PCIe-Lane-Breite sondern nur Link-Breite? Fuer beide Anschluesse jeweils 2x.


    Mein kompletter EFI Ordner ist als ZIP 22MB gross. Soll ich den komplett an einen Post haengen?


    Gruss
    Christian

  • Hi Christian.


    Es reicht der Unterordner CLOVER


    x16 bei der RX580 ist schon mal gut.
    Du hast also auch eine Dual-10Gbit? Nun mit x2 läuft die Karte auch nur eben langsamer als sie es sein könnte mit x4 pro Anschluss.
    Kann nur noch nicht verstehen warum die Intel 540 sich so auf die Grafik auswirkt.......
    Warten wir mal ab was die EFI-Spezialisten wie Al sagen können.


    Grüße
    Peter

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • Hallo Peter,


    mein Clover Ordner ist als ZIP nur noch 2.2MB gross. Eigentlich ok, aber wie bekommen ich den hier angehaengt?


    Ich klingt bloed ist aber so. Kann ich das erst ab einer besimmten Anzahl an Posts? Oder wo ist der Knopf?


    Danke und Gruss
    Christian

  • neben dem Knopf "Absenden" auf "Erweiterte Antwort" dann gibt es über der Smilysammlung den Punkt "Dateianhänge"


    lg
    Peter

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1