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