Mojave USB 3.0

Seit MaOSX El Capitan 10.11 hat Apple den USB Stack umgebaut.

/!\ Info zu ACPI: Advanced Configuration and Power Interface

/!\ Info zu Clover Dokumentation

/!\ Info zum Boot Log: Man findet das boot.log im Clover Configurator (Left panel: Boot.log, Bottom Panel: Generate Log).

USB 3.0 Problem

/!\ Diese Anleitung ist nur für Intel USB3.

2016-09-30 - Ab MacOS 10.11+ ist der USB Stack von Apple umgebaut worden, siehe Guide von RehabMan. Jetzt wird mehr Information von ACPI genutzt als vorher. Deshalb ist es wichtig, dass die Eintragungen in der DSDT Tabelle stimmen. Wenn sie nicht stimmen, kann es passieren, dass vorhandene USB Ports nicht vom Treiber eingebunden werden.

Sogar die eigenen Produkte von Apple erwiesen sich als fehlerhaft. Daher hat Apple eine Möglichkeit geschaffen, DSDT mit einem Port-Injektor zu überschreiben. Wenn Eigenschaften eingegeben werden, um die verfügbaren Ports zu definieren, werden diese Eigenschaften anstelle von ACPI verwendet.

Die eingebauten Port-Injektoren können auch USB auf einem Hack stören, da es unwahrscheinlich ist, dass die USB-Topologie für ein bestimmtes Mac-Modell mit Ihrem PC identisch ist.

/!\ Wichtig zu auch zu wissen ist, dass ein 15 Port Limit für USB Ports eingeführt worden ist. Da Mainboard Hersteller leider mehr USB Ports in ihren ACPI Tabellen aufführen, als physisch eingebaut sind, muss leider aussortiert werden. Dazu gibt es mehrere Möglichkeiten.

/!\ Der Port limit Patch sollte nach RehabMan nicht mehr bentzt werden.

Es gibt nach RehabMan mehrere Möglichkeiten dass zu korrigieren.

2016-10-08 Author kuckuck Anleitung: USB 3.0 El Capitan / (High-) Sierra / Mojave für jedermann (zukunftssicher für Updates & komplett gepatcht) Es soll die Kernel Extension USBInjectAll.kext mit Zubehör eingesetzt werden. In Kurzform:

2016-09-24 Author cnrd Python Script zur Erzeugung einer USB SSDT Tabelle (getestet mit Mainboard GA-Z170X)

.

. 2017-01-02 Author RehabMan [Guide] Creating a Custom SSDT for USBInjectAll.kext Hier wird die Erstellung einer SSDT.aml Tabelle zusammen mit der Kernel Extension USBInjectAll.kext geraten. Die einzelnen Schritte:

Der hier benutzte MaciASL Compiler bekommt man MaciASL. Selektiere ACPI 6.2a in MaciASL->Preferences->iASL.

/!\ Obwohl der USB controller bei einem Skylake computer mögliche 26 USB ports zeigt (HS01-HS14, SS01-SS10, USR1, USR2), sind oft weniger als 10 USB Ports angeschlossen.

Dann muss man die Vorlage SSDT-UIAC-ALL.dsl Editieren, so dass nur die gefundenen USB Port Referenzen übrig bleiben. Dann it dem MaciASL Compiler in die Datei SSDT-UIAC-ALL.aml kompilieren und nach EFI/Clover/ACPI/patched kopieren. Kommentar: Das erscheint mir sehr aufwendig und Fehler trächtig zu sein.

.

.

. Seit Mojave 10.14 geht bei USB 3.0 nicht mehr die hohe Geschwindigkeit (5 GB/S), obwohl USB 3 angezeigt wird.

Um das zu korrigieren muss die SSDT (System Service Descriptor Table) angepasst werden, siehe Anleitung von RehabMan, und in Deutsch.

Eine weitere Anleitung Kext as Kext can oder USB 3.0 ohne USBInjectAll.

Um die Tabellen DSDT (Differentiated System Description Table, Fixing-DSDT) auszulesen, kann man den script ssdtPRGen.sh benutzen. Das ist eine große ACPI (Advanced Configuration and Power Interface) Tabelle.

# Download file
$ curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
# make executable
$ chmod +x ~/ssdtPRGen.sh
$ ./ssdtPRGen.sh


ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
             v6.6  Copyright (c) 2013 by † Jeroen
             v21.5 Copyright (c) 2013-2019 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <
