Ubuntu : Erreur durant l'ouverture du port série "/dev/ttyACM0'

Bonjour,

Je tente de faire fonctionner l'IDE après une réinstallation d'Ubuntu (18.04).

Mais impossible de téléverser. A chaque fois, l'IDE affiche le message "Erreur durant l'ouverture du port série "/dev/ttyACM0"

Pourtant, j'ai bien attribué les groupes et les autorisations

sudo usermod -a -G tty Nom_Utilisateur
sudo usermod -a -G dialout Nom_Utilisateur
sudo chmod a+rw /dev/ttyACM0

getent et ls -l ttyACM0 donnent ceci :

tty:x:5:root,vbloc
dialout:x:20:root,vbloc
crw-rw-rw-+ 1 vbloc dialout 166, 0 févr. 20 11:28 ttyACM0

Les droits sont bons et le user dans les deux groupes (tty et dialout).

J'ai

  • débranché et rebranché le port, rebooté le pc,
  • testé avec d'autres cartes (uno, nano),
  • testé sur un autre pc, avec une install 18.04 tout neuve

mais rien n'y fait.

Avez-vous une solution ?

Merci beaucoup

Bonjour

pour dev/ttyACM0 il peut y avoir autre chose qu'un problème de droits : une occupation par un autre programme en arrière plan.

J'ai constaté une fois une occupation par Modemmanager qui m'empèchait d'utilisier une carte Leonardo ou des cartes Launchpad TI. Il doit être possible d'agir finement désactivant ce service.

N'ayant aucun besoin de Modemmanager j'ai fait plus radical : désinstallation
/dev/ttyACM0 est alors devenu disponible

Le moyen le plus simple d'avoir un mode permanent 666 est de créer un fichier dans /etc/udev :

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

l'ID vendor peut être obtenu avec lsusb.

$ lsusb
...
Bus 002 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 002 Device 012: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 002 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

$ ls -al /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 févr. 20 11:30 /dev/ttyUSB0

Après sudo usermod -a -G dialout USER : la session a t-elle été fermée / ré-ouverte ?

Mais normalement avec un chmod comme tu as fait ça devrait marcher.

Pour confirmer qu'il s'agit bien d'un problème de droits peux-tu exécuter IDE arduino avec sudo ?

Autre possibilité : port occupé
Il me semble que si le port est déjà occupé le message est différent : device busy.

@al1fch : comme le port n'apparaît que lorsque je connecte la carte, puis disparaît quand je l'enlève, je ne pense pas qu'il soit utilisé ailleurs.

@hbachetti : c'est bien un problème de droits car sudo fait disparaître l'erreur.

C'est effectivement in pb de droit içi

Dans le cas que j'ai cité Modemmanager monopolisait tout periphérique connecté sous ttyACM0

Un clic droit sur l'appli donne un info.

En cliquant sur "Autorisations", : "Accéder aux périphériques du port série" => (DISCONNECTED)

************ EPILOGUE *****************

Le problème venait de l'installation.
En passant par le menu application d'Ubuntu, on installe "arduino-mhall119", qui ne fonctionne pas.
En installant via le 'arduino-1.8.12-linux64.tar.xz' chargé sur le site officiel, tout marche.

Merci à al1fch et hbachetti de m'avoir proposé des pistes.

arduino.png

En passant par le menu application d'Ubuntu

Il faut éviter d'installer le paquet apt arduino : version 1.0.1

Ouïe ...

Comment ce fait-il que ce dinausore soit encore vivant ?

Hélas ...
Je pense qu'ARDUINO n'a jamais été capable depuis de fournir un paquet décent, acceptable par la communauté UBUNTU, ou alors qu'ils n'ont pas jugé bon de continuer le faire.
Donc c'est resté en l'état.

Conséquence de la guerre civile Arduino d'il y a quelques années ==> deux IDE concurentes et différentes (branches 1.6xx et 1.7xx).
Les mainteneurs (Debian/Ubuntu ce sont les mêmes) du paquet ont jeté l'éponge.

Je ne sais pas sur Ubuntu mais sous Debian on peut, si l'on veut, envoyer un rapport sur les programmes installés.
Cela permet aux mainteneurs de paquets d'établir des priorités et visiblement l'IDE arduino ne fait pas partie des programmes les plus recherchés par les utilisateurs.