Як випустити / скинути послідовні порти FTDI пристроїв - Mac OSX


17

Я намагаюся працювати з власною платою, яка використовує FTDI FT232RL для розмови з моїм комп'ютером (MacBookPro під керуванням OSX 10.11 El Capitan) для апаратного проекту. Я використовую Matlab для надсилання послідовних команд, зіткнувшись з деякими проблемами там із штифтом ClearToSend (CTS), мабуть, "високим" (вимкнено), але це вже інша історія.

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

Якщо я відкрию Інформація про систему> Обладнання> USB , я можу побачити один і той же пристрій, вказаний двічі у дереві пристроїв.

введіть тут опис зображення

Це робить так, що коли я намагаюся ls /dev/tty.*(або в Matlab, або в Terminal), пристрій не відображається в списку, він фактично блокується, хоча він підключений та відображається двічі у дереві пристроїв. Що я повинен зробити?

Я встановив драйвер версії 2.3 FTDI і, здається, працює інакше. Будь ласка, дайте мені знати, яку іншу інформацію я можу надати, щоб дійти до цього. Дякую

Відповіді:


9

Я мав те саме питання, хоча і про Сьєрра, розмовляючи з клоном Arduino Nano (який також використовує міст FTDI FT232RL).

Те, що, здається, працювало для мене - це фактично видалити драйвер FTDI ( /Library/Extensions/FTDIUSBSerialDriver.kext), виявивши, що Apple постачає драйвер FTDI разом із самою ОС ( /System/Library/Extensions/AppleUSBFTDI.kext).

Я думаю, що одночасно активні обоє драйверів спричиняють конфлікт, який пов’язує порт USB.


Дякую @robertklep, що працювало на мене! Я думаю, це був просто конфлікт між цими двома водіями. Хоча цікаво, що перейменування файлу (наприклад, FTDIUSBSerialDriver.kext.bakабо ~FTDIUSBSerialDriver.kext) не спрацювало, мені довелося фактично видалити файл із /Library/Extensions/каталогу.
thkemp

Для мене FTDIUSBSerialDriverтака ж проблема, але я не встановив її, тому це не виправили…
Pwdr

1
@Pwdr спробувати це з терміналу: kextstat | grep -v apple. Це повинно повертати активні розширення ядра, що не належать Apple. Можливо, є ще одна, що викликає проблеми.
robertklep

Я знайшов це в /System/Library/Extensions/FTDIUSBSerialDriver.kext
lukecyca

Після внесення запропонованих змін водій більше не працював. Мені довелося встановити його ще раз.
Ахмет Йілдірим

10

Виправлення драйверів MacOS High Sierra 10.13.3 FTDI - 31 січня 2018 року

Автор: Гарретт Джонсон Втомився від свого диявола. дошки не будуть розпізнані у вашому новому блискучому macbook? Ви звинувачуєте ці прокляті С-порти?

ПРОБЛЕМА: Пристрої 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 та встановіть. Установка буде успішною, АЛЕ завдяки вбудованим драйверам FTDI в Apple вони не працюватимуть.

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

НАРЕШТІ! Останнє перезавантаження, а потім ваші USB-послідовні пристрої повинні завантажуватися належним чином!

** ПРИМІТКА. Я перевірив це на 2016 Macbook Pro з MacOS 10.13.3 на таких пристроях / додатках: 1) Екран з терміналу, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Мега-клон.


2
Класна виправлення. Він також працює на iMac для Jewelbots. Незначні проблеми: 1. KEXTs Apple є в / Система / Бібліотека / Розширення / (HFS + і APFS зберігають регістри, а термінал - вибагливий). 2. chgrp не потрібен. Група вже колесо після встановлення. 3. FTDIUSBSerialDriver.kext знаходиться в / Libray / Розширення / та / Бібліотека / StagedExtensions / Бібліотека / Розширення / не в / Система / Бібліотека / Розширення /. 4. D2zzHelper.kext не існує
Ален О'Дея

2

Я хотів би надати додаткову відповідь, яка вирішує ще один фрагмент головоломки, який у мене був. Навіть після відмінної відповіді Гарретта Джонсона вище, мій водій 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 Карабінера, обговорюючи декілька рішень для примушування системних налаштувань, щоб дозволити натискання миші:

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

Мабуть, у мене було якесь програмне забезпечення, яке перехоплювало діяльність трекпада. У моєму випадку це не був хромом, на відміну від кількох людей у ​​цьому списку. Я не маю поняття, що це було, що мало стосується. Для мене справою було ввімкнути клавіші миші, потім натиснути «я», щоб натиснути мишкою на кнопку «дозволити». У цей момент з'явилося вікно, і я зміг дозволити драйверу FTDI завантажити.

Я все ще хитаю головою!


1
У мене працює MagicPrefs і драйвер Wacom Intuos, і я вирішив перевірити, чи повинен був натиснути дозвіл щось робити після прочитання цього повідомлення. Виявляється, після натискання дозволу (і воно фактично поширюється) - система запитує нове вікно зі списком відповідних драйверів / бібліотек, які воно раніше працювало!
Супернова

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.