Le téléchargement de croquis simples semble fonctionner lorsque j'exécute le programme Arduino en tant que root ( sudo
). Je voudrais l'exécuter en tant qu'utilisateur régulier. Quelqu'un a-t-il déjà rencontré le même problème et l'a-t-il résolu?
Voici ce que j'ai obtenu de lsusb
:
$ lsusb
Bus 002 Device 022: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Et le programme Arduino l'identifie comme /dev/ttyACM0
. Voici ses autorisations:
$ ls -l /dev/ttyACM0
crw-rw---T 1 root dialout 166, 0 Mar 14 22:03 /dev/ttyACM0
Voici la sortie de id
groups=1000(abhiram),20(dialout),24(cdrom),25(floppy),29(audio),
30(dip),44(video),46(plugdev),105(scanner),110(bluetooth),112(netdev)
Lorsque je télécharge un croquis à partir des exemples, en tant qu'utilisateur régulier, je rencontre cette erreur:
avrdude:stk500_recv(): programmer not responding
Toutes suggestions sont les bienvenues.
arduino-uno
arduino-ide
linux
fièvreRêve
la source
la source
Preferences
menu.dmesg
pour le fichier de périphérique qui est enregistré./dev/ttyACM0: USB ACM device
. Donc, cela ne me semble pas problématique. En revanche, les journaux de compilation et de téléchargement (devaient les activer dans les Préférences), semblent prometteurs. Je n'arrive pas à les copier à partir du programme arduino :(. (Peut-être qu'ils écrivent dans un fichier quelque part?)Réponses:
La solution la plus simple est de vous ajouter au
dialout
groupe.Prenez d'abord note de la sortie de
id
. Enregistrez-le dans un fichier (pas dans/tmp
car cela est nettoyé lors d'un redémarrage). Si vous regardez la sortie, vous remarquerez que votre utilisateur est inscrit à plusieurs groupes et ces groupes représentent des privilèges supplémentaires sur le système. Par défaut, votre Arduino est affecté au groupedialout
car il s'enregistre en tant qu'interface série et dans le passé, ceux-ci étaient souvent utilisés pour ... numéroter, à l'aide d'un modem.Pour vous ajouter au
dialout
groupe, exécutez la commande suivante:N'oubliez pas le
-a
drapeau (pour ajouter des groupes plutôt que pour les remplacer) ou vous aurez des problèmes complètement différents. C'est la raison pour laquelle faire une copie de laid
sortie dans un fichier, donc au cas où vous gâcheriez au moins vous savez comment votre utilisateur a été configuré comme avant.Ensuite, déconnectez-vous et connectez-vous et cela devrait fonctionner à partir de ce point.
En option, vous pouvez vérifier la sortie par
id
rapport à la sortie que vous avez enregistrée auparavant.la source
dialout
groupe, mais le problème semble persister. J'ai modifié ma question avec la sortie de laid
commande.cat /dev/ttyACM0
? Cela génère-t-il une erreur?cat
le fais .Le conseil souvent répété de "
sudo usermod -aG dialout <username>
ne fonctionne tout simplement pas pour moi, et j'ai finalement compris pourquoi. Sur ma machine,/dev/ttyUSB0
est du groupeserial
et nondialout
, donc ajouter mon nom d'utilisateur àdialout
n'a rien fait.Enfin:
sudo usermod -aG <group-name> <username>
corrigé pour moi.De manière embarrassante, cela est également explicitement mentionné ici sous "SET THE PERMISSION". Soupir.
la source
Cela m'arrive. Dans mon cas, j'avais mis à niveau la version d'arduino et il semble que le fichier de préférences soit à l'origine du problème. Supprimez simplement le fichier ~ / .arduino / preferences.txt (avec l'IDE Arduino fermé).
Pas:
exécutez ceci:
rm ~ / .arduino / preferences.txt
Lancez Arduino IDE
Cela a fonctionné pour moi, j'espère que cela fonctionne pour quelqu'un d'autre. J'utilise Linux Mint 17 et je suis passé d'Arduino 1.05 à Arduino 1.06 en extrayant l'IDE Arduino, je n'utilise pas celui du dépôt. (Bien sûr, après avoir ajouté votre utilisateur au groupe correspondant comme mentionné par d'autres, mais si cela ne vous aide pas à essayer cela)
la source