Als mein MacBook Air auf den Boden fiel, während ein USB-Mini-Stick angeschlossen war, wurde der rechte USB-Anschluss beschädigt. Der Port funktioniert nicht mehr und hat offensichtlich einen kleinen Kurzschluss. Dadurch wird der Bereich in der Nähe warm und die Batterie des Notebooks wird innerhalb einer Stunde entladen. Bei einer Hardware-Reparatur muss wahrscheinlich die Hauptplatine ausgetauscht werden, da dieser USB-Anschluss leider zu dieser Platine gehört. Ein Ersatzteil kostet 300 US-Dollar und zwei Stunden Arbeit für einen erfahrenen HW-Gugy, daher entschied ich, dass dies für mich keinen Wert hat.
Ich habe keine Softwareprobleme festgestellt, bis ich mein System von Mac OS X 10.8.6 Mountain Lion auf 10.12.6 Sierra aktualisiert habe. Das habe ich später gelernt Mit 10.11 El Capitan hat sich die Art und Weise, wie USB-Ports enthalten sind, geändert .
Wenn das System (Mac OS X 10.11 oder neuer) hochfährt, dauert es bei konstanter Emission 2-3 Mal länger als gewöhnlich dmesg
Nachrichten wie die folgenden:
XHC1@14000000: AppleUSBXHCI::hardwareException: kUSBCommandReset did not clear
XHC1@14000000: AppleUSBHostController::setPowerStateGated: going to state 2 failed with 0xe00002e9
Nach dem unten genannten Fix gibt es gelegentlich noch die folgende Meldung, die erträglich ist und einen guten Hinweis auf die Ursache gibt:
AppleUSBHostPort::interruptOccurred: overcurrent detected with port status 0x4000, localSimulatedInterrupts = 0x0
Seitdem kämpfe ich darum, diesen USB-Port so zu deaktivieren, dass der Systemstart nicht angehalten wird und der andere USB-Port auf der linken Seite noch verwendet werden kann (zumindest im USB 2.0 High Speed-Modus). . Schließlich war ich erfolgreich und ich teile meine Lösung hier für andere, die möglicherweise ein ähnliches Problem haben:
cd /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns
Bearbeiten AppleUSBEHCIPCI.kext/Contents/Info.plist
entfernen oder auskommentieren (mit XML-Kommentar starten) <!--
und Ende -->
) den Eintrag für AppleUSBXHCIPPT
:
<!--<key>AppleUSBXHCIPPT</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
<key>IOClass</key>
<string>AppleUSBXHCIPPT</string>
<key>IOPCIPauseCompatible</key>
<true/>
<key>IOPCIPrimaryMatch</key>
<string>0x1e318086</string>
<key>IOPCITunnelCompatible</key>
<true/>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>-->
Alternativ und einfacher deaktivieren AppleUSBXHCIPCI
insgesamt:
sudo mv AppleUSBXHCIPCI.kext{,.disabled}
In beiden Fällen endlich
sudo touch /System/Library/Extensions && sudo kextcache -u /
und neu starten.
Beachten Sie, dass Sie den Treiber sofort deaktivieren:
kextunload -b com.apple.driver.usb.AppleUSBXHCIPCI
funktioniert nicht, da es von einer anderen Kernel-Erweiterung verwendet wird.