Freigabe / Zurücksetzen von FTDI-Geräten mit serieller Schnittstelle - Mac OSX

Ich versuche, mit einer benutzerdefinierten Leiterplatte zu arbeiten, die eine 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, und stoße dort auf einige Probleme mit ClearToSend (CTS) und anscheinend 'high' (off), aber das ist eine andere Geschichte.

Mein Problem im Moment ist jedoch, dass mein Mac das Gerät nicht "freigeben" wird (nicht sicher, wie ich es sonst nennen soll), nachdem ich es getrennt habe. Ich kann das Gerät abziehen und setzen Sie es auf einen anderen USB-Bus, aber ich kann das wirklich nur einmal tun, weil das Gleiche wieder passiert, wenn ich den Stecker ziehe-das macht meine Entwicklung schwierig, weil die einzige Möglichkeit, dies zu beheben, darin besteht, den gesamten Computer neu zu starten. Wie kann ich diese Geräte freigeben/zurücksetzen/löschen?

Wenn ich Systeminformationen>Hardware>USB öffne, wird dasselbe Gerät im Wesentlichen zweimal im Gerätebaum aufgeführt.

geben Sie hier die Bildbeschreibung ein

Dies macht es so, dass, wenn ich versuche, ls /dev/tty.* (entweder in Matlab oder Terminal) Das Gerät ist nicht aufgeführt, 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 es scheint anders zu funktionieren. Bitte teilen Sie mir mit, welche anderen Informationen ich bereitstellen kann, um dem auf den Grund zu gehen. Dank

Author: thkemp, 2016-10-17

4 answers

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

Was bei mir funktioniert zu haben scheint, ist das Entfernen des FTDI-Treibers (/Library/Extensions/FTDIUSBSerialDriver.kext), nachdem festgestellt wurde, dass Apple einen FTDI-Treiber mit dem Betriebssystem selbst ausliefert (/System/Library/Extensions/AppleUSBFTDI.kext).

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

 9
Author: robertklep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-18 07:30:10

, MacOS High Sierra 10.13.3 FTDI Treiber-Update - Januar 31, 2018

Von: Garrett Johnson Müde von Ihrem dev. boards werden auf Ihrem glänzenden neuen MacBook nicht erkannt? Beschuldigst du diese verdammten C-Ports?

PROBLEM: FTDI-Geräte in macOS High Sierra nicht verwendbar. In meinem eigenen Fall hatte ich Probleme, FT232R-Chipgeräte mit C-Ports an mein 2016 Macbook Pro anzuschließen. Die Geräte wurden in meinem USB-Gerätebaum angezeigt (Systeminformationen - > Hardware - > USB), wurden jedoch nicht als serielles Gerät angezeigt mit Arduino oder Coolterm. - HINWEIS: Sie wurde nicht angezeigt, wenn entweder im Terminal mit dem Befehl (ls /dev/cu*) oder (ls /dev/tty*)

LÖSUNG:

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

2) Starten Sie den Computer neu und wechseln Sie in den Wiederherstellungsmodus, indem Sie CMD + R beim Neustart gedrückt halten.

3) wiederherstellungsmodus Öffnen Sie das Terminal von Dienstprogrammen oben auf dem Bildschirm und geben Sie Folgendes ein, um den Systemintegritätsschutz tempraily zu deaktivieren:

csrutil disable

Der Computer fordert Sie zum Neustart auf, damit Ä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). - Terminal öffnen und den folgenden.

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 erfolgreich Apples eingebaute FTDI-Treiber deaktiviert und ersetzt sie mit FTDI v2.4.

5) Starten Sie Ihren Computer im Wiederherstellungsmodus neu. Shutdown, halten Sie Befehl + R und öffnen Terminal in der Registerkarte Dienstprogramme. Geben Sie Folgendes ein, um Apples Systemintegritätsschutz wiederherzustellen

csrutil enable

ENDLICH! Ein letzter Neustart und dann sollten Ihre USB-seriellen Geräte alle laden Sie richtig!

**HINWEIS: ich habe getestet, die auf einem 2016 Macbook Pro mit MacOS 10.13.3 auf den folgenden Geräten/apps: 1) auf dem Bildschirm aus im terminal, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit BEI Mega, Arduino Mega clone.

 11
Author: Garrett Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-02-02 00:10:44

Ich möchte eine zusätzliche Antwort geben, die ein weiteres Puzzleteil löst, das ich hatte. Selbst nach Garrett Johnsons ausgezeichneter Antwort oben funktionierte mein FTDI-Treiber immer noch nicht. Es stellte sich heraus, dass - und ich weiß, das klingt verrückt -, dass meine Systemeinstellungen Registerkarte "Sicherheit & Datenschutz" nicht mein Trackpad Klick auf die Schaltfläche "Zulassen" akzeptieren, die den Treiber laden würde. Ich bin diesen Pfad gegangen, 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, ich klickte dort auf "Zulassen", aber nichts schien zu passieren. Die Schaltfläche registrierte den Klick, aber ich hatte kein Fenster oder irgendetwas anderes für irgendeine Form der Bestätigung. Bei der Suche im Internet entdeckte ich diesen langen Thread auf der Github-Seite von Karabiner, in dem verschiedene Lösungen zum Erzwingen der Systemeinstellungen diskutiert wurden, um den Mausklick zu ermöglichen:

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

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

Ich schüttle immer noch den Kopf!

 2
Author: Mike Andrews,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-09-27 19:31:08

Ich hatte das gleiche problem. Ich hatte die FTDI-Treiber über einen Link aus den Creality Ender 3-Installationsnotizen installiert, und der Link installierte Version 2.2.18 für OS X 10.8 und darunter. (Ich verwende Sierra, 10.12). Der Treiber funktionierte, wurde aber nicht freigegeben. Ich habe den Treiber mit sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/ gelöscht und dann Version 2.4.2 heruntergeladen und installiert. Alle arbeiten jetzt.

 0
Author: Steve Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-08 22:31:12