Aus Intel CT Desktop Adapter eine Apple NIC machen

  • Diese Anleitung ermöglicht es dem Intel-CT-Desktop NIC (EXPI9301CT) oder (EXPI9301CTBLK), die Apple-Treiber vollständig zu unterstützen und sich wie ein nativer Apple-NIC zu verhalten.
    Ich wollte eine Ethernet Karte, welche ohne Drittanbieter Kexte funktioniert. Zudem ist es von Vorteil für alle Apple Dienste inkl. (iMessage / Facetime), wenn Apple Hardware verwendet wird.
    Es ist möglich, diese Karte mit einer eigenen Mac Adresse zu flashen, was auch für die Apple Dienste von Vorteil ist. Dazu am Ende noch eine Anleitung.


    Bezugsquelle https://www.amazon.de/gp/produ…age_o03_s00?ie=UTF8&psc=1


    Achtung: Diese Anleitung funktioniert nur für Intel Desktop-CT-Netzwerkkarten mit der PCI-Geräte-ID 10D3. Sierra und High Sierra werden unterstützt. Aber es sollte auch in Yosemite und Mavericks funktionieren.
    Falls etwas schief geht, wie bei mir, dann einfach die Karte wieder zurück schicken und umtauschen oder eine über Ebay beziehen.


    Ebay https://www.ebay.de/sch/i.html…kw=EXPI9301CTBLK&_sacat=0


    Also los gehts.


    Optional:
    Bitte alle anderen Kext-Komponenten, die möglicherweise für Intel NIC installiert sind, entfernen. Wir wollen später keine Konflikte.


    Erstellen eines bootfähigen DOS-USB-Laufwerks:
    Ich benutzte Rufus Boot USB Disk das ein Freedos Image beinhaltet. Win98 DOS Bootfiles, um es unter Windows zu erstellen. Das ursprüngliche ISO für die Win98 DOS Boot-Dateien hänge ich mit an. Jede andere DOS-kompatible Boot-Umgebung sollte ebenfalls funktionieren.


    Laden der Intel Preboot-Dateien:
    Diese hänge ich mit an!
    Man kann sie aber auch direkt auf der Intel Seite herunterladen
    https://downloadcenter.intel.c…ot-Images-and-EFI-Drivers


    https://downloadcenter.intel.c…ot-Images-and-EFI-DriversKopieren der notwendigen Dateien auf das USB-Laufwerk:
    Entpacken der Downloads und kopieren der folgenden Dateien auf das bootfähige DOS-USB-Laufwerk

    Code
    1. Copy BOOTIMG.FLB from PREBOOT\APPS\BootUtil
    2. Copy BootUtil.EXE from PREBOOT\APPS\BootUtil\DOS


    Starten und booten vom USB-Stick:
    Vorübergehend die UEFI-BIOS-Einstellungen ändern, um von einer DOS-Umgebung starten zu können. Ich musste folgende Optionen einstellen:

    Code
    1. Legacy USB = Enable
    2. SecureBoot = Other
    3. FastBoot = Off


    Flash der NIC mit EFI-ROM:
    Nach dem Booten vom DOS-USB-Laufwerk verwendet bitte die folgenden Befehle in der angegebenen Reihenfolge. Sichern des ursprünglichen ROMs

    Code
    1. BootUtil -saveimage -file=Backup.flb


    Aktivieren der Flash-Schreibfunktion für NIC

    Code
    1. BootUtil -fe -all


    Update NIC mit EFI-ROM

    Code
    1. BootUtil -up=EFI -all -file=BootIMG.FLB


    Ändern der PCI-Geräte-ID mit ethtool:
    Herzlichen Glückwunsch, die Intel NIC ist jetzt UEFI-kompatibel und sollte bereits in Ihrem UEFI-BIOS erscheinen. Jetzt müssen wir die Geräte-ID von der NIC ändern, damit OSX den nativen Treiber verwenden kann. Booten Sie von einer Linux Live Boot-Umgebung (z. B. Ubuntu, ich habe Knoppix verwendet) und ändern der PCI-Geräte-ID von 10D3 auf 10F6 mit ethtool. Bitte sicher stellen, dass die Intel NIC eth0 ist. Wir möchten keine anderen NICs aus Versehen patchen.

    Code
    1. sudo -s
    2. apt-get install ethtool
    3. ethtool -E eth0 magic 0x10D38086 offset 0x16 value 0x00
    4. ethtool -E eth0 magic 0x10D38086 offset 0x17 value 0x00
    5. ethtool -E eth0 magic 0x10D38086 offset 0x1A value 0xF6


    Starten von OSX und genießen der nativen Apple Intel NIC:
    Neustart und vergiss nicht, die UEFI-Einstellungen zurück, auf ihre ursprünglichen Werte zu ändern. Danach kann man OSX starten und die NIC sollte erkannt werden. Windows wird die NIC ohne Probleme aufnehmen, also keine Sorge, wenn ihr irgendwann später wieder zu Windows wechseln wollt.


    Zum Schluss noch das ändern der Mac-Adresse:
    Man kann die Mac Adresse nicht einfach so ändern, also eine Fantasie Adresse, das würde zu Schwierigkeiten führen.
    Also bemüht man sich der Google Suche oder man geht auf diese Seite (IEEE) und prüft eine Mac oder sucht nach Hersteller.
    Ich habe einfach per Google nach Apple Mac Adressen gesucht und mir dann eine passende für Netzwerkkarten rausgesucht. Bitte habt Verständnis, dass ich
    meine nicht veröffentliche.
    Ladet hier diesen Intel Ordner runter. In diesem ist die eeupdate.exe enthalten, welche wir benötigen.
    Diese einfach auf den Dos-USB-Stick kopieren.
    Unter Dos dann folgendes eingeben:

    Code
    1. eeupdate.exe /nic=1 /mac=XXXXXXXXXXXX


    So, das wars.
    jetzt könnt Ihr euch an einer nativen Apple-NIC erfreuen mit einer individuellen Mac-Adresse und hoffentlich funktionierenden Apple Diensten!

    Dateien

    • Windows98.zip

      (751,32 kB, 221 Mal heruntergeladen, zuletzt: )
    • PREBOOT.zip

      (17,15 MB, 223 Mal heruntergeladen, zuletzt: )
    • Int82574.zip

      (488,25 kB, 234 Mal heruntergeladen, zuletzt: )
    • iMac 17.1 (Late 2015) - Board: Asus Z170-Deluxe - Prozessor: i7-6700k - Speicher: DDR4-1600 32gb - Grafikkarte: Sapphire Pulse Radeon RX 560D - Clover aktuell - OSX-Mojave

    Einmal editiert, zuletzt von aalbani ()

  • Gerne :bitte:

    • iMac 17.1 (Late 2015) - Board: Asus Z170-Deluxe - Prozessor: i7-6700k - Speicher: DDR4-1600 32gb - Grafikkarte: Sapphire Pulse Radeon RX 560D - Clover aktuell - OSX-Mojave
  • Super Anleitung... Da bekommt man doch gleich wieder Lust aufs basteln :D

    Gruß CrusadeGT


  • Hallo aalbani,


    vielen Dank für die tolle Anleitung. Hat wunderbar geklappt. :thumbup: Hatte nur zwei kleine Probleme.
    1. Für Flash der NIC mit EFI-ROM musste ich Bootutil -nic=1 -saveimage -file=Backup.flb verwenden.


    2. Nach dem Ändern der PCI-Geräte-ID mit ethtool unter Ubuntu wurde meine Netzwerkkarte als en1 erkannt. Dieses Problem läßt sich folgendermaßen lösen:


    Den Finder öffnen und "Gehe zu Ordner" aussuchen dann folgendes Verzeichnis eingeben:
    /Library/Preferences/SystemConfiguration/
    Hier folgende Dateien löschen:
    - preferences.olist
    -Networkinterfaces.plist
    - com.apple.network.eapolclient.configuration.plist
    - com.apple.airport.preferences.plist
    Anschließend einen Reboot tut gut durchführen und thats it. Fertig ist die Laube. 8)

  • Nachdem ich eine PCIe LAN-Karte mit RTL8168E-Chip bestellt hatte (die laut diesem Thread OOB funktionieren sollte), wurde mir eine mit Intel 82574L-Chip geliefert.


    Der Hersteller der Karte ist nicht Intel, sondern Digitus. Die Geräte-ID ist aber sehr wohl 10D3, wie oben im ersten Post als Voraussetzung genannt. Reicht das aus um wie oben beschrieben flashen zu können, oder muss die Karte selbst auch von Intel sein? Sonst geht die nämlich wieder zurück.


    DPCIManager sagt:

    8086   10D3   8086   A01F   Intel Corporation   82574L Gigabit Network Connection


    Hier der Output von IOReg:


    EDIT:

    Also ich hab das jetzt einfach probiert. Nachdem ich den Befehl BootUtil -saveimage -file=Backup.flb eingegeben habe, erhalte ich jedoch die Fehlermeldung ERROR: SAVEIMAGE option requires -NIC parameter.


    Weiß da jemand Rat?

    Hack 2018 · siehe Profil · OpenCore 0.8.6 · iMac19,1 · Ventura
    Hack 2013 · Partition 1: OS X 10.6.8 · Partition 2: OS X 10.8.5 · GA-H61N-USB3 · Core i3 2120 · Radeon HD 5450 · 8GB RAM · 320GB WD HDD · 1,5TB Toshiba HDD · Samsung DVD SH-S223B · JCP MI 101 ITX · Chimera 1.11.1
    iMac G5 · OS X 10.5.8 PowerMac 7500/100 · OS 8.6 LaserWriter 4/600 PS an AsantéTalk
    Banana Pi NAS mit A2SERVER als AppleTalk Datei- & Druckserver

    Einmal editiert, zuletzt von mabam ()

  • Also grundsätzlich läuft die RTL8168E mit einer Kext unter MacOS. Von nativ kann daher keine Rede sein.


    Hast du die Befehle vor BootUtil -saveimage -file=Backup.flb

    korrekt ausgeführt?

  • Hast du die Befehle vor BootUtil -saveimage -file=Backup.flb

    korrekt ausgeführt?

    Die stehen zwar in Code Blocks, sind aber eher zu verrichtende Handlungen und keine Befehle. Die habe ich auch ausgeführt (auch wenn es bei mir im BIOS etwas Anderes zu beachten galt, woran ich drei Stunden geknobelt habe – ich musste die CSM-Unterstützung einschalten, alles andere passte schon), wodurch ich nun vom DOS-USB-Stick booten kann.


    Ich denke, dass der Error erscheint, weil nicht nur die NIC von Intel ist, sondern auch mein Onboard-Ethernet. Und dann weiß BootUtil nicht, welche von beiden Schnittstellen ich ansprechen will.

    Wenn ich nach der Fehlermeldung google, finde ich nur ein japanisches Forum, aus dem ich auch nach einer Auto-Übersetzung ins Englische nicht schlau werde.


    Die Dokumentation zum BootUtil auf https://www.intel.de/content/w…s/000005790/software.html hat mich aber weitergebracht. Wenn ich den Befehl BootUtil -nic=01 eingebe, bekomme ich:

    Code
    1. Intel(R) Ethernet Flash Firmware Utility
    2. BootUtil version 1.6.57.0
    3. Copyright (C) 2003-2017 Intel Corporation
    4. ERROR: iSCSI is not flashed on port 1
    5. Port Network Address Location Series WOL Flash Firmware Version
    6. ==== =============== ======== ======= === ============================= =======
    7. 1 XXXXXXXXXXXX 0:31.6 Gigabit N/A FLASH Not Present
    8. 2 XXXXXXXXXXXX 1:00.0 Gigabit YES PXE 1.3.21

    Wenn ich die Netzwerk-Karte ausbaue und neu starte, fehlt beim gleichen Befehl die zweite Zeile. Damit ist meine Karte auf Port 2. Mit dem Befehl BootUtil -nic=02 -saveimage -file=Backup.flb konnte ich jetzt das ursprüngliche ROM sichern.

    Die nächsten Befehle habe ich in BootUtil -fe -nic=02 bzw. BootUtil -up=EFI -nic=02 -file=BootIMG.FLB geändert.


    Nach dem Flashen liest sich die oben genannte zweite Zeile nun:

    Code
    1. 2 XXXXXXXXXXXX 1:00.0 Gigabit YES UEFI 8.2.01


    Jetzt muss ich mir erstmal einen Linux-Live-USB-Stick erstellen, dann geht’s weiter.



    EDIT:
    So, mit Knoppix 8.6.1 als Linux-Live-System hat die Änderung der Geräte-ID geklappt. Bei den „ethtool“-Befehlen musste ich eth1 statt eth0 verwenden, wie ich in Knoppix per lshw -class network herausfand.

    Den „eeupdate.exe“-Befehl zum ändern der MAC-Adresse konnte ich dann wieder unverändert übernehmen.

    Als zeitsparender Tipp für Andere: Unter https://hwaddress.com/company/apple-inc/ gibt’s wirklich massenweise Apple-Hardwareadressen.

    Die von mir geflashte Karte habe ich für knapp 13 Euro unter https://www.amazon.de/dp/B008GXNY1U gekauft. Wie in meinem vorherigen Post schon erwähnt steht da RTL8168E als Chipsatz, mir wurde aber eine mit Intel 82574L-Chipsatz geliefert, die optisch exakt der Abbildung auf Amazon entspricht. Genau diese Abbildung findet sich auch auf der Website des Herstellers wieder: https://www.digitus.info/de/pr…ten-und-adapter/dn-10130/ , wo auch Intel 82574L als Chipsatz genannt wird (interessanterweise aber Treiber-Downloads bis OS X 10.7 für den Realtek-Chipsatz angeboten werden). Eine mit RTL8168E-Chipsatz gibt es da gar nicht. Das erweckt den Eindruck, dass die Info bei Amazon veraltet ist und immer eine mit o.g. Intel-Chipsatz geliefert wird. Für gerade mal 13 Euro ist das super!

    Wie auch immer: Die Karte wird jetzt nach dem Flashen von macOS anstandslos erkannt und ich freue mich.


    An dieser Stelle vielen Dank an aalbani (und natürlich auch den Verfasser der zugrundeliegenden englischen Anleitung auf insanelymac)!



    EDIT 2:

    Einziger Nachteil: Die Karte scheint kein AppleTalk zu transportieren (was mir, wenn man in meine Signatur schaut, wichtig ist). Zum Glück kann mein Onboard-Ethernet das.

    Hack 2018 · siehe Profil · OpenCore 0.8.6 · iMac19,1 · Ventura
    Hack 2013 · Partition 1: OS X 10.6.8 · Partition 2: OS X 10.8.5 · GA-H61N-USB3 · Core i3 2120 · Radeon HD 5450 · 8GB RAM · 320GB WD HDD · 1,5TB Toshiba HDD · Samsung DVD SH-S223B · JCP MI 101 ITX · Chimera 1.11.1
    iMac G5 · OS X 10.5.8 PowerMac 7500/100 · OS 8.6 LaserWriter 4/600 PS an AsantéTalk
    Banana Pi NAS mit A2SERVER als AppleTalk Datei- & Druckserver

    3 Mal editiert, zuletzt von mabam ()

  • mabam

    das dir da keine digitus-karte angezeigt wird, ist insofern logisch, als das karten-ver-käufer ala oemhändler fungieren , also das du x-händler mit ein-undderselben hardware sogar macadresse und oder fccid -findest, sogar dem ähnlichen, wenn nicht gar gleichen bild. das der chip nun anders als erwartet ist, hmja -gut oder schlecht- weiß ich jetzt nicht. hier

    eine karte evtl. -mit- intel chip, aber der ist unter den kühlkörper, könnte also auch ein realtek sein, deren logo ja leicht erkennbar ist. intel-karte amazone

    kennst du vermutlich selbst, du kaufst idr bei einer firma z.b. csl zb die haben da auch nur einen realtek-chip drauf, im höchstfall steht der name noch auf der karte richtung fcc-id.

    lg :)


    ansonsten gibt es ja noch andere hersteller, die üblichen verdächtigen, wie 3com, atheros, broadcom, intel, mediatek, realtek , usw. je nach firmenübernahme sind dann auch deren treiber auf unterschiedlichen firmenseiten, so die dort weitergepflegt werden,

  • das dir da keine digitus-karte angezeigt wird, ist insofern logisch, als das karten-ver-käufer ala oemhändler fungieren , also das du x-händler mit ein-undderselben hardware sogar macadresse und oder fccid -findest, sogar dem ähnlichen, wenn nicht gar gleichen bild.

    Das ist mir klar. Da im Eingangspost aber explizit „Intel-CT-Desktop NIC EXPI9301CT oder EXPI9301CTBLK“ genannt wird, war ich mir zuerst nicht sicher, ob die identische Geräte-ID 10D3 allein ausreicht, oder evtl. irgendwas anderes noch eine Rolle spielt.


    das der chip nun anders als erwartet ist, hmja -gut oder schlecht- weiß ich jetzt nicht. hier

    eine karte evtl. -mit- intel chip, aber der ist unter den kühlkörper, könnte also auch ein realtek sein, deren logo ja leicht erkennbar ist. intel-karte amazone

    Für mich ist es letztendlich gut, dass der Chip anders als erwartet ist. Denn nach dem Flashen läuft die Karte mit den macOS-eigenen Treibern. Wenn man aber nicht flashen kann/will, ist es halt schon doof, wenn man etwas anderes geliefert bekommt, als in der Produktbeschreibung steht. Ich habe das mit dem Flashen auch zum ersten Mal gemacht und hatte ja Glück, dass eine NIC mit Intel 82574L-Chip geliefert wurde, zu der es diese Anleitung für die macOS-Verwendung gibt. (In der Anleitung in diesem Thread wird die genaue Chip-Bezeichnung zwar nicht genannt, aber in der ursprünglichen Anleitung auf insanelymac, die hier verlinkt ist, ist explizit davon die Rede.) Sonst wäre die NIC für mich unbrauchbar gewesen.


    ansonsten gibt es ja noch andere hersteller, die üblichen verdächtigen, wie 3com, atheros, broadcom, intel, mediatek, realtek , usw. je nach firmenübernahme sind dann auch deren treiber auf unterschiedlichen firmenseiten, so die dort weitergepflegt werden,

    Klar. Nur kann man die NIC auf der oben verlinkten Digitus-Produktseite nicht mit den Treibern installieren, die Digitus auf selbiger Seite zum Download anbietet. Damit wollte ich nur sagen, dass das nahe legt, dass Digitus auf derselben Produktseite zuerst eine NIC mit Realtek-Chip angeboten hat und Amazon diese damals schon von Digitus bezog. Nur dass Amazon nach dem Wechsel zu Intel bei dem Produkt verpennt hat die Produktangaben auf amazon.de zu korrigieren. Aber das ist ja wie schon gesagt nur gut für mich, denn sonst wäre ich nie auf die Idee gekommen eine für macOS eigentlich nicht verwendbare Karte zu flashen, damit sie danach mit nativen Treibern läuft.

    Hack 2018 · siehe Profil · OpenCore 0.8.6 · iMac19,1 · Ventura
    Hack 2013 · Partition 1: OS X 10.6.8 · Partition 2: OS X 10.8.5 · GA-H61N-USB3 · Core i3 2120 · Radeon HD 5450 · 8GB RAM · 320GB WD HDD · 1,5TB Toshiba HDD · Samsung DVD SH-S223B · JCP MI 101 ITX · Chimera 1.11.1
    iMac G5 · OS X 10.5.8 PowerMac 7500/100 · OS 8.6 LaserWriter 4/600 PS an AsantéTalk
    Banana Pi NAS mit A2SERVER als AppleTalk Datei- & Druckserver

  • mabam ja, ist doch klasse, wenn sich der fehlgriff, als dennoch nutzbarer griff erweist. viel spaß damit :)

  • Die kennen sich bei Amazon eben mit Hackintoshs aus ;-)

    Hack 2018 · siehe Profil · OpenCore 0.8.6 · iMac19,1 · Ventura
    Hack 2013 · Partition 1: OS X 10.6.8 · Partition 2: OS X 10.8.5 · GA-H61N-USB3 · Core i3 2120 · Radeon HD 5450 · 8GB RAM · 320GB WD HDD · 1,5TB Toshiba HDD · Samsung DVD SH-S223B · JCP MI 101 ITX · Chimera 1.11.1
    iMac G5 · OS X 10.5.8 PowerMac 7500/100 · OS 8.6 LaserWriter 4/600 PS an AsantéTalk
    Banana Pi NAS mit A2SERVER als AppleTalk Datei- & Druckserver

  • mabam

    übrigens dieser "pulse"-chip, controller-chip? ,auf den realtek-karten scheint grade sehr beliebt zu sein, habe den bereits auf mehreren gesehen.


    :edit: bei realtek-karten

  • aalbani DANKE! Die Anleitung ist super! Ich habe aber ebenfalls die Option -nic=1 bzw. /nic=1 benötigt. Zudem warne ich ausdrücklich vor Knoppix, zumindest Knoppix 9. Hat mich fast eine Stunde gekostet...


    Unter Knoppix9 werden die ethtool Befehle mit "Offset and length out of bound" quittiert! Ich bin da fast irre geworden beim Suchen. Dann habe ich mit Ubuntu 20 Live probiert - ging SOFORT!


    Ich musste dann noch meine Karte per plist zu "built-in" machen und die preferences töten - und tadaaaa. Ethernet, oob!

  • Mit Knoppix muss man length 1 verwenden damit der ethtool Befehl funktioniert, also z.B:


    ethtool -E eth0 magic 0x10D38086 offset 0x16 value 0x00 durch


    ethtool -E eth0 magic 0x10D38086 offset 0x16 length 1 value 0x00


    ersetzten.

  • Ach guck. Verdammt. :-D Danke! Die Nächsten haben die Info nun!

  • Stimmt die Anleitung noch?

    • Ich habe mir mit Rufus einen DOS Windows 98 SE Bootstick erstellt
    • Mir dann dir Preboot.zip herunter geladen und entpackt. Bei mir wird unter C:/ ein Intel27.6-Ordner angelgt, bei dem sich ein BootIMG.FLB und BOOTUTILW32.EXE befindet. Diese wollte ich nun per DragandDrop auf den erstellten USB-Stick kopieren geht nicht weil zu wenig Speicher, da nur 1,38 MB angezeigt werden.

    Kann mir da jemand weiter helfen?

  • das zielmedium oder die partition, muß größer sein von der kapazität, da das bootimg.flb bereits 2,41 mb groß ist,- wenn weniger platz auf dem ziel ist= passt es nicht

    --

    ich habe das jetzt nicht ausprobiert am lebenden usb-stick, aber wenn so wie geschrieben, keine entsprechende freie kapazität vorhenden... siehe oberhalb dieses satzes..


    edit- ggf muß man das bei rufus noch entsprechend einstellen, so ähnlich wie die efi-partition beim osx entsprechend groß sein muß, welches sie allerdings idr zumeist ist..


    lg :)

  • Wenn ich die Partition vergrößere, dann bootet der USB-Stick nicht mehr.


    Edit:

    Wenn ich mit Rufus das schon intern verbaute FreeDOS installiere, gehts. Sobald ich irgendeine Windows98 DOS Umgebung auf den Stick installiere, kann ich nichts rein kopieren, da die 1,44 MB nicht verändert werden dürfen.

    Diese Woche kommt die Intel-Karte, denke jetzt wirds klappen.


    Edit1:

    Heute ist die Karte gekommen, hab dann Dank der vielen hilfreichen Beiträge meine Karte relativ zügig umflaschen können. Habe dazu FreeDOS und Ubuntu 22.04 verwendet. Was hier als "eth0" genannt wird, heißt bei mir "enp4s0", warum auch immer.

    Was mich jetzt Stunden gekostet hat war, dass ich das ganze unter Ventura (Beta 6) ausprobiert habe und mein Netzwerk nie richtig zum Laufen bekam, schon nach kurzer Zeit Aufhänger und Abstürze, eigentlich wollte ich die Karte schon wieder ausbauen. Dann hab ich meine alte Monterey-SSD reingepackt und siehe da funktioniert einwandfrei, keine Abstürze oder Aufhänger, auch Netzwerk wurde sofort als en0 (Builtin) erkannt, ohne irgendwas zu konfigurieren.


    Nun hätte ich drei Fragen:

    • was könnte der Grund sein, dass die Karte unter Ventura bei mir quasi nicht nutzbar ist?
    • was macht es für eine Sinn die MAC-Adresse mit eeupdate.exe zu ändern? Das hab ich bis jetzt noch nicht getan.
    • Was mir auch auffällt, anfangs war die Karte im UEFI-Bios sichtbar, nachdem ich das ganze ethtool mit Ubuntu bewerkstelligte ist sie weg, auch ein Bios-Reset hat nichts geholfen

    7 Mal editiert, zuletzt von user232 ()