web-dev-qa-db-fra.com

Comment libérer / réinitialiser les périphériques FTDI du port série - Mac OSX

J'essaie de travailler avec un PCB personnalisé qui utilise un FTDI FT232RL pour communiquer avec mon ordinateur (MacBookPro sous OSX 10.11 El Capitan) dans le cadre d'un projet matériel. J'utilise Matlab pour envoyer des commandes série, rencontrant des problèmes avec une broche ClearToSend (CTS) apparemment "haute" (off), mais c'est une autre histoire.

Cependant, mon problème actuel est que mon Mac ne "libérera" pas (je ne sais pas comment l'appeler autrement) l'appareil après l'avoir débranché. Je peux débrancher le périphérique et le mettre sur un autre bus USB, mais je ne peux vraiment le faire qu'une seule fois, car la même chose se reproduit si je débranche - cela rend mon développement difficile, car le seul moyen que j'ai trouvé de résoudre ce problème est de redémarrer tout l'ordinateur. Comment puis-je libérer/réinitialiser/effacer ces appareils?

Si j'ouvre Informations système> Matériel> USB , le même périphérique est répertorié deux fois dans l'arborescence.

enter image description here

Cela fait en sorte que lorsque j'essaie ls /dev/tty.* (dans Matlab ou Terminal) le périphérique ne soit pas répertorié, il est essentiellement bloqué, même s'il est branché et s'affiche deux fois dans l'arborescence du périphérique. Que devrais-je faire?

J'ai installé le pilote FTDI version 2.3 et il semble fonctionner autrement. Faites-moi savoir quelles autres informations je peux fournir pour aller au fond des choses. Merci

15
thkemp

J'ai eu le même problème, bien que sur Sierra, parlant à un clone Arduino Nano (qui utilise également un pont FTDI FT232RL).

Ce qui semble avoir fonctionné pour moi est de supprimer le pilote FTDI (/Library/Extensions/FTDIUSBSerialDriver.kext), après avoir constaté qu'Apple fournit un pilote FTDI avec le système d'exploitation lui-même (/System/Library/Extensions/AppleUSBFTDI.kext).

Je pense que le fait d'avoir les deux pilotes actifs en même temps provoque un conflit qui bloque le port USB.

8
robertklep

Correctif de pilote FTDI pour MacOS High Sierra 10.13.3 - 31 janvier 2018

PROBLÈME: les périphériques FTDI ne sont pas utilisables dans MacOS High Sierra. Dans mon cas, j'avais des problèmes pour connecter des périphériques à puce FT232R à mon Macbook Pro 2016 avec ports C. Les périphériques sont apparus dans l'arborescence de mon périphérique USB (Informations système -> Matériel -> USB), mais ne se sont pas présentés sous la forme d'un périphérique série utilisant Arduino ou Coolterm. - NOTE: ils n'apparaissaient pas non plus dans Terminal avec la commande (ls/dev/cu *) ou (ls/dev/tty *)

SOLUTION:

3) Téléchargez les pilotes 2.4.2 sur le site Web de FTDI http://www.ftdichip.com/Drivers/VCP.htm et installez-les. L'installation réussira, MAIS en raison des pilotes FTDI intégrés d'Apple, ils ne fonctionneront pas.

2) Redémarrez l'ordinateur et entrez en mode de récupération en mettant hors tension et en maintenant CMD + R enfoncé au redémarrage.

3) En mode de récupération, ouvrez le terminal à partir des utilitaires en haut de l'écran et tapez ce qui suit pour désactiver temporairement la protection de l'intégrité du système:

csrutil disable

L'ordinateur vous invitera à redémarrer pour que les modifications prennent effet.

4) Au redémarrage, nous devons maintenant désactiver les pilotes Apple FTDI (REMARQUE: ceci peut être inversé à tout moment, alors ne vous inquiétez pas). - ouvrez Terminal et tapez ce qui suit.

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

Vous avez maintenant correctement désactivé les pilotes FTDI intégrés d’Apple et les avez remplacés par FTDI v2.4.

5) Redémarrez votre ordinateur en mode de récupération. Arrêtez-vous, maintenez la touche Commande + R enfoncée et ouvrez le terminal dans l'onglet Utilitaires. Entrez ce qui suit pour réactiver la protection de l'intégrité du système d'Apple

csrutil enable

** REMARQUE: j'ai testé cela sur un Macbook Pro 2016 avec MacOS 10.13.3 sur les appareils/applications suivants: 1) Écran dans le terminal, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Mega clone.

10
Garrett Johnson

Je voudrais apporter une réponse supplémentaire qui résout un autre morceau du puzzle que j'avais. Même après l'excellente réponse de Garrett Johnson ci-dessus, mon pilote FTDI ne fonctionnait toujours pas. Il s’est avéré que - et je sais que cela semble insensé - que mon onglet Préférences Système "Sécurité et confidentialité" n’acceptait pas mon trackpad, cliquez sur le bouton "Autoriser" qui permettrait au pilote de se charger. J'ai eu ce chemin après avoir vu ce message dans le journal d'installation:

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" }

Bien sûr, j'ai cliqué sur "Autoriser", mais rien ne semblait se passer. Le bouton enregistrait le clic, mais aucune fenêtre n’était affichée ni aucune autre forme de confirmation. En cherchant autour d'Internet, j'ai découvert ce long fil de discussion sur la page github de Karabiner qui abordait plusieurs solutions pour forcer les préférences système à autoriser le clic de souris:

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

Apparemment, un logiciel en cours d'exécution interceptait l'activité du trackpad. Ce n'était pas du chrome dans mon cas, contrairement à plusieurs personnes sur cette liste. Je n'ai aucune idée de ce que c'était, ce qui est un peu préoccupant. La solution qui a fonctionné pour moi a été d'activer les touches de la souris, puis appuyez sur "I" pour cliquer avec la souris sur le bouton "Autoriser". À ce moment-là, une fenêtre s'est ouverte et j'ai pu autoriser le chargement du pilote FTDI.

Je secoue encore la tête!

2
Mike Andrews

J'ai eu le même problème. J'avais installé les pilotes FTDI via un lien des notes d'installation de Creality Ender 3 et du lien installé version 2.2.18, qui concerne OS X 10.8 et versions ultérieures. (Je cours Sierra, 10.12). Le chauffeur travaillait mais ne relâcherait pas J'ai supprimé le pilote à l'aide de Sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/, puis téléchargé et installé la version 2.4.2. Tous travaillent maintenant.

0
Steve Johnson