./ssdtPRGen.sh: line 3877: /Volumes/DAT/Users/rudi/Library/ssdtPRGen/Data/Versions.cfg: No such file or directory

System information: Mac OS X 10.13.6 (17G5019)
Brandstring: "Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz"

Notice: Downloading extractACPITables.zip ...
Notice: Downloading User Defined.cfg ...
Notice: Downloading Sandy Bridge.cfg ...
Notice: Downloading Ivy Bridge.cfg ...
Notice: Downloading Haswell.cfg ...
Notice: Downloading Broadwell.cfg ...
Notice: Downloading Skylake.cfg ...
Notice: Downloading Kaby Lake.cfg ...
Version: models.cfg v171 / Kaby Lake.cfg v196


Scope (_PR_) {222 bytes} with ACPI Processor declarations found in DSDT (ACPI 1.0 compliant)
Notice: Downloading Restrictions.cfg ...
Generating ssdt.dsl for a 'iMac14,2' with board-id [Mac-27ADBB7B4CEE8E61]
Kaby Lake Core i3-7100 processor [0x906E9] setup [0x0905]
With a maximum TDP of 51 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 3900 MHz)
Number of Turbo States: 0
Number of P-States: 35 (500-3900 MHz)
Injected C-States for CPU0 (C1,C3,C6,C7,C8,C9,C10)
Injected C-States for CPU1 (C1,C2,C3,C6,C7)

Error: board-id [Mac-27ADBB7B4CEE8E61] not supported by Kaby Lake – check SMBIOS data / use the -target option

Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)
         - Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartupsNotice: Downloading iasl.zip ...

Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Volumes/DAT/Users/rudi/Library/ssdtPRGen/ssdt.dsl - 311 lines, 10152 bytes, 49 keywords
AML Output:    /Volumes/DAT/Users/rudi/Library/ssdtPRGen/ssdt.aml - 1998 bytes, 16 named objects, 33 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Volumes/DAT/Users/rudi/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)? y
Creating temporarily mount point: /Volumes/EFI
Password:
Mounting EFI partition...
mount_hfs: error on mount(): error = -1.   # probably because of APFS
mount_hfs: Invalid argument
umount: /Volumes/EFI: not currently mounted
Do you want to open ssdt.dsl (y/n)? 

# look up the generated data
$ $ cd ~/Library/ssdtPRGen/
$ ls -ls | cut -c 30-60
total 32
   816 18 Feb 04:11 ACPI
   408 18 Feb 04:15 Data
   136 18 Feb 04:17 Tools
  1998 18 Feb 05:17 ssdt.aml
 11284 18 Feb 05:17 ssdt.dsl

$ ls -ls Data/ | cut -c 30-66
  5590 18 Feb 04:11 Broadwell.cfg
  8072 18 Feb 04:11 Haswell.cfg
  6189 18 Feb 04:11 Ivy Bridge.cfg
  3063 18 Feb 04:11 Kaby Lake.cfg
  4545 18 Feb 04:11 Models.cfg
   678 18 Feb 04:11 Restrictions.cfg
  4800 18 Feb 04:11 Sandy Bridge.cfg
  4923 18 Feb 04:11 Skylake.cfg
  1701 18 Feb 04:11 User Defined.cfg
   338 18 Feb 05:17 Versions.cfg

$ ls -ls ACPI/ | cut -c 31-61
    132 18 Feb 05:17 APIC.aml
     84 18 Feb 05:17 DBG2.aml
     52 18 Feb 05:17 DBGP.aml
 158564 18 Feb 05:17 DSDT.aml
    244 18 Feb 05:17 FACP.aml
     64 18 Feb 05:17 FACS-1.aml
     64 18 Feb 05:17 FACS.aml
    156 18 Feb 05:17 FIDT.aml
     68 18 Feb 05:17 FPDT.aml
     56 18 Feb 05:17 HPET.aml
    148 18 Feb 05:17 LPIT.aml
     60 18 Feb 05:17 MCFG.aml
    180 18 Feb 05:17 RSDT.aml
  12633 18 Feb 05:17 SSDT-1.aml
   9567 18 Feb 05:17 SSDT-2.aml
   3557 18 Feb 05:17 SSDT-3.aml
   3806 18 Feb 05:17 SSDT-4.aml
    671 18 Feb 05:17 SSDT-5.aml
  12290 18 Feb 05:17 SSDT-6.aml
    956 18 Feb 05:17 SSDT.aml
     66 18 Feb 05:17 UEFI.aml
     40 18 Feb 05:17 WSMT.aml

