Modifier les autorisations sur le port série

41

J'utilise l'IDE Arduino dans Ubuntu et j'ai des problèmes avec le port série. Cela a fonctionné dans le passé, mais pour des raisons inutiles, j'ai ressenti le besoin de changer la propriété de certains des fichiers de la propriété root à la propriété de mes utilisateurs.

Cela a permis à l'EDI de fonctionner correctement, mais j'ai perdu la possibilité d'utiliser le bon port série. Dans le dossier dev, le port dont j'ai besoin est répertorié en tant qu'autorisation 166. Quelqu'un (qui n'est plus dans la zone pour m'aider) a échangé les autorisations sur 666, ce qui a fait que tout fonctionne parfaitement.

Cependant, il est revenu dès que j'ai redémarré mon ordinateur et si j'essaie maintenant d'utiliser la commande:

sudo chmod 666 ttyACM0

rien ne se passe. Pas de message d'erreur, mais pas de changement de permission non plus.

Comment puis-je le changer et comment puis-je le faire changer de façon permanente?

Je m'excuse si cette question est trop simpliste ou pas claire, je suis un ubuntu noob, et je ne serais pas déçu de commentaires!

    
posée Terrik 21.08.2011 - 19:23
la source

5 réponses

63

Le problème avec les autorisations pour /dev/ttyACM0 peut être résolu de manière permanente en vous ajoutant au groupe dialout . Vous devrez vous déconnecter, puis vous reconnecter avant que le changement de groupe ne soit reconnu.

Vous pouvez le faire avec sudo usermod -a -G dialout $USER

    
réponse donnée Rinzwind 21.08.2011 - 19:46
la source
19

Je n'ai pas pu obtenir la suggestion de Rinzwind , car elle se plaignait que le compte d'utilisateur existe déjà. Au lieu de cela, j'ai utilisé cette commande pour ajouter un utilisateur existant ( terrik ) à un groupe existant ( dialout ), comme décrit dans la Wiki d'aide Ubuntu .

sudo adduser terrik dialout

Cette commande est également utile pour répertorier vos groupes actuels, même si, comme le dit Rinzwind, vous devez vous déconnecter et vous connecter avant que le port série ne commence à vous laisser entrer.

groups terrik
    
réponse donnée Don Kirkby 04.06.2012 - 23:33
la source
9

Je n'arrive pas à faire fonctionner la réponse de Terrik , mais je peux le faire si je modifie légèrement le chemin pour ttyACM0 .

sudo chmod 666 /dev/ttyACM0

Je posterais comme commentaire mais je n’ai pas encore les privilèges pour ça ...

    
réponse donnée gbmhunter 06.01.2014 - 23:37
la source
5

Une autre possibilité consiste à créer un fichier de règles dans le répertoire /etc/udev/rules.d/ . J'ai eu un problème similaire et j'ai créé le fichier 50-myusb.rules dans le répertoire ci-dessus avec ce contenu:

KERNEL=="ttyACM[0-9]*",MODE="0666"

Notez que cela donnera à tout périphérique connecté aux autorisations de lecture / écriture de socket ttyACM. Si vous n'avez besoin que d'un périphérique spécifique pour obtenir des autorisations en lecture / écriture, vous devez également vérifier idVendor et idProduct . Vous pouvez les trouver en exécutant la commande lsusb deux fois, une fois sans que votre appareil soit connecté et une fois lorsqu'il est connecté, puis observez la ligne supplémentaire dans la sortie. Vous verrez là quelque chose comme Bus 003 Device 005: ID ffff:0005 . Dans ce cas, idVendor = ffff et idProduct = 0005 . Le vôtre sera différent. Que vous modifiez le fichier de règles à:

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Maintenant, seul cet appareil obtient les autorisations. Lisez ceci pour en savoir plus sur la rédaction des règles udev.

    
réponse donnée NonStandardModel 13.06.2016 - 11:30
la source
2

Essayez d’entrer dans Système / Utilisateurs et groupes et cochez la case correspondant à votre nom d’utilisateur dans le groupe TTY.

    
réponse donnée user247020 09.10.2014 - 05:28
la source

Lire d'autres questions sur les étiquettes