Le téléchargement de code sur Arduino me donne l'erreur: "avrdude: ser_open (): impossible d'ouvrir le périphérique" / dev / ttyACM0 ": autorisation refusée"

13

Mon OS est Ubuntu 18.04 et arduino fonctionnait jusqu'à présent.

Bien qu'il existe quelques solutions, aucune ne semble fonctionner pour moi.

J'ai suivi ces instructions sur le site Web arduino.

Ensuite, j'ai essayé cela sur Arduino Stack Exchange , qui devrait fonctionner dans les cas où la première solution n'a pas fonctionné. La réponse dit que nous devons créer quelques règles sur le /etc/udev/ruled.d/chemin.

Mais aucun d'eux n'a travaillé pour moi.

J'ai également testé arduino dans Windows 10 pour voir s'il s'agissait d'un problème matériel, mais cela a bien fonctionné.

Quelqu'un a-t-il d'autres idées sur la façon de résoudre ce problème?

MISE À JOUR:

  • Mon nom d'utilisateur, sergio, fait partie des deux groupes (tty et dialout);
  • Je me suis déconnecté et reconnecté comme l'explique le didacticiel officiel d'arduino;
  • Dans Arduino IDE, les configurations sont correctes: Arduino UNO et ttyACM0
  • Voici la sortie ll /dev/ttyACM0après avoir exécuté les commandes du didacticiel:

    crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
    

MISE À JOUR 2:

J'ai créé un script pour résoudre ce problème: https://github.com/sergiomafra/iniarduino

Sérgio Mafra
la source
5
Copie possible de Comment installer le dernier IDE Arduino? Avez-vous oublié de vous déconnecter et de vous reconnecter après avoir exécuté usermod?
N0rbert
Nan. J'ai d'abord essayé de me déconnecter et de me connecter. Ensuite, j'ai essayé de redémarrer mon ordinateur portable. Rien ne semble fonctionner ...
Sérgio Mafra
crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 / dev / ttyACM0 Login: sergio Nom: Sérgio Mafra Directory: / home / sergio Shell: / bin / bash Activé depuis le dim 15 juil 08:26 (- 03) activé: 0 à partir de: 0 (messages désactivés) Pas de courrier. Pas d'idée.
Sérgio Mafra
composition: x: 20: sergio. Lorsque j'ai essayé d'exécuter la deuxième commande, bash est revenu vers moi Aucun fichier ou répertoire de ce type
Sérgio Mafra
2
@ N0rbert Je ne pense pas que cette question devrait être fermée en tant que doublon de Comment installer le dernier IDE Arduino? parce que la réponse acceptée à cette question est plus spécifique à la question qui a été posée.
karel

Réponses:

9

Réinstallez votre arduino installé à partir du centre de logiciels Ubuntu:

sudo apt install --reinstall arduino

La réinstallation est nécessaire car votre which avrdudecommande en fonction de votre commentaire ne renvoie rien, mais devrait l'être /usr/bin/avrdude. Revérifier:

which avrdude

Exécutez votre Arduino IDE après la réinstallation et fermez-le.

Vérifiez votre configuration Arduino. Ouvrez le /home/sergio/.arduino/preferences.txtfichier et vérifiez-y l' serial.portoption. Essayez de le changer en /dev/ttyACM0. Ouvrez ce fichier:

sudo nano /home/sergio/.arduino/preferences.txt

et appliquer les modifications correspondantes, c.-à-d. que l'option devrait ressembler

serial.port=/dev/ttyACM0

Redémarrez ensuite l'ordinateur.

Bob
la source
1
Merci pour votre aide. Je l'ai désinstallé d'Ubuntu Software Center et installé la version du site Web arduino et cela a fonctionné.
Sérgio Mafra
23

J'ai eu un problème similaire lorsque j'ai essayé de télécharger un croquis sur Arduino. Le problème était lié au manque d'autorisations de lecture / écriture sur le port série. J'ai pu corriger en utilisant la commande suivante:

Pour confirmer que le port existe, entrez ce qui suit dans le répertoire racine.

ls /dev/ttyACM0

Pour définir des autorisations de lecture / écriture, entrez les informations suivantes

sudo chmod a+rw /dev/ttyACM0
Adrian
la source
Résolu mon problème. Merci!
FunkSoulBrother
Résolu mon problème ..
anuraag tummanapally
3

Voici ce qui a fonctionné pour moi:

  • Désinstallez la version d'Apt, cela ne fonctionne pas correctement ( sudo apt uninstall arduino; sudo apt autoremove)
  • Installez la version à partir du site Web Arduino
  • sudo apt install avrdude puisque celui du site ne l'inclut pas
  • sudo usermod -a -G dialout [your_username] car celui du site ne le fait pas automatiquement

Et maintenant tout fonctionne à nouveau!

Draconis
la source
0

En combinaison avec tous les messages que j'ai lus, voici ce que j'ai fait pour résoudre ce problème en suivant les instructions de ce fil.

Dans un nouveau terminal, j'ai tapé ce qui suit comme indiqué ci-dessous.

https://i.stack.imgur.com/ifRmx.png

Veuillez noter que fourplus est mon nom d'utilisateur.

Arafat Mukasa
la source
2
Bienvenue à demander à ubuntu. À l'avenir, vous devriez publier du texte au lieu d'images dans la mesure du possible.
Jeff
0

J'ai une solution.

  1. Trouvez votre port auquel l'Arduino est connecté (par exemple le mien l'était /dev/ttyUSB0). Vous pouvez le trouver mentionné dans le message d'erreur dans Arduino IDE.

  2. Ouvrez le terminal ( Ctrl+ Alt+ T).

  3. Dans la course du terminal:

    sudo chmod 777 /dev/ttyUSB0
    

    La commande ci-dessus définit les autorisations requises.

Sharma yugal
la source
0

Je vois que la question est déjà acceptée mais aucune des solutions ne l'a fait pour moi, j'ai donc une solution différente. J'ai installé l'arduino IDE via le programme d'installation du logiciel Ubuntu. Ce que vous devez faire, c'est.

  1. Accédez à Arduino IDE dans la boutique de logiciels Ubuntu
  2. cliquez sur les autorisations
  3. définir le matériel USB Access directement sur
sjoerd hilhorst
la source