Folgende Tabellen sind gängig:

Zu den BIOS Einstellungen gibt es noch einen Hinweis:

USB Ports finden

XHC@14

SSDT erstellen

Mit den gefundenen USB Ports kann man jetzt mit einem Python script USB-SSDT.command erstellen. Die original Version dieses Skriptes ist von Pike R. Alpha, dort gibt es auch eine Diskussion dazu.

Der iasl61 ACPI Compiler im Zip Archiv ist leider veraltet. Eine aktuelle Version von 2016-12-10 ist von RehabMan in github und das binary zum download. Das binary sollte in den Ordner H81M kopiert werden.

# wechsele den Pfad zum Script
$ cd ~/Install|Clover/H81M/

# SSDT Tabelle erstellen
$ ./USB-SSDT.command
# Jetzt werden die gefundenen USB Ports abgefragt. Der Großbuchstabe ist die Voreinstellung.
# Weiter geht es immer mit der Taste ENTER.

...
Do you want to enable: HS04? [Y/n] n
Do you want to enable: HS05? [Y/n] 
You enabled: HS05, are you using it as an internally connected port (For example WiFi/Bluetooth module)? [y/N] 
Is: HS05 a USB 3.0 connector? [Y/n] 
Do you want to enable: HS06? [Y/n] 
...
# Nach der letzten Abfrage wird die Tabelle erstellt: /Schreibtisch/USB-SSDT.aml
# Diese verschiebt man am besten in den H81M Ordner.
Die SSDT hat die TableID: "xh_rvp10"

Dann muss dafür sorgen, dass in der EFI Clover config.plist folgender Eintrag vorhanden ist:

<key>DropTables</key>
      <array>
           <dict>
              <key>Signature</key>
              <string>SSDT</string>
              <key>TableId</key>
              <string>xh_rvp10</string>
           </dict>
       </array>

Es kann sein, dass bereits ein Eintrag DropTables vorhanden ist. Dann muss nur der Teil <dict>...</dict> eingesetzt werden.

DSDT Bearbeitung

Eine ausführliche Erklärung gibt es hier.

Mac OS X

Hier werden die Betriebssystem Themen dokumentiert.

Benutzer Ordner verschieben

/!\ Das sollte nicht mehr gemacht werden. Nur die Mediatheken auslagern.

Der Benutzer Ordner (circa 185 GB) wurde auf die Daten Festplatte verschoben (2014-06-08), um Daten und System von einander zu trennen, siehe MacOSXBenutzerVerschieben.

AppleID

Der Rechner wurde mit der AppleID angemeldet.

Clover

Aktualisieren Sie Clover auch mit dem Clover-Installationsprogramm auf den neuesten Stand. Stellen Sie sicher, dass Sie EFI/Clover/kexts korrigieren, sodass nur EFI/Clover/kexts/Other vorhanden ist. Alle versionsspezifischen Verzeichnisse unter EFI/Clover/kexts sollten entfernt werden. Von RehabMan.

Für Laptop BIOS: Aktuell halten, und Reset the EC (Embedded Controller).

ASM1042 USB

Es ist ein ASM1042 USB Chip eingebaut (Rückseite, 2 x USB blau Buchsen), die aber anscheinend keinen Treiber haben. GenericUSBXHCI.kext

Intel NUC6i7KYK

Info: RehabMan nutzt den Intel NUC6i7KYK als Mac Mini Ersatz. Preis: 560 EUR + RAM + M2 SSD.

Kommandozeile

Die Dateibearbeitung in der Kommandozeile geht am einfachsten mit dem Midnight Commander.

Man kann die binär Version installieren, siehe Links, oder mit dem System homebrew package manager.

Auflistung der PCI und USB Geräte mit einem Linux (Ubuntu) USB Stick.

