
Ich versuche, für ein Hardwareprojekt mit einer benutzerdefinierten Leiterplatte zu arbeiten, die einen FTDI FT232RL verwendet, um mit meinem Computer (MacBookPro mit OSX 10.11 El Capitan) zu kommunizieren. Ich verwende Matlab, um serielle Befehle zu senden, und stoße dabei auf einige Probleme mit dem ClearToSend (CTS)-Pin, der anscheinend „hoch“ (aus) ist, aber das ist eine andere Geschichte.
Mein Problem besteht derzeit jedoch darin, dass mein Mac das Gerät nicht „freigibt“ (ich weiß nicht, wie ich das sonst nennen soll), nachdem ich es ausgesteckt habe. Ich kann das Gerät ausstecken und an einen anderen USB-Bus anschließen, aber das kann ich eigentlich nur einmal tun, denn wenn ich es ausstecke, passiert dasselbe wieder – das erschwert meine Entwicklung, denn die einzige Möglichkeit, die ich gefunden habe, um das zu beheben, ist, den ganzen Computer neu zu starten. Wie kann ich diese Geräte freigeben/zurücksetzen/löschen?
Wenn ich öffneSysteminformationen>Hardware>USB, ich kann im Wesentlichen dasselbe Gerät zweimal im Gerätebaum aufgelistet sehen.
Dies führt dazu, dass ls /dev/tty.*
das Gerät bei meinem Versuch (entweder in Matlab oder im Terminal) nicht aufgeführt wird. Es ist im Wesentlichen blockiert, obwohl es angeschlossen ist und zweimal im Gerätebaum angezeigt wird. Was soll ich tun?
Ich habe den FTDI-Treiber der Version 2.3 installiert und ansonsten scheint es zu funktionieren. Bitte lassen Sie mich wissen, welche weiteren Informationen ich bereitstellen kann, um der Sache auf den Grund zu gehen. Danke
Antwort1
Ich hatte das gleiche Problem, allerdings auf Sierra, bei der Kommunikation mit einem Arduino Nano-Klon (der ebenfalls eine FTDI FT232RL-Brücke verwendet).
Was bei mir funktioniert zu haben scheint, war das Entfernen des FTDI-Treibers ( /Library/Extensions/FTDIUSBSerialDriver.kext
), nachdem ich herausgefunden hatte, dass Apple einen FTDI-Treiber mit dem Betriebssystem selbst ausliefert ( /System/Library/Extensions/AppleUSBFTDI.kext
).
Ich denke, dass die gleichzeitige Aktivierung beider Treiber einen Konflikt verursacht, der den USB-Anschluss blockiert.
Antwort2
MacOS High Sierra 10.13.3 FTDI-Treiberfix – 31. Januar 2018
Von: Garrett Johnson Sind Sie es leid, dass Ihre Entwicklungsboards auf Ihrem brandneuen MacBook nicht erkannt werden? Geben Sie den verdammten C-Ports die Schuld?PROBLEM: FTDI-Geräte können unter MacOS High Sierra nicht verwendet werden. In meinem Fall hatte ich Probleme, FT232R-Chipgeräte mit C-Ports an mein 2016er Macbook Pro anzuschließen. Die Geräte erschienen in meinem USB-Gerätebaum (Systeminformationen -> Hardware -> USB), wurden aber nicht als serielle Geräte mit Arduino oder Coolterm angezeigt. - HINWEIS: Sie erschienen auch nicht, wenn ich im Terminal den Befehl (ls /dev/cu*) oder (ls /dev/tty*) verwendete.
LÖSUNG:
3) Laden Sie die 2.4.2-Treiber von der FTDI-Website herunterhttp://www.ftdichip.com/Drivers/VCP.htm und installieren. Die Installation wird erfolgreich sein, ABER aufgrund der integrierten FTDI-Treiber von Apple werden sie nicht funktionieren.
2) Starten Sie den Computer neu und rufen Sie den Wiederherstellungsmodus auf, indem Sie ihn ausschalten und beim Neustart CMD + R gedrückt halten.
3) Öffnen Sie im Wiederherstellungsmodus über die Dienstprogramme oben auf dem Bildschirm das Terminal und geben Sie Folgendes ein, um den Systemintegritätsschutz vorübergehend zu deaktivieren:
csrutil disable
Sie werden vom Computer zum Neustart aufgefordert, damit die Änderungen wirksam werden.
4) Beim Neustart müssen wir jetzt die Apple FTDI-Treiber deaktivieren (HINWEIS: Dies kann jederzeit rückgängig gemacht werden, also keine Sorge). – Öffnen Sie Terminal und geben Sie Folgendes ein.
cd /system/library/extensions
sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled
sudo touch /System/Library/Extensions
chgrp -R wheel FTDIUSBSerialDriver.kext
sudo mv D2zzHelper.kext D2xxHelper.disabled
Jetzt haben Sie die integrierten FTDI-Treiber von Apple erfolgreich deaktiviert und durch FTDI v2.4 ersetzt.
5) Starten Sie Ihren Computer im Wiederherstellungsmodus neu. Fahren Sie ihn herunter, halten Sie die Tastenkombination Command + R gedrückt und öffnen Sie das Terminal auf der Registerkarte Dienstprogramme. Geben Sie Folgendes ein, um den Systemintegritätsschutz von Apple wieder zu aktivieren
csrutil enable
**HINWEIS: Ich habe dies auf einem 2016er Macbook Pro mit MacOS 10.13.3 auf den folgenden Geräten/Apps getestet: 1) Bildschirm innerhalb des Terminals, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Mega-Klon.
Antwort3
Ich möchte eine zusätzliche Antwort geben, die ein weiteres Teil meines Puzzles löst. Selbst wenn ich Garrett Johnsons hervorragender Antwort oben gefolgt bin, funktionierte mein FTDI-Treiber immer noch nicht. Es stellte sich heraus – und ich weiß, das klingt verrückt – dass die Registerkarte „Sicherheit und Datenschutz“ in den Systemeinstellungen den Klick meines Trackpads auf die Schaltfläche „Zulassen“, die das Laden des Treibers ermöglichen würde, nicht akzeptierte. Ich habe diesen Weg eingeschlagen, nachdem ich diese Meldung im Installationsprotokoll gesehen hatte:
2018-09-15 16:21:04-04 host installd[1160]: kextcache: Kext rejected due to system policy: <OSKext 0x7f869ab80530 [0x7fff87e7aaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/FTDIUSBSerialDriver.kext/", ID = "com.FTDI.driver.FTDIUSBSerialDriver" }
Natürlich habe ich dort auf „Zulassen“ geklickt, aber es schien nichts zu passieren. Die Schaltfläche hat den Klick registriert, aber es wurde kein Fenster oder eine andere Bestätigung angezeigt. Beim Suchen im Internet bin ich auf dieser langen Threadseite von Karabiner auf GitHub auf mehrere Lösungen gestoßen, mit denen man die Systemeinstellungen zwingen kann, den Mausklick zuzulassen:
https://github.com/tekezo/Karabiner-Elements/issues/1017
Offenbar hatte ich eine Software laufen, die die Trackpad-Aktivität abfing. In meinem Fall war es nicht Chrome, anders als bei mehreren Leuten auf dieser Liste. Ich habe keine Ahnung, was es war, was ein wenig beunruhigend ist. Die Lösung, die bei mir funktioniert hat, bestand darin, die Maustasten zu aktivieren und dann „I“ zu drücken, um mit der Maus auf die Schaltfläche „Zulassen“ zu klicken. An diesem Punkt öffnete sich ein Fenster und ich konnte das Laden des FTDI-Treibers zulassen.
Ich schüttele immer noch den Kopf!
Antwort4
Ich hatte das gleiche Problem. Ich hatte die FTDI-Treiber über einen Link aus den Creality Ender 3-Installationshinweisen installiert, und der Link installierte Version 2.2.18, die für OS X 10.8 und darunter ist. (Ich verwende Sierra, 10.12). Der Treiber funktionierte, ließ sich aber nicht freigeben. Ich habe den Treiber gelöscht sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/
und dann Version 2.4.2 heruntergeladen und installiert. Jetzt funktioniert alles.