Dedian Stretch/9 /dev/ttyACM0 Permission denied

Hallo zusammen,

nachdem heute mein The Things Gateway mit 2 The Things Uno kam, hatte ich mal wieder einen Grund mit Arduino zu spielen. Seit mein Rechner mit Debian 9 läuft habe ich nur per Programmer auf ATTinys hochgeladen und das funktioniert auch wunderbar.
Die The Things Uno entsprechen einem Leonardo und werden auch als solche erkannt. Wenn ich aber etwas auf den Leonardo aufspielen will, kommt folgende Meldung:

Arduino: 1.8.4 (Linux), Board: "Arduino Leonardo"

Der Sketch verwendet 4128 Bytes (14%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
Globale Variablen verwenden 149 Bytes (5%) des dynamischen Speichers, 2411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
Erzwinge Reset durch öffnen/schließen mit 1200 bps auf dem Port /dev/ttyACM0
PORTS {/dev/ttyACM0, } / {} => {}
PORTS {} / {/dev/ttyACM0, } => {/dev/ttyACM0, }
Found upload port: /dev/ttyACM0
/home/sven/Downloads/arduino-1.8.4/hardware/tools/avr/bin/avrdude -C/home/sven/Downloads/arduino-1.8.4/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/arduino_build_666177/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/sven/Downloads/arduino-1.8.4/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/home/sven/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

avrdude done.  Thank you.

Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Der user sven ist in der Gruppe dialout und die Rechte von /dev/ttyACM0 sehen folgendermasen aus:

crw-rw-rw- 1 root dialout 166, 0 Dez 22 13:14 /dev/ttyACM0

Das letzte rw ist, weil ich versucht habe, ob ein chmod 666 auf /dev/ttyACM0 hilft. Leider auch nicht. Hat jemand eine Ahnung wo der Fehler liegen könnte?
Ach ja, andere Leonardos zeigen dasselbe Fehlerverhalten.

Grüße

Sven

Das scheint aber eher ein LINUX-Thema, als ein Arduinoproblem zu sein.

Gruß Tommy

Hi Sven

Ich hab zwar noch nie einen Arduino über Linux programmiert, aber reicht rw oder sollte es evtl. rwx sein?
Funktioniert es denn, wenn du das ganze als root versuchst?

Grüsse Peter

Hallo Peter,

ja, unter root geht es. Ich habe keine Ahnung warum es unter dem normalen Benutzer nicht will. Aber es kann ja auch nicht die Lösung sein, arduino als root auszuführen. Ich komme da gerade echt nicht weiter und finde einfach keinen Ansatz für das Problem.

Grüße

Sven

Hi

Das benötigte Rechte fehlen, sagt ja bereits die Fehlermeldung.
Wird die Arduino-Umgebung denn von Dir, also Deinem Nutzer, ausgeführt, also hat die Anwendung somit Deine Rechte?
Könnte mir vorstellen, daß die Anwendung als Gast (o.Ä.) ausgeführt wird und somit nicht in dialout enthalten ist - somit kein Recht, damit zu spielen.

MfG

Mach mal "gksudo" für den Startbefehl.

gksudo /home/andre/arduino-nightly/arduino

Mann muss jetzt beim start von Arduino IDE dein Password eingeben und bekommt die recht für zum Beispiel USB porten .

Wenn es einen Fehler gibt dann muss man über die packetmanager gksu laden dann funktioniert es schon.

Hi

Es kann aber nicht das Ziel sein, der IDE gottgleiche Rechts auf dem Rechner einzuräumen - da kannst Du auch direkten Zugriff von Außen auf 777er Files anbieten ...

MfG

Hallo,

die IDE wird von mir mit meinem normalen Benutzer von der bash aus gestartet. Ich habe die 1.8.4 runter geladen, im home entpackt und starte sie mit ./arduino. Das ist alles. gksudo oder auch sudo wollte ich nicht auf meinem Rechner nur deshalb einrichten. Wenn ich etwas als root machen, dann per su. Und als root geht es ja auch, aber das muss eben nicht sein.
Ich hätte gerne verstanden warum avrdude nicht auf /dev/ttyACM0 zugreifen kann. Falls noch jemand eine Idee hat, warum es nicht geht, immer her damit.

Grüße

Sven

Hi

Habe selber nur Erfahrung mit Ubuntu und Mint (seit Ubuntu Unity eingeführt habt ...) - da ist sudo (SuperUserDO) wie auch gksu (okay ... irgendwas mit Grafik SuperUser - bei graphischen Anwendungen zwingend!!) 'von Haus aus' vorhanden.
Klar kannst Du Dich auch per su dauerhaft als ein anderer User (eben auch root) ausgeben - mit allen Konsequenten.
Bei dem Aufruf per sudo/gksu wird nur dieses eine Programm mit diesen Rechten gestartet (aber: wenn root, dann root), Du selber behältst Deine Standard-Rechte mit der enthaltenen Sicherheit, daß Du Selber eben auch Nichts wichtiges kaputt machen darfst :wink:
KA, wie Das debian handelt, also, ob Da Ubuntu/Mint von abweicht.

Bisher hatte ich, bei Bedarf ;), immer recht gute Treffer in Ubunterusers.de (basiert ja auf debian) - vll. dort Mal rumstöbern, welche Rechte für die COM gebraucht werden (wobei dialout eigentlich genau Das wäre, was mir dazu in den Sinn käme).

Selber nutze ich die Arduino-IDE in der VirtualBox und dort in Win7 (damals für 7Eu ... für XP hatte ich Jahre zuvor einiges mehr bezahlt!! läuft aber nicht mehr :confused: ).
In einer parallelen VM nutze ich EstlCAM (CAM-Programm, für meine Fräse ... aber nur DinA-4).

MfG

Hallo,

Debian muss doch auch einen Paketmanager/Softwaremanager haben. Das sollte die erste Anlaufstelle sein um Software zu installieren. Ist darin die Arduino IDE vorhanden? Gibt es alternative Sourcen die du einbinden kannst die das dann anbieten?

Habe das gerade bei meinem Arch probiert aus dem Paketmanager. Funktioniert, als normaler User.

Ansonsten empfehle ich das Debian Forum, wenn du mit root nicht glücklich wirst, weil das wirklich kein Arduino Problem ist sondern ein Software bzw. Rechteproblem wofür alleine Debain zuständig ist bzw. du als User. Die Debian Foren helfen dir bestimmt.

Die gepackte Version bei Debian ist wie so vieles bei Debian. Uralt. 1.0.5. Das muss wirklich nicht sein. Bisher ging es ja immer, bin schon länger mit Debian unterwegs, jetzt nur auf einem neuen Rechner. Naja, ich werd es irgendwann schon noch herausfinden.
Grüße und Frohe Weihnachten

Sven