# Bei dem Mainboard GA-H270M, und USB 2 und USB 3 Hub
$ brew install lspci
$ lsusb
Bus 020 Device 001: ID 045b:0210 Renesas Electronics Corp. Hub 
Bus 020 Device 003: ID 05dc:a833 Lexar Media, Inc. USB Flash Drive  Serial: AAJITNU51106MGAT
Bus 020 Device 002: ID 045b:0210 Renesas Electronics Corp. Hub 
Bus 020 Device 011: ID 15d9:0a4c 15d9 USB OPTICAL MOUSE 
Bus 020 Device 010: ID 046a:0023 CHERRY GmbH Composite Device 
Bus 020 Device 005: ID 045b:0209 Renesas Electronics Corp. Hub 
Bus 020 Device 009: ID 045b:0209 Renesas Electronics Corp. Hub 
Bus 020 Device 004: ID 1a40:0201 TERMINUS TECHNOLOGY INC. USB 2.0 Hub [MTT] 
Bus 020 Device 007: ID 1307:0330 USBest Technology Inc. Mass Storage Device  Serial: 00000000000006
Bus 020 Device 008: ID 7392:7811 7392 802.11n WLAN Adapter  Serial: 00e04c000001
Bus 020 Device 006: ID 1a40:0101 TERMINUS TECHNOLOGY INC. USB 2.0 Hub 
Bus 000 Device 001: ID 1d6b:ISPT Linux Foundation USB 3.0 Bus 

Um die PCI Geräte zu sehen empfielt sich (2013) DPCIManager

# Bei dem Mainboard GA-H270M, Fenster PCI List
Vendor Device Sub Ven Sub Dev Vendor name
10DE, 0E0F, 1462, 8C93, NVIDIA Corporation, GK208 HDMI/DP Audio Controller
10DE, 128B, 1462, 0010, NVIDIA Corporation
8086, 1901, 007F, 0000, Intel Corporation, Sky Lake PCIe Controller (x16)
8086, 1911, 1458, 5000, Intel Corporation, Sky Lake Gaussian Mixture Model
8086, 590F, 1458, 5000, Intel Corporation
8086, 5912, 106B, D000, Intel Corporation
10EC, 8168, 1458, E000, Realtek Semiconductor Co., Ltd., RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
8086, A282, 1458, B005, Intel Corporation
...
8086, A2F0, 1458, A182, Intel Corporation

HD4600, Dual Monitor

Wenn man zwei Monitore am DVI und HDMI Ausgang anschließt, kann man mit beiden Monitoren arbeiten.

Der 24" LCD von !BenQ G2400WD (1920 x 1200 pixel) ist am DVI Port angeschlossen. Bei dem HDMI Eingang funktioniert der Standby Modus nicht, es wird nur ein blauer Hintergrund angezeigt, siehe Links. Der Audio Ausgang bei HDMI müsste mit auch mit einigem Aufwand (DSDT patch) erst aktiviert werden, siehe Links.

Ein alter LCD Monitor Hans HC194D (DVI Port) funktioniert mit der nativen Auflösung von 1280 x 1024 pixel.

Drucker, Netzwerk

Der Drucker wird ohne zusätzliche Treiber vom System erkannt. Es wurde nach Nachfrage der richtige Treiber installiert.

Digital Kamera

Wenn man eine Digital Kamera per USB anschließt, kann mit dem Programm Digitale Bilder .app sich die Bilder der Kamera ansehen. Wenn man die Bilder in iPhoto importieren will, muss man bei dem Programm Digitale Bilder .app links unten im Fenster den Pfeil anklicken, damit man den Text Anschließen von Kamera öffnet sieht, und in dem Auswahlfeld darunter iPhoto.app auswählt. Dann startet iPhoto beim nächsten anschließen der Kamera automatisch.

USB HUB blockiert Rechner Start

Ein Logitech USB 2.0 10-Port HUB blockiert das Rechner einschalten. Bei laufendem Rechner eingesteckt, funktioniert der HUB. Aber aus dem Ruhezustand wacht der Rechner dann nicht mehr auf.

Mit einem USB 2.0 aktiven HUB Digitus 4-Port funktioniert es normal.

Das Netzteil Start-Problem mit einem aktiven USB-HUB ist bekannt, siehe Link

Die Problemlösung war, wie beschrieben im Link, die +5 V Leitung am USB-Kabel zu kappen. Das habe ich an einem Ersatz Kabel gemacht. Anscheinend war die HUB-Netzteil Spannung mit 5.22 V zu hoch.

List of pages in this category:

-- RudolfReuter 2019-02-23 05:51:35


Go back to CategoryMacOSX or StartSeite