So geben Sie FTDI-Geräte für die serielle Schnittstelle frei - Mac OSX

16259
thkemp

Ich versuche, mit einer benutzerdefinierten Leiterplatte zu arbeiten, die ein FTDI FT232RL verwendet, um mit meinem Computer (MacBookPro mit OSX 10.11 El Capitan) für ein Hardwareprojekt zu sprechen. Ich verwende Matlab, um serielle Befehle zu senden. Dort stoßen einige Probleme mit ClearToSend (CTS) -Pin anscheinend auf "hoch" (aus). Dies ist jedoch eine andere Geschichte.

Mein Problem im Moment ist jedoch, dass mein Mac das Gerät nicht "freigibt" (nicht sicher, wie ich es sonst nennen soll), nachdem ich es vom Computer getrennt habe. Ich kann das Gerät ausstecken und an einen anderen USB-Bus anschließen, aber ich kann das wirklich nur einmal tun, da das gleiche passiert, wenn ich den Stecker abziehe - das macht meine Entwicklung schwierig, denn nur so habe ich das Problem behoben ist den gesamten Computer neu zu starten. Wie kann ich diese Geräte freigeben / zurücksetzen / löschen?

Wenn ich System Information> Hardware> USB öffne, kann ich dasselbe Gerät grundsätzlich zweimal in der Gerätestruktur sehen.

So geben Sie FTDI-Geräte für die serielle Schnittstelle frei - Mac OSX

Dies macht es so, dass ls /dev/tty.*das Gerät, wenn ich es versuche (in Matlab oder im Terminal), nicht aufgelistet ist, im Wesentlichen blockiert ist, obwohl es angeschlossen ist und zweimal in der Gerätestruktur angezeigt wird. Was soll ich machen?

Ich habe den FTDI-Treiber der Version 2.3 installiert, und es scheint anders zu funktionieren. Bitte lassen Sie mich wissen, welche anderen Informationen ich zur Verfügung stellen kann, um dieser Sache auf den Grund zu gehen. Vielen Dank

14

4 Antworten auf die Frage

7
robertklep

Ich hatte das gleiche Problem, allerdings auf Sierra, als ich mit einem Arduino Nano-Klon sprach (der auch eine FTDI-FT232RL-Brücke verwendet).

Was anscheinend für mich funktioniert hat, ist das Entfernen des FTDI-Treibers ( /Library/Extensions/FTDIUSBSerialDriver.kext), nachdem festgestellt wurde, dass Apple einen FTDI-Treiber mit dem Betriebssystem selbst liefert ( /System/Library/Extensions/AppleUSBFTDI.kext).

Ich denke, dass beide Treiber gleichzeitig aktiv sind, verursacht einen Konflikt, der den USB-Port bindet.

Danke @robertklep, das hat für mich funktioniert! Ich denke, es war nur ein Konflikt zwischen diesen beiden Fahrern. Obwohl es interessant war, dass das Umbenennen der Datei (zB `FTDIUSBSerialDriver.kext.bak` oder` ~ FTDIUSBSerialDriver.kext`) nicht funktionierte, musste ich die Datei tatsächlich aus dem Verzeichnis `/ Library / Extensions /` entfernen. thkemp vor 7 Jahren 0
Dasselbe Problem für mich, aber ich habe `FTDIUSBSerialDriver` nicht installiert, so dass dies nicht behoben wurde… Pwdr vor 7 Jahren 0
@Pwdr probiere dies von Terminal aus: `kextstat | grep -v apple`. Das sollte alle aktiven Kernel-Erweiterungen von Nicht-Apple zurückgeben. Vielleicht gibt es noch einen, der Probleme verursacht. robertklep vor 7 Jahren 0
Ich habe es in /System/Library/Extensions/FTDIUSBSerialDriver.kext gefunden lukecyca vor 7 Jahren 0
Nach dem vorgeschlagenen Wechsel funktionierte der Fahrer nicht mehr. Ich musste es erneut installieren. Ahmet Yildirim vor 7 Jahren 0
Diese Lösung hat für mich sehr gut funktioniert, und ich habe sie in Kombination mit einer Macos-Version von coolterm verwendet - eine schöne Benutzeroberfläche für die Konfiguration der Kommunikation mit USB-Seriell. Alles in allem scheint der Apple-Treiber jedoch nicht jedes Mal die / dev / c * -Bits zu töten, wenn ich ein USB-Kabel abziehe (dies erfordert einen Neustart der Maschine - entweder aufgrund meines Mangels an Fähigkeiten oder aufgrund dessen ist dies der einzige Weg, um sie zu erhalten.) zurück). condiosluzverde vor 6 Jahren 0
7
Garrett Johnson

MacOS High Sierra 10.13.3 - FTDI-Treiberfixierung - 31. Januar 2018

Von: Garrett Johnson Müde von Ihrem Entwickler. Boards werden auf Ihrem glänzenden neuen Macbook nicht erkannt? Beschuldigen Sie diese verdammten C-Ports?

