Перший час налаштування - дозвіл відмовлено usb port- ubuntu 14.04


18

Я щойно підключив ардуїно, і світло увімкнув, але тест на блимання не вдалося завантажити. ось моя помилка:

Arduino: 1.6.7 (Linux), Дошка: "Arduino / Genuino Uno"

Ескіз використовує 1030 байт (3%) простору програмного зберігання. Максимум - 32256 байт. Глобальні змінні використовують 9 байт (0%) динамічної пам'яті, залишаючи 2039 байт для локальних змінних. Максимум - 2048 байт. avrdude: ser_open (): не вдається відкрити пристрій "/ dev / ttyUSB0": у дозволі відмовлено ioctl ("TIOCMGET"): Невідповідний ioctl для пристрою Проблема з завантаженням на плату. Див. Http://www.arduino.cc/en/Guide/Troubleshooting#upload для пропозицій.

У цьому звіті міститься додаткова інформація із ввімкненим "Показати багатослівний вихід під час компіляції" у меню Файл> Налаштування.

usb  ubuntu 


2
@ IgnacioVazquez-Abrams - чи можете ви перетворити це на відповідь? Ми намагаємось відповісти на наш відсоток. :) Можливо, з невеликою кількістю копій та вставлення, так що це не лише посилання.
Нік Гаммон

Я зробив усі кроки, і це спрацювало з першого разу. Тепер я намагаюся завантажити свою другу програму, і я отримую це повідомлення 'avrdude: ser_open (): не вдається відкрити пристрій "/ dev / ttyUSB0": в дозволі відмовлено' я зробив це: roquet @ roquet-HP-ENVY-x360-m6 -Конвертований: ~ $ sudo adduser roquet dialout Користувальний roquet' is already a member of діалог '. roquet @ roquet-HP-ENVY-x360-m6-кабріолет: ~ $ sudo chmod a + rw / dev / ttyUSB0 roquet @ roquet-HP-ENVY-x360-m6-кабріолет: ~ $ ls -l / dev / ttyUSB * crw -rw-rw- 1 кореневий діалог 188, 0 січня 20 13:12 / dev / ttyUSB0 roquet @ roquet-HP-ENVY-x360-m6-кабріолет: ~ $, але все-таки отримайте дозвіл дені
Roque Zabalet

Відповіді:


26

З документації :

Відкрити термінал і ввести:

ls -l /dev/ttyACM*

ви отримаєте щось на кшталт:

crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

"0" в кінці ACM може бути іншим числом, або можуть бути повернені кілька записів. Нам потрібні дані "dialout" (є власником групи файлів).

Тепер нам просто потрібно додати нашого користувача до групи:

sudo usermod -a -G dialout $USER

потім:

sudo chmod a+rw /dev/ttyACM0

Вам потрібно буде вийти та знову увійти, щоб ці зміни набрали чинності.

Зауважте, що попередні старі інструкції Ubuntu. У сучасних дистрибутивах, які використовують ConsoleKit, створіть файл, /etc/udev/rules.d/01-ttyusb.rulesщо містить наведене нижче, а потім перезавантажте правила udev та підключіть пристрій Arduino:

SUBSYSTEMS=="usb-serial", TAG+="uaccess"

Чудова відповідь. У нових установках вам не доведеться перезавантажувати правила udev. Udev спостерігає за /etc/udev/rules.d за змінами. Вам доведеться відключити ардуїно.
ppareit

@ppareit, що вважається "новішими установками"? Це не працює для мене на Ubuntu 16.04 з або без перезавантаження правил (через sudo udevadm control --reload).
Десті

1
Я думаю, що це не спрацювало, тому що плата визначена як належність до "tty", а не "usb-serial" підсистеми. У будь-якому випадку, натомість для мене працювало таке правило udev: SUBSYSTEM=="tty", ATTRS{idVendor}=="(vendor)", ATTRS{idProduct}=="(product)", ATTRS{serial}=="(serial)", SYMLINK+="ttyUSB.arduino", GROUP="adm"де (постачальник) і (товар) взяті lsusbта (серійний) взяті з виводу udevadm info -a -n /dev/ttyACM0|grep '{serial}'|head -n1.
Десті

Принаймні, з Ubuntu 16.04, я не бачив цієї проблеми в Mint 18.1. Радий почути, що ти знайшов рішення!
ppareit

НАГОЛУВАЛИ ЇЇ !!!! ЗАПОВЕДЕНО. У мене дистрибутив 17.04 і 1-е рішення не було стійким!
tony gil

3

Все, що вам потрібно зробити - це додати себе до групи діалотів, як описано у відповіді Ігнасіо Васкеса-Абрамса. Це робиться в терміналі, ввівши:

sudo usermod -a -G dialout $USER

Вам не потрібно користуватися chmod. Це дає доступ для читання / запису всім користувачам, а не лише членам групи. Перш ніж спробувати підключитися, ви повинні вийти з системи та знову увійти . Після входу в систему ви будете розпізнані як учасники діалогової групи і зможете відкрити пристрій.


1

У Ubuntu 18.04 єдиний спосіб, коли я знайшов установку Arduino IDE для роботи прямо з коробки, використовував описані тут етапи документації:

https://www.arduino.cc/en/Guide/Linux/

Не потрібно змінювати групи та дозволу.


0

Ніщо вище мені не допомогло. Коли я встановив файл, з офіційного сайту, він навіть не запускається. Тоді я встановив Arduino IDE з "магазину додатків Linux" і працював, але у мене є проблема, як наш друг зверху. Тому я його видалив і встановив через термінал, sudo apt install arduinoі тепер він працює. Ура.


-1

Або просто скористайтеся командою chown.

sudo chown <username> /dev/ttyACM*

Це працювало для мене


1
Це питання задавали багато разів на цьому веб-сайті, і таку ж відповідь дав інший користувач. Я нагадаю Кріса Страттона на цьому підрозділі: Це погана ідея, зокрема, щодо типового динамічно налаштованого linux з udev або подібними керуючими / dev вузлами, що вам доведеться робити це щоразу, коли ви підключаєте пристрій. Додайте свого користувача до відповідної групи, що є тривалим виправленням.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.