Mac OSX Yosemite не отображает последовательные порты для Uno R3

У меня MacBook Pro с OS X Yosemite (10.10.3). Я подключил Arduino UNO R3 к компьютеру в первый раз после обновления Yosemite — до этого все работало отлично!

Когда я открыл Arduino IDE, я выбрал Tools > Board > «Arduino UNO», но когда я пытаюсь выбрать Serial Port, единственными вариантами являются:

/dev/tty.Bluetooth-Incoming-Port
/dev/cu.Bluetooth-Incoming-Port
/dev/tty.Bluetooth-Modem
/dev/cu.Bluetooth-Modem

Я следовал нескольким руководствам и темам о том, как «исправить» эту проблему, но все безрезультатно:

Я установил последнюю версию драйверов FTDI (хотя, насколько я помню, UNO они даже не нужны): FTDIUSBSerialDriver_v2_3.dmg

Выполнен откат к предыдущей версии драйвера FTDI в надежде, что это прояснит ситуацию: /Volumes/FTDIUSBSerialDriver_v2_2_18

Я следовал инструкции по удалению существующих драйверов Apple, а также удалил файлы kext и т. д.

Пытался подключить Arduino к обоим портам USB.

Пробовал разные кабели, включая тот, который я использовал до обновления Yosemite.

Попытка установить обновленные драйверы Silabs: Последовательный порт, совместимый с Arduino, не отображается в Mac OSX

Прошелся по всему руководству по Arduino Mac OSX: http://www.arduino.cc/en/guide/macOSX

Посмотрев системную информацию моего Macbook Pro, я увидел, что USB-контроллер основан на Broadcom, если это поможет. Я искал драйверы Broadcom USB, но вместо этого получил результаты для Silabs.

В меню «Инструменты» > «Порт» я вижу следующие параметры: Нажатие на опцию «Последовательные порты» ничего не дает.

Запуск ls -1 /dev/tty.* или ls -l /dev/tty.usb* из терминала дает мне:

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.Bluetooth-Modem

Плата НЕ отображается в системных сетевых подключениях (как у других), поэтому она не распознается как неправильное устройство.

Я в полной растерянности. Плата включается... но я не могу к ней подключиться.

ПРИМЕЧАНИЕ: Это настоящий Uno R3, а не клон.

, 👍47

Обсуждение

Если это настоящий Uno, то все усилия FTDI и SiLabs — в лучшем случае бесполезное отвлечение. В идеале проверьте плату и кабель на другом компьютере, чтобы убедиться, что они не были повреждены за это время, и попробуйте другой USB-порт на Mac (особенно попробуйте подключиться через клавиатуру или хаб, если вы пытались подключиться напрямую, или напрямую, если вы пробовали хаб). Думаю, если заглянуть в информацию о системе, можно найти список всех USB-устройств, который будет полезно включить в свой пост., @Chris Stratton

Именно это я и думал — насчёт драйверов FTDI, — но это были единственные решения, которые, как мне казалось, «решают» проблему. Я пробовал другие USB-порты на MacBook и могу запустить клавиатуру Apple, поскольку у неё есть USB-порт, и она отвечает. Я же указал в своём сообщении USB-устройства, распознанные в терминале., @revive

Хорошо, попробовал свою клавиатуру Apple YSB — подключил Uno к USB-порту === ничего не вышло, @revive

Подключил клавиатуру Apple USB обратно к своему iMac и попытался подключиться к Uno. Выбрал Uno в меню «Плата», но в меню «Последовательный порт» по-прежнему отображаются только модемы Bluetooth., @revive

После обновления приложения Arduino до версии 1.6.4 в меню «Порт» теперь отображаются те же параметры, что и на моем Macbook (показано на изображении в оригинальном посте)., @revive

Вам действительно стоит заглянуть не только в Arduino IDE, но и в раздел «Сведения о системе» или как там это называется (туда можно зайти через разделы «Об этом Mac», «Дополнительно» и т.д.) и посмотреть, какие USB-устройства видит плата. И ещё раз проверьте плату на другом компьютере, чтобы убедиться, что она всё ещё работает., @Chris Stratton

1) Я проверил наличие «видимых» USB-устройств как на экране «Информация о системе», так и через Терминал. Оба показывают одно и то же. Из устройств присутствует только Bluetooth (кроме клавиатуры и внешнего жесткого диска). 2) Я попробовал это и на Mackbook Pro, и на iMac. Ни один из них не «видит» USB-подключение., @revive

Опубликуйте полный список USB-устройств (не последовательных) (т. е. VID/PID), которые система (не IDE) видит подключенными., @Chris Stratton

Да, я так и сделал. Я скопировал LS из терминала и через экран настроек системы определил, что есть только контроллеры USB-Bluetooth, клавиатуры и внутренней карты памяти. Я проверил как IDE, так и системный экран после: 1) замены кабелей, 2) подключения USB-клавиатуры Apple и использования её USB-порта, 3) попытки выполнить ту же последовательность действий на моём iMac (USB-клавиатура и основной USB-порт)... ничего. Плата не указана. Точка., @revive

@ChrisStratton Если есть другой способ получить нужную вам информацию, пожалуйста, дайте мне знать. Но на данный момент я уже проверил/проверил всё, что знаю., @revive

Пока вы не продемонстрируете, что плата все еще работает на *какой-то* системе (на данном этапе, вероятно, не на Mac), вам придется считать ее поврежденной., @Chris Stratton

Ну, похоже, плата вполне может выйти из строя. Я включил ноутбук жены с Windows, установил Arduino и всё такое, подключил питание и USB к Uno, но плата не отображается ни в приложении Arduino, ни в проводнике. Не знаю, что и как это произошло, ведь плата хранилась в герметичном, сухом и прохладном контейнере в антистатическом пакете — том самом, в котором её доставили. И я уже однажды прогнал этот скетч до совершенства... вот незадача. Есть ещё мысли или варианты?, @revive

Прочитав это, я только что попробовал несколько своих устройств на базе Arduino, которые до сих пор работали исправно. И действительно, после вчерашнего обновления до Yosemite ни одно из моих устройств и ни один из моих кабелей не распознаются. Подозреваю, что дело в несовместимости драйверов..., @dda

Хочу добавить, что у меня была та же проблема, и замена USB-кабеля помогла. Я даже не знал, что существуют USB-кабели с питанием только от сети!, @SteveC

Этот опубликованный вопрос открыл мне правду после 12 часов сплошной ерунды в попытках заставить мой V3 появиться в последовательных портах. Спасибо, автор, за избавление от ада., @Wowthisishard

Это лучшее решение и драйверы, которые я нашел: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver, @IgorGanapolsky


11 ответов


4

Точно то же самое произошло со мной на моем Mac, работающем под управлением той же операционной системы. Мне пришлось перезапустить эту систему несколько раз, чтобы она заработала. Я перезапустил ее с подключенным Arduino; и это сработало лучше, чем мои предыдущие попытки, когда я перезагрузил, а затем снова подключил.

,

Попробую этот вариант циклического включения и повторю попытку сегодня вечером. Спасибо за ответ!, @revive


15

Кабель, который поставлялся с моим Arduino Uno, работал для питания, но не для передачи данных, поэтому /dev/tty.usbmodem не отображался в меню Tools --> Port. После того, как я переключился на другой кабель, порт /dev/tty.usbmodem появился и работал прекрасно.

,

У меня случилось то же самое. Я пытался подключить Arduino через кабель, предназначенный только для питания. После того, как я поменял USB-кабели, USB-устройство появилось., @hotpaw2

У меня была та же проблема, и мне понадобился всего лишь другой кабель., @Simon

Это определённо решение для меня! Спасибо огромное!, @tugcem

У меня уже была такая проблема с Circuit Playgrounds, но я о ней забыл. Первым делом всегда нужно менять кабель., @ow3n

То же самое. Я купил комплект Elegoo Mega 2560, и маленький кабель USB-C, похоже, работал только часть времени. Странно..., @Kyle Pennell


5

Yosemite 10.9 (и OS X 10.10 и более новые) требуют подписанный USB-драйвер kext (расширение ядра). Вы можете найти его на сайте FTDI здесь: http://www.ftdichip.com/Drivers/VCP.htm
Используйте версию 2.3 для 64-битной OS X 10.9 или более поздней версии. Установите и перезагрузите.

Подключите Arduino и введите команду в терминале:

/usr/sbin/kextstat | grep FTDI

сообщит вам, действительно ли загружен драйвер FTDI VCP.

Также в каталоге /dev должна появиться запись /dev/tty.usbserial-xxxxxxxx.

Если нет, то порт USB Mac не взаимодействует с вашим Arduino. Так что нет смысла пробовать приложение Arduino IDE.

Также убедитесь, что ваш USB-кабель не предназначен только для питания, а полностью подключен.

,

Обратите внимание, что Uno R3 **не использует чип FTDI**., @Chris Stratton


0

Наткнулся на это. Это сработало для Mac OS X Yosemite 10.10.5

установить драйвер CH340 Выполните команду в Терминале: sudo nvram boot-args="kext-dev-mode=1" Перезагрузка

Однако я установил: Система MAC: www.wch.cn/downfile/178

так что YMMV

пользователь здесь: http://forum.makeblock.cc/t/mac-os-x-yosemite-arduino-1-0-6-doesnt-recognize-makeblock-orion/728

нашел решение, вот: http://forum.arduino.cc/index.php?topic=261375.15

так что респект всем, кто потрудился над драйвером, удалением, установкой и активацией...

Тед

,

0

В моем случае была какая-то несовместимость с ESP8266, подключенным к плате Nano. Как только я его удалил, последовательный порт снова появился.

,

Похоже, автор не использует ESP8266., @Greenonline


5

Этот сайт решил мою проблему:

http://kiguino.moos.io/2014/12/31/как-использовать-arduino-nano-mini-pro-с-CH340G-на-mac-osx-yosemite.html

...кто-то создал альтернативу драйверам ftdi, и этот сайт покажет вам, как правильно их установить.

,

44

Вероятно, у вас китайский аналог Uno, работающий на чипе USB-to-serial CH340, поэтому вам нужно установить для него драйвер.

Шаги для исправления:

  1. Установите драйвер CH340
  2. Запустите команду в Терминале: sudo nvram boot-args="kext-dev-mode=1" (отключение подписи kext, представленное в Mac OS X 10.9 Yosemite)
  3. Перезагрузка

Также вы правы согласно Uno и FDTI:

Отличия от других досок

Uno отличается от всех предыдущих плат тем, что не использует чип драйвера USB-to-serial от FTDI. Вместо этого он оснащен Atmega16U2 (Atmega8U2 до версии R2), запрограммированным как преобразователь USB-to-serial.

,

Спасибо, что включили номер микросхемы CH340 в свой ответ., @paperreduction

На OSX 10.11.6 мне помогло решение проблемы: установка драйвера и перезагрузка. Шаг 2 не нужен., @Alex Shroyer

Это сработало на 10.9.4 без шага 2. Теперь я ожидаю, что мои приватные ключи SSH будут находиться на каких-нибудь китайских серверах :), @polym

@polym - вторая половина вашего комментария действительно была необходима?, @Colin

К сожалению, драйвер вызывает ошибку ядра, как только я подключаю Arduino. У меня macOS Sierra 10.12.2., @Colin

@Колин, тебе удалось это заставить работать?, @rebellion

@Ronny-AndréBendiksen Нет, у меня не заработало. Я просто перенёс этап загрузки на Raspberry Pi. :P, @Colin

