VT-d=On: PCI-e NIC funktionsuntüchtig mit 32GB RAM. NIC läuft jedoch mit 16GB RAM.

  • Moin,

    ich hab seit einigen Monaten ein Gigabyte Z390 Aorus Pro Board mit 16GB RAM (2x8) am Laufen. Zusätzlich sind 2 PCIE Karten verbaut und die sind bisher auch voll funktionsfähig: eine Intel NIC Karte mit nativem macOS Treiber und eine Fenvi HB1200 WIFI/BT.


    Die Bios Einstellungen sind nach Dortania-Vorgaben. Einzige Ausnahme: VT-d. VT-d soll laut Dortania "off" sein. Laut dem aktuellen Heise Bios Guide ebenso. Allerdings hatte ich VT-d bisher auf "On" stehen und mein Hacky hat bisher einwandfrei funktioniert.

    Warum hab ich VT-d an? Ich nutze Virtual Box und VMWare Player unter Windows und neuerdings auch unter macOS und war der Meinung, VT-d kann bei Virtualisierung einen Performancegewinn bedeuten.


    Heute hab ich meine 2x8GB gegen 2x16GB getauscht. Alte Riegel raus, neue Riegel rein. Boot ins macOS. Check, die 32GB wurden erkannt. Nochmal runter ins Bios, XMP aktiviert. Boot ins macOS; Check, die Module laufen nun auf 3200. Reboot ins Windows. Check, läuft. Zurück ins macOS.

    Hier ist mir dann aufgefallen, dass macOS keine Netzwerkverbindung hat. LAN-Treiber wird geladen, wird aber rot angezeigt und springt auf auf gelb mit APIPA IP. Mit der Fenvi komme ich nicht ins WLAN. Ein USB-C NIC läuft normal. Die LAN-Karte kommt auch mit stat. IP nicht ins Netz, obwohl sie grün zeigt (kann nichts anpingen). Entfernen/hinzufügen samt Reboots der Karten in Network panel bringt nichts. NVRAM Clear / Reset bringt nichts. Löschen der Network...plist bringt nichts. Nehme ich einen Riegel raus/Riegeltausch. Läuft alles normal.


    Lange Rede kurzer Sinn: Erst nachdem ich VT-d deaktiviert habe, laufen die NICs mit 32GB RAM normal.


    Warum schreib ich das?

    => Falls jemand das gleiche Problem hat. Ich hätte nicht erwartet, dass VT-d = On erst mit 32GB (bzw >16GB?) zu einem Problem wird. So wie es ausschaut, wird VT-d eh nicht vom VMWare Player unterstützt, somit kann ich mit VT-d = off leben.

  • VTd brauchst du doch nur, wenn du ein PCI Device des Hosts direkt in die virtuelle Maschine durchreichen willst. Wenn du das nicht vorhast, dann kannst du es deaktivieren

  • VT-d wird auch für Thunderbolt-Support unter Big Sur. Die Lösung für dieses Problem habe ich im Tomatenforum gefunden. Die notwendigen Stichworte sind SSDT-DMAC und SSDT-DMAR. Ich bin leider unterwegs und kann deshalb im Moment nicht mehr dazu schreiben.

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • Ich würde es im BIOS vt-d auf ON lassen. Dann braucht man sich keinen Kopf machen.


    Hier habe ich beschrieben, welcher OC-Parameter zu setzen ist. Auch für CFG-Lock.


    OpenCore Sammelthread (Hilfe und Diskussion)


    Zusammenfassung:

    VT-d und VT-x werden unterschiedlich gehandhabt. (wissen wir ja)

    VT-d habe ich oben beschrieben.


    VT-x: manche BIOS haben das Feature dort, manche nicht (offensichtlich steht manchmal im BIOS auch ein blosses VT). VT-x wird bei mir in Virtualbox bei System im Überblick angezeigt. Man braucht das z.B.: bei 64-bit Gastsystemen.


    Letztendlich dann holt sich die Software die Eigenschaft über die CPU um dies zu nutzen. (Ob das BIOS erst die CPU checkt und dann erst VT anbietet, kann ich mangels Hardware nicht prüfen.)


    Bei Virtualbox kam wohl bei mir immer ein deutlicher Hinweis, wenn es diese Features nicht nutzen kann. Habe aktuell "VT-x' bei Virtualbox angezeigt. Hat noch jemand zusätzlich VT-d dort stehen? Hier doch noch mein Bild, zum Vergleichen.



    Hoffe, ich habe das richtig zusammengefasst.

    Die Langversion mit den SubPages gibt es hier:


    https://www.thomas-krenn.com/d…ktionen_im_%C3%9Cberblick

    ========

    Schützt unsere Kinder, das wichtigste, das die Menschheit hat.

    =====

    42

    (H2G2)

    We have the first snowflake. Now let's build a blizzard. - Douglas Adams

    2 Mal editiert, zuletzt von HAI () aus folgendem Grund: Bild von Virtualbox rein.

  • Wie schon vorher gesagt worden...

    VT-x und VT-d sind nicht das selbe, VT-x wird für die beschleunigte Virtualisation verwendet, VT-d ist nur eine Option/Funktion...

    Abgesehen davon kann die VirtualBox keine IOMMU (VT-d), die Funktion wollten sie mal vor 12 Jahren einführen,

    anscheinend sind Sie immer noch dran, letzte Aktivität in diesem Bereich ist vor 9 Jahren :-)


    https://www.virtualbox.org/tic…2?cversion=0&cnum_hist=19


    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

    • Hilfreich

    VT-d wird auch zum Schutz gegen böswillige Speicherzugriffe verwendet -> siehe Kernel DMA-Schutz (Speicherzugriffs Schutz) für OEMs.


    Dies scheint auch bei macOS Big Sur aktiv zu sein, denn unter Big Sur funktionieren am Hackintosh Thunderbolt-Netzwerkadapter nicht mehr, wenn VT-d nicht aktiviert ist. Das reine Aktivieren im BIOS hat bei mir allerdings noch nicht gereicht. Es fehlten noch ein paar Apple-spezifische Dinge, wie z.B. ein DMA-Controller (DMAC). Nach dem dieser per SSDT nachgepflegt wurde und die DMA Remapping Table des Boards angepaßt wurde, funktionieren auch die Thunderbolt-Netzwerkadapter wieder unter Big Sur, ebenso wie die normalen PCI(e)-Netzwerkkarten. Bei mir hat sich damit auch auch mein Problem mit VirtualBox gelöst.


    Unklar ist im Moment noch, warum das Problem ab einer RAM-Größe > 16GB auftritt.

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • So, nach der Installation von Monterey Beta 4 hatte ich ja das Problem, dass macOS nur dann bootete wenn "-v" in den Bootargs stand.

    Nachdem ich DisableIOMapper aktiviert habe, bootet macOS auch im non-verbose mode.


    Interessant sind aus meiner Sicht noch folgende Beobachtungen während VT-d = on und DisableIOMapper=false eingestellt ist:

    Weiter oben im Thread ging es um die Funktion meiner NICs mit aktiven IOMapper. Die NICs funktionierten erst nachdem ich die 2 SSDTs SSDT-DMAC und SSDT-DMAR in die Config eintrug und zusätzlich einen Drop DMAR aktivierte. Interessanterweise haben meine PCI-e NICs auch dann funktioniert, wenn in der Config die 2 o.g. SSDTs deaktiviert _jedoch_ DROP DMAR weiterhin aktiviert war. Erst durch deaktivieren von DROP DMAR haben meine PCI-e NICs nicht mehr funktioniert.


    Mit kommt das nun insgesamt etwas merkwürdig vor, dass eine Speichereweiterung von 16 auf 32GB oder ein Bootparameter wie "-v" solche Auswirkungen hervorruft und daher bleib ich bei meiner alten Konfiguration ohne DMAR/DMAC SSDT und werde den IOMapper entweder im Bios oder via DIsableIOMapper deaktivieren.


    Aber dennoch insgesamt sehr merkwürdig.



    Lösung:

    SetupVirtualMap=true beseitigt den Boothänger im non-verbose mode.


    Somit habe ich nun grob folgende Config:

    32GB RAM

    Bios VT-d = enabled

    OC DisableIoMapper=false

    OC SetupVirtualMap=true (default = false)

    OC ACPI: SSDT-DMAR + SSDT-DMAC + Drop DMAR

    Bootargs: agdpmod=pikera

    =>meine PCIe Karten laufen; Monterey startet auch im Non-Verbose Mode

    2 Mal editiert, zuletzt von talkinghead () aus folgendem Grund: Nachtrag / Lösung