PROBLEM: FTDI-Geräte, die in MacOS High Sierra nicht verwendet werden können. In meinem eigenen Fall hatte ich Probleme, FT232R-Chip-Geräte an mein Macbook Pro 2016 mit C-Ports anzuschließen. Die Geräte wurden in meinem USB-Gerätebaum angezeigt (Systeminformationen -> Hardware -> USB), wurden jedoch nicht als serielles Gerät mit Arduino oder Coolterm angezeigt. - HINWEIS: Sie wurden weder im Terminal mit dem Befehl (ls / dev / cu *) noch (ls / dev / tty *) angezeigt.

LÖSUNG:

3) Laden Sie die 2.4.2-Treiber von der FTDI-Website http://www.ftdichip.com/Drivers/VCP.htm herunter und installieren Sie sie. Die Installation wird erfolgreich abgeschlossen, ABER aufgrund der eingebauten FTDI-Treiber von Apples funktionieren sie nicht.

2) Computer neu starten und Wiederherstellungsmodus aktivieren Durch Herunterfahren und Halten von CMD + R beim Neustart.

3) Öffnen Sie im Wiederherstellungsmodus das Dienstprogramm am oberen Bildschirmrand und geben Sie Folgendes ein, um den Systemintegritätsschutz vorübergehend zu deaktivieren:

csrutil disable

Der Computer fordert Sie zum Neustart auf, damit die Änderungen wirksam werden.

4) Beim Neustart müssen wir nun die Apple FTDI-Treiber deaktivieren (HINWEIS: Dies kann jederzeit rückgängig gemacht werden, also keine Sorge). - Öffnen Sie das 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 deaktiviert und durch FTDI v2.4 ersetzt.

5) Starten Sie Ihren Computer im Wiederherstellungsmodus neu. Fahren Sie herunter, halten Sie Befehlstaste + 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

ZU GUTER LETZT! Ein letzter Neustart und dann sollten alle seriellen USB-Geräte ordnungsgemäß geladen werden!

** HINWEIS: Ich habe dies auf einem Macbook Pro 2016 mit MacOS 10.13.3 auf den folgenden Geräten / Apps getestet: 1) Bildschirm aus Terminal, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Mega-Klon

Coole Verlegenheit. Es funktioniert auch auf einem iMac für Jewelbots. Kleinere Probleme: 1. Die KEXTs von Apple befinden sich in / System / Library / Extensions / (HFS + und APFS bewahren die Groß- und Kleinschreibung und das Terminal ist wählerisch). 2. chgrp wird nicht benötigt. Gruppe ist bereits Rad nach der Installation. 3. FTDIUSBSerialDriver.kext befindet sich in / Libray / Extensions / und / Library / StagedExtensions / Library / Extensions / nicht in / System / Library / Extensions /. 4. D2zzHelper.kext existiert nicht Alain O'Dea vor 6 Jahren 0
1
Mike Andrews

Ich möchte eine zusätzliche Antwort geben, die ein weiteres Teil des Puzzles löst, das ich hatte. Selbst nach Garrett Johnsons hervorragender Antwort oben funktionierte mein FTDI-Treiber immer noch nicht. Es stellte sich heraus, dass - und ich weiß, dass dies verrückt klingt -, dass die Registerkarte "Sicherheit & Datenschutz" in den Systemeinstellungen nicht akzeptiert wurde, dass mein Trackpad auf die Schaltfläche "Zulassen" geklickt hat, mit der der Treiber geladen werden konnte. Ich habe diesen Pfad gefunden, nachdem ich diese Nachricht im Installationsprotokoll gesehen habe:

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. Mit der Schaltfläche wurde der Klick registriert, aber ich hatte kein Fenster oder eine andere Option zur Bestätigung. Beim Durchsuchen des Internets entdeckte ich diesen langen Thread auf Karabiners Github-Seite, in dem verschiedene Lösungen beschrieben wurden, um die Systemeinstellungen zu zwingen, den Mausklick zuzulassen:

https://github.com/tekezo/Karabiner-Elements/issues/1017

Anscheinend hatte ich eine Software, die die Trackpad-Aktivität abfing. In meinem Fall war es nicht verchromt, im Gegensatz zu mehreren Personen auf dieser Liste. Ich habe keine Ahnung, was es war, was etwas besorgniserregend ist. Die Lösung, die für mich funktionierte, bestand darin, die Maustasten zu aktivieren und dann "Ich" zu drücken, um die Maus über die Schaltfläche "Zulassen" zu klicken. Zu diesem Zeitpunkt öffnete sich ein Fenster, und ich konnte dem FTDI-Treiber das Laden erlauben.

Ich schüttle immer noch den Kopf!

0
Steve Johnson

Ich hatte das gleiche Problem. Ich hatte die FTDI-Treiber über einen Link aus den Installationshinweisen für Creality Ender 3 und die Version 2.2.18 installiert, die für OS X 10.8 und darunter gilt. (Ich leite Sierra, 10.12). Der Treiber funktionierte, ließ aber nicht los. Ich habe den Treiber gelöscht sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/und die Version 2.4.2 heruntergeladen und installiert. Alle arbeiten jetzt.