15

Я пытаюсь работать с пользовательской печатной платой, использующей FTDI FT232RL для связи с моим компьютером (MacBookPro под управлением OSX 10.11 El Capitan) для аппаратного проекта. Я использую Matlab для отправки последовательных команд, столкнувшись там с некоторыми проблемами с выводом ClearToSend (CTS), очевидно, «высоким» (выкл), но это уже другая история.

Однако моя проблема сейчас заключается в том, что мой Mac не будет "выпускать" (не знаю, как еще это назвать) устройство после того, как я отключу его. Я могу отключить устройство и подключить его к другой шине USB, но на самом деле я могу сделать это только один раз, потому что то же самое случается снова, если я отключаю - это усложняет мою разработку, потому что я нашел единственный способ исправить это это перезагрузить весь компьютер. Как я могу отпустить / сбросить / очистить эти устройства?

Если я открою Системная информация> Аппаратное обеспечение> USB, я по существу вижу одно и то же устройство, указанное дважды в дереве устройств.

Это делает так, что когда я пытаюсь ls /dev/tty.* (в Matlab или Terminal), устройство не отображается в списке, оно по существу блокируется, даже если оно подключено и дважды отображается в дереве устройств. Что я должен делать?

Я установил драйвер FTDI версии 2.3, и он работает иначе. Пожалуйста, дайте мне знать, какую другую информацию я могу предоставить, чтобы разобраться в этом. Спасибо

4 ответа4

8

У меня была такая же проблема, хотя и в Сьерре, когда я разговаривал с клоном Arduino Nano (который также использует мост FTDI FT232RL).

То, что мне показалось удачным , - это фактически удалить драйвер FTDI (/Library/Extensions/FTDIUSBSerialDriver.kext) после того, как Apple обнаружит, что драйвер FTDI поставляется с самой ОС (/System/Library/Extensions/AppleUSBFTDI.kext).

Я думаю, что активация обоих драйверов одновременно вызывает конфликт, который связывает порт USB.

8

Исправление драйвера 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

НАКОНЕЦ! Один последний перезапуск, а затем все ваши последовательные USB-устройства должны загружаться правильно!

** ПРИМЕЧАНИЕ. Я проверил это на Macbook Pro 2016 с MacOS 10.13.3 на следующих устройствах / приложениях: 1) Экран из терминала, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Мега клон.

1

Я хотел бы предоставить дополнительный ответ, который решает еще одну часть головоломки, которая у меня была. Даже после превосходного ответа Гарретта Джонсона выше, мой драйвер 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.

Я все еще качаю головой!

0

У меня такая же проблема. Я установил драйверы FTDI по ссылке из примечаний по установке Creality Ender 3, и по ссылке была установлена версия 2.2.18, предназначенная для OS X 10.8 и ниже. (Я управляю Sierra, 10.12). Драйвер работал, но не отпускал. Я удалил драйвер с помощью sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/ а затем скачал и установил версию 2.4.2. Все работает сейчас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .