Arduino mega 2560 подключается, но код не загружается [dубликат]

Я использую IDE Arduino в Ubuntu, и у меня проблемы с последовательным портом. Он работал в прошлом, но по причинам, которые могут быть ненужными, я почувствовал необходимость изменить права собственности на некоторые файлы из корневого права собственности на мое владение пользователями.

Это сделало работу IDE корректной, но я потерял возможность использовать правильный последовательный порт. В папке dev, мне нужен порт, который указан как разрешение 166. Кто-то (кто больше не в области, чтобы помочь мне) заменил разрешения на 666, что сделало все это славным.

Однако, он вернул назад, как только я перезапустил свой компьютер, и если теперь попытаюсь использовать команду:

sudo chmod 666 ttyACM0

ничего не происходит. Нет сообщений об ошибках, но никаких изменений не разрешается.

Как я могу его изменить, и как я могу заставить его постоянно меняться.

Прошу прощения, если этот вопрос слишком упрощен или неясен, я ubuntu noob, и я не будет жалеть обратной связи!

41
задан 23 August 2012 в 03:57

6 ответов

Я не мог получить ответ Террика, но мог бы, если бы я сделал эту небольшую корректировку для пути к ttyACM0.

sudo chmod 666 /dev/ttyACM0

Опубликовал бы в качестве комментария, но у меня нет привилегии для этого еще ...

63
ответ дан 24 July 2018 в 17:54
  • 1
    Я узнал об этом, когда Arduino IDE попросил дать root, чтобы добавить себя в группу «Dailout». Теперь я знаю, что это такое. – Ufoguy 22 December 2013 в 00:02
  • 2
    Разрешения, похоже, сбрасываются при отключении и повторной загрузке Arduino. – user1063287 9 January 2015 в 17:14
  • 3
    не работает. :( – Freddy 10 April 2015 в 14:06
  • 4
    он работает, ну хорошо. но требует правила udev для повторного разрешения на повторное включение – pylover 9 September 2015 в 12:59
  • 5
    Я только что приобрел адаптер Pulse-Eight USB - CEC для использования с моим новым телевизором и обнаружил, что он не работал с Kodi в Ubuntu. После проверки журнала сбоев и поиска в Google сообщение об ошибке «ERROR: CecLogMessage - ошибка открытия последовательного порта / dev / ttyACM0»: «Permission denied», эта страница появилась в результате. Благодаря вам (и Дон Киркби, ниже - это тоже работает), я смог исправить проблему немедленно. – Rich.T. 20 April 2016 в 08:37
  • 6
    Кроме того, ответ от "user247020" дал мне другое решение: откройте инструмент GUI & quot; Пользователи и группы & quot; и сделать себя «Администратором». Это добавит вас в & quot; dialout & quot; группы (например, «Использовать модемы»), среди прочих. – Rich.T. 20 April 2016 в 08:52
  • 7
    Я попробовал sudo chmod 666 /dev/ttyACM0, и он не работает при запуске снова. у кого-нибудь есть решение? – user1063287 21 April 2016 в 10:32
  • 8
    usermod -a -G dialout pi работает нормально, после sudo chgrp dialout / dev / ttyS0 и работает хорошо, но когда я перезагружаюсь, вся конфигурация потеряна. Я на малине pi 3 – J261 15 September 2016 в 00:27
  • 9
    Hmm peepz, это действительно работает ... Добавьте команду в сценарий запуска. (/ Dev воссоздается при загрузке, поэтому вам нужно повторить эту команду при каждой загрузке) – Rinzwind 15 September 2016 в 09:36
  • 10
    Добавьте любую команду, которую вам нужно переделать в сценарий запуска. Итак, bash или / etc / profile или init. – Rinzwind 15 September 2016 в 09:38

Я не мог получить ответ Террика, но мог бы, если бы я сделал эту небольшую корректировку для пути к ttyACM0.

sudo chmod 666 /dev/ttyACM0

Опубликовал бы в качестве комментария, но у меня нет привилегии для этого еще ...

9
ответ дан 18 July 2018 в 03:42

Попробуйте войти в систему / Пользователи и группы и установите флажок в поле имени пользователя в группе TTY.

2
ответ дан 18 July 2018 в 03:42

Другая возможность - создать файл правил в каталоге /etc/udev/rules.d/. У меня была аналогичная проблема, и я создал файл 50-myusb.rules в приведенном выше каталоге с этим контентом:

KERNEL=="ttyACM[0-9]*",MODE="0666"

Обратите внимание, что это даст любому устройству, подключенному к разрешениям чтения / записи сокета ttyACM. Если вам нужно только определенное устройство для получения разрешений на чтение / запись, вы также должны проверить idVendor и idProduct. Вы можете найти их, выполнив команду lsusb дважды, один раз, когда ваше устройство не подключено, и один раз, когда он подключен, затем наблюдайте дополнительную строку на выходе. Там вы увидите что-то вроде Bus 003 Device 005: ID ffff:0005. В этом случае idVendor = ffff и idProduct = 0005. У тебя будет другое. Затем вы изменяете файл правил:

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Теперь только это устройство получает разрешения. Прочтите это, чтобы узнать больше о написании правил udev.

5
ответ дан 18 July 2018 в 03:42

Попробуйте войти в систему / Пользователи и группы и установите флажок в поле имени пользователя в группе TTY.

2
ответ дан 24 July 2018 в 17:54
  • 1
    [F1]. Кроме группы tty, пользователь также находится в группе dialout. Linux Mint 17.1. – user1063287 9 January 2015 в 16:11
  • 2
    @ user1063287 Попробуйте sudo chmod a+rw /dev/ttyACM0 – Vladimir S. 1 October 2015 в 07:32

Другая возможность - создать файл правил в каталоге /etc/udev/rules.d/. У меня была аналогичная проблема, и я создал файл 50-myusb.rules в приведенном выше каталоге с этим контентом:

KERNEL=="ttyACM[0-9]*",MODE="0666"

Обратите внимание, что это даст любому устройству, подключенному к разрешениям чтения / записи сокета ttyACM. Если вам нужно только определенное устройство для получения разрешений на чтение / запись, вы также должны проверить idVendor и idProduct. Вы можете найти их, выполнив команду lsusb дважды, один раз, когда ваше устройство не подключено, и один раз, когда он подключен, затем наблюдайте дополнительную строку на выходе. Там вы увидите что-то вроде Bus 003 Device 005: ID ffff:0005. В этом случае idVendor = ffff и idProduct = 0005. У тебя будет другое. Затем вы изменяете файл правил:

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Теперь только это устройство получает разрешения. Прочтите это, чтобы узнать больше о написании правил udev.

5
ответ дан 24 July 2018 в 17:54

Другие вопросы по тегам:

Похожие вопросы: