Configurer port pour ide arduino sous ubuntu

Bonjour à tous,
Je souhaiterais avoir votre aide car nouveau sur ubuntu je n'arrive pas a configurer l'ide sur le port usb.
L'erreur renvoyée est la suivante:
Averdud : ser_open (): can't open device '/dev/ttyUSB0' permission denied

Merci pour votre aide. Cordialement,
Ela

Cette rubrique est réservée aux "Tutoriels et cours".
STP utilise le lien "Report to moderator" pour demander au modo de déplacer ton message dans le forum principal.

Il faut donner à l’utilisateur les droits sur dialout en faisant:

sudo usermod -a -G dialout <username>

Remplace par ton nom d’utilisateur

moi j'ai fait :

sudo usermod -a -G tty nom_utilisateur

et ça fonctionne
mais je maîtrise pas tout sur ubuntu :slight_smile:

$ groups
riton adm lp dialout cdrom sudo dip plugdev lpadmin scanner pulse-access sambashare

dialout est un groupe.
Le groupe dialout existe, tty je ne vois pas ...

La commande usermod peut ne pas être suffisante. Il se peut qu'il faille ajouter un fichier udev. On peut ajouter un fichier de règles par type d'interface ou tout regrouper en un seul :

$ cat /etc/udev/rules.d/99-ch341.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666"
$ cat /etc/udev/rules.d/98-ftdi.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE:="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE:="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"

Pour récupérer les idVendor et idProduct :

$ lsusb
Bus 002 Device 007: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
Bus 002 Device 010: ID 0bda:0307 Realtek Semiconductor Corp.
Bus 002 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 008: ID 0451:8043 Texas Instruments, Inc.
Bus 002 Device 005: ID 0451:8043 Texas Instruments, Inc.
Bus 002 Device 004: ID 046d:c31d Logitech, Inc. Media Keyboard K200
Bus 002 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 002 Device 012: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 011: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 002 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Pour savoir à quel groupe donner les accès, il suffit de faire

ls -l /dev/ttyUSB0

Tu regardes à quel groupe est associé ta carte Arduino et tu donnes les droits à ce groupe.

Des explications sur les groupes dans usr/share/doc/base-passwd/users-and-groups.html
tty semble posséder des droits limités par rapport à dialout

tty
Tty devices and /dev/vcs* are owned by this group. This is used by write and wall to enable them to write to other people's ttys.

dialout
Full and direct access to serial ports. Members of this group can reconfigure the modem, dial anywhere, etc.

mais je maîtrise pas tout sur ubuntu

Linux est sécurisé.
Par défaut on n’a pas accès à tout et dans ce cas précis sous Debian/Ubuntu on peut lire ce qu’il y a sur l’USB mais on ne peut pas écrire sur l’USB.

Sous Linux il existe des “groupes” rassemblant des utilisateurs ou des programmes qui sont autorisés a effectuer certaines opérations qui pourraient se réveller dangeureuses si leur accès était libre comme dans l’OS “Fenètres” écrit par “M Portes”.

Dialout est le groupe qui permet de communiquer avec l’extérieur du PC et d’écrire sur l’USB.
Avant la guerre civile dans Arduino, l’ide était packagée par Debian/Ubuntu et cette inscription dans le groupe dialout ajoutée à l’IDE. Le mainteneur du paquet a jeté l’éponge devant le souk arduino et maintenant il faut le faire soi-même.
La dernière version “debian” est la 1.0.5 (ou 1.0.6).

J’ai réinstallé plusieurs versions de Debian et je n’ai pas eu besoin d’écrire une règle UDEV pour utiliser les cartes arduino, sauf peut-être (j’ai un doute) avec une carte espressif.
Dans ce cas le fichier à ajouter (avec les droits administrateur) est généralement fourni avec la documentation de la carte.

Les cartes se présentent de deux manières selon “la gestion de USB” par le circuit qui fait l’interface USB/liaison série
soit /dev/ttyUSBx ==> FTDI, CH340G, etc
soit /dev/ttyAMSx ==> atmega16U2, etc

Bonjour

J'ai réinstallé plusieurs versions de Debian et je n'ai pas eu besoin d'écrire une règle UDEV pour utiliser les cartes arduino, sauf peut-être (j'ai un doute) avec une carte espressif.
Dans ce cas le fichier à ajouter (avec les droits administrateur) est généralement fourni avec la documentation de la carte.

Seul besoin rencontré de règles udev pour ce qui me concerte : diverses cartes Launchpad (Texas Instrument) et comme l'écrit 68tjs les régles étaient fournies par texas Instrument.

Pour Arduino et ESP diverses avec Ubuntu je n'ai, à ce jour, jamais eu besoin de règles udev

Arduino sur Ubuntu, ?
J'ai fait un paquet d'installation au fil du temps !! et la procédure proposée sur le site Arduino
ne m'a jamais fait défaut (l'inscription de l'utilisateur au groupe dialout y est clairement indiquée)

Bonjour,

j'utilise ubuntu comme windows pour charger mes programmes sur uno, promini, nano, espXX. Je n'ai jamais rencontré de problèmes de reconnaissance du port. C'est automatique.