OSX 10.12.4 выдает следующую ошибку при попытке «sudo nvram boot-args="kext-dev-mode=1" " => nvram: Ошибка установки переменной - 'boot-args': (iokit/common) общая ошибка, @kalmiya

Если у вас Sierra, используйте эту пропатченную версию драйвера. Всё работает отлично: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver, @Joris

При запуске nvram возникает ошибка: **nvram: Ошибка установки переменной - 'boot-args': (iokit/common) общая ошибка**, @IgorGanapolsky

@IgorGanapolsky — Начиная с macOS Sierra, для запуска команды nvram необходимо загрузиться с раздела восстановления., @Justin Lewis

Это решение не решило проблему. Однако, поскольку некоторым оно, похоже, помогает, новая версия драйвера v1.4, которая предположительно работает для High Sierra, доступна здесь: https://drive.google.com/file/d/1lUYkw-mCOekJjY1MVA5YuEbERHNWNCZW/view?usp=sharing, @Justin Lewis

Мне удалось добиться появления нового /dev/cu.wchusbserial1410, следуя инструкциям с https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver, без NVRAM. Спасибо за ссылку., @Andrei-Niculae Petre

После установки драйвера с [github.com/adrianmihalko](https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver) и выполнения команды sudo kextload /Library/Extensions/usbserial.kext я получаю следующее: Не удалось загрузить /Library/Extensions/usbserial.kext — системная политика (libkern/kext) запрещает загрузку; проверьте системные/ядерные логи на наличие ошибок или попробуйте kextutil(8)., @Bill


6

Это решило мою проблему:

http://blog.sengotta.net/signed-mac-os-driver-for-winchiphead-ch340-serial-bridge/

... и прямая ссылка для загрузки.

EDIT: У меня есть один из дешевых клонов с USB-чипом CH340. Так что это может не решить вашу проблему, но может быть полезно для других.

,

На данной плате нет ch340, @Chris Stratton

У дешевых клонов есть CH340., @Avamander

Однако вопрос совершенно конкретен: о какой плате идёт речь, и речь идёт о плате, у которой *нет* ch340. Автор сообщения отвечает на другой вопрос, а не на тот, который был задан., @Chris Stratton

Хорошее замечание. Я отредактировал свой ответ, добавив уточнение. Я всё равно хотел его опубликовать, потому что потратил много времени на поиск решения своей проблемы в Google и случайно наткнулся на эту тему среди других. Возможно, она поможет другим., @Stefano Masini

Это тот ответ, который я искал, не зная, что у моего дешевого клона чип отличается от оригинального Arduino., @Johann

Спасибо большое, мне помогло =), @menkow


1

Посмотрите это видео https://www.youtube.com/watch?v=0zuRukW7o0A

  • Перезагрузите компьютер и нажмите CMD+R сразу после перезагрузки, чтобы войти в режим восстановления
  • Открыть терминал из режима восстановления
  • Выполните команду csrutil enable --without kext
  • Перезагрузка
  • Установить драйвер
,

0

Сначала проверьте USB-кабель — у меня была та же проблема. Если вы его проверили, попробуйте HoodLoader2:

Я использую его, и он работает с Arduino Leonardo.

,

Не могли бы вы подробнее объяснить свой ответ? Ответы, содержащие только ссылки, не приветствуются. Что делать, если ссылка не работает?, @Nick Gammon


1

У меня есть osepp r3, на вид точный клон. Компьютер - Mac os10.10.5.

Многие сайты утверждали, что mac osx.* не требует драйверов FTDI, но.....

После неловкого начала поиска в Google, когда плата приняла новый скетч только после физического отключения и повторного подключения, я загрузил последний драйвер FTDI, установил и ПЕРЕЗАПУСТИЛ Mac. Теперь царит радость и мир. Никаких побочных эффектов с другими функциями Mac, к счастью. Надеюсь, это поможет.

,