Как освободить / сбросить FTDI устройства с последовательным портом - Mac OSX
Я пытаюсь работать с пользовательской печатной платой, использующей FTDI FT232RL для связи с моим компьютером (MacBookPro под управлением OSX 10.11 El Capitan) для аппаратного проекта. Я использую Matlab для отправки последовательных команд, столкнувшись там с некоторыми проблемами с выводом ClearToSend (CTS), очевидно, "высоким" (выкл), но это уже другая история.
Однако моя проблема сейчас заключается в том, что мой Mac не "отпустит" (не уверен, как еще это назвать) устройство после того, как я отключу его. Я могу отключить устройство и подключить его к другой шине USB, но на самом деле я могу сделать это только один раз, потому что то же самое случается снова, если я отключаю - это усложняет мою разработку, потому что я нашел единственный способ исправить это это перезагрузить весь компьютер. Как я могу отпустить / сбросить / очистить эти устройства?
Если я открою Системная информация> Оборудование> USB, я по сути вижу одно и то же устройство, указанное дважды в дереве устройств.
Это делает так, что когда я пытаюсь ls /dev/tty.*
(в Matlab или Terminal) устройства нет в списке, оно по существу заблокировано, даже если оно подключено и дважды отображается в дереве устройств. Что я должен делать?
Я установил драйвер FTDI версии 2.3, и он работает иначе. Пожалуйста, дайте мне знать, какую другую информацию я могу предоставить, чтобы понять суть этого. Спасибо
4 ответа
У меня была такая же проблема, хотя и в Сьерре, когда я разговаривал с клоном Arduino Nano (который также использует мост FTDI FT232RL).
То, что, кажется, сработало для меня, это на самом деле удаление драйвера FTDI (/Library/Extensions/FTDIUSBSerialDriver.kext
), обнаружив, что Apple поставляет драйвер FTDI вместе с самой ОС (/System/Library/Extensions/AppleUSBFTDI.kext
).
Я думаю, что оба активных драйвера одновременно вызывают конфликт, который связывает порт USB.
Исправление драйвера FTDI для MacOS High Sierra 10.13.3 - 31 января 2018 г.
Автор: Гарретт Джонсон Усталый от вашего разработчика. доски не узнаются на вашем новом MacBook? Вы обвиняете эти проклятые C-порты?ПРОБЛЕМА. Устройства FTDI не используются в MacOS High Sierra. В моем собственном случае у меня были проблемы с подключением устройств с чипом FT232R к моему Macbook Pro 2016 года с C-портами. Устройства появились в моем дереве устройств USB (Информация о системе -> Оборудование -> USB), но не отображались как последовательные устройства с использованием Arduino или Coolterm. - ПРИМЕЧАНИЕ: они не появлялись ни в терминале с командой (ls /dev/cu*), ни (ls /dev/tty*)
РЕШЕНИЕ:
3) Загрузите драйверы 2.4.2 с веб-сайта FTDI http://www.ftdichip.com/Drivers/VCP.htm и установите. Установка будет успешной, НО из-за встроенных драйверов Apple's FTDI они не будут работать.
2) Перезагрузите компьютер и войдите в режим восстановления. Выключите и удерживайте CMD + R при перезагрузке.
3) В режиме восстановления откройте терминал из служебных программ в верхней части экрана и введите следующее, чтобы временно отключить защиту целостности системы:
csrutil disable
Компьютер предложит перезагрузить компьютер, чтобы изменения вступили в силу.
4) При перезагрузке нам теперь нужно отключить драйверы Apple FTDI (ПРИМЕЧАНИЕ: это может быть отменено в любое время, поэтому не беспокойтесь). - откройте Терминал и введите следующее.
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
Теперь вы успешно отключите встроенные драйверы FTDI от Apple и замените их на FTDI v2.4.
5) Перезагрузите компьютер в режиме восстановления. Выключите, удерживайте Ctrl + R и откройте терминал на вкладке Утилиты. Введите следующее, чтобы включить защиту целостности системы Apple
csrutil enable
** ПРИМЕЧАНИЕ. Я проверил это на Macbook Pro 2016 с MacOS 10.13.3 на следующих устройствах / приложениях: 1) Экран из терминала, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Мега клон
Я хотел бы предоставить дополнительный ответ, который решает еще одну часть головоломки, которая у меня была. Даже после превосходного ответа Гарретта Джонсона выше, мой драйвер FTDI все еще не работал. Оказалось, что - и я знаю, это звучит безумно - что моя вкладка "Системные настройки" "Безопасность и конфиденциальность" не принимала нажатие трекпадом кнопки "Разрешить", которая позволяла бы загружать драйвер. Я пошел по этому пути, увидев это сообщение в журнале установки:
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" }
Конечно, я нажал "Разрешить", но ничего не произошло. Кнопка зарегистрировала щелчок, но у меня не было всплывающего окна или чего-либо еще для какой-либо формы подтверждения. Просматривая Интернет, я обнаружил эту длинную ветку на странице github Karabiner, в которой обсуждались несколько решений, заставляющих Системные настройки разрешать щелчок мышью:
https://github.com/tekezo/Karabiner-Elements/issues/1017
Очевидно у меня было запущено какое-то программное обеспечение, которое перехватывало активность трекпада. В моем случае это был не хром, в отличие от нескольких человек из этого списка. Я понятия не имею, что это было, что немного касается. Решение, которое работало для меня, состояло в том, чтобы включить клавиши мыши, затем нажать "I", чтобы щелкнуть мышью над кнопкой "Разрешить". В этот момент появилось окно, и я смог разрешить загрузку драйвера FTDI.
Я все еще качаю головой!
У меня такая же проблема. Я установил драйверы FTDI по ссылке из примечаний по установке Creality Ender 3, и по ссылке была установлена версия 2.2.18, предназначенная для OS X 10.8 и ниже. (Я управляю Sierra, 10.12). Драйвер работал, но не отпускал. Я удалил драйвер используя sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/
а затем скачал и установил версию 2.4.2. Все работает сейчас.