avrdude: / dev / ttyACM0 Problem mit sich ändernden Berechtigungen
Ich habe Arduino IDE ohne Probleme auf meinem Arch Linux-Laptop verwendet. Nach einiger Zeit / Monaten konnte ich die Skizze aufgrund von Berechtigungen nicht hochladen:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
Ich kann minicom
ohne Probleme auf das Gerät zugreifen und schreiben, da die Berechtigungen gut sind:
crw-rw-rw- 1 root uucp
Mein Benutzer ist in der uucp
Gruppe. Wenn ich jedoch mit dem Hochladen der Skizze beginne dmesg
, wird das USB-Gerät neu verbunden, und in diesem Moment sehe ich verschiedene Berechtigungen:
rw------- 1 root root
Und nach einiger Zeit (Sekunden) sind die Berechtigungen wieder so, wie sie waren. dmesg
hier ausgeben:
[ 313.042695] usb 2-1.2: USB disconnect, device number 3 [ 313.253085] usb 2-1.2: new full-speed USB device number 4 using ehci-pci [ 313.352387] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device [ 321.234517] usb 2-1.2: USB disconnect, device number 4 [ 321.439445] usb 2-1.2: new full-speed USB device number 5 using ehci-pci [ 321.541392] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device ...
Ich habe versucht, dies mit mehreren benutzerdefinierten udev-Regeln zu lösen, jedoch ohne Erfolg:
SUBSYSTEMS="usb", ATTRS== "2341", GROUP="uucp", MODE="0666" KERNEL=="ttyACM[0-9]*", SYMLINK+="%k", GROUP="uucp", MODE="0666"
Wie kann man eine Gruppe oder einen Modus vom ersten Moment an erzwingen, wenn er im System erscheint? Ich hoffe, dass dies nicht nur ein Fehler im Arduino 1.8.3 ist. Kernel-Version 4.11.9-1-ARCH.
EDIT # 1 :
Ich habe festgestellt, dass das Wiederherstellen der USB-Verbindung auch nach dem Beenden auftritt. minicom
In diesem Fall ist avrdude
dies jedoch ein Problem, da das Programm auftritt, wenn das Programm auf das Gerät zugreifen muss.
Screencast hier
EDIT # 2 :
Nach einiger Zeit kam ich wieder auf dieses Problem zurück und stellte fest, dass ich Probleme damit hatte ttyACM0
(Yun / Micro / etc., Die mit einem microUSB-Kabel verbunden sind) und ttyUSB0
(Uno mit USB-B verbunden) ok ist. Aber auch das ist ein interessanter Hinweis, dass ich es nicht herausfinden kann.
Ich überwache die Rechte auf den tty-Geräten:
watch -n 0.1 'ls -la /dev/ttyUSB* /dev/ttyACM*'
- Beim Hochladen auf
ttyUSB0
nur das Datum und die Uhrzeit ändert sich und alles funktioniert - Wenn das Hochladen auf das
ttyACM0
Gerät für einen Moment verschwunden ist, wurde ein neues mit falschen Rechten (undroot:root
) erstellt, der Upload ist fehlgeschlagen und dann werden von udev (mitroot:uucp
) die richtigen Einstellungen vorgenommen.
Mein Benutzer ist in den Gruppen lock
und uucp
, ich habe versucht, einige udev-Regeln hinzuzufügen oder sie zu deaktivieren, aber ohne Erfolg ...
Ich bin zu 99% sicher, dass dies etwas ist, bevor die udev-Regel es berührt.
0 Antworten auf die Frage
Verwandte Probleme
-
3
Warum führt das Entfernen des USB-Sticks zu einem blauen Bildschirm?
-
8
Booten von Linux von USB-Sticks
-
3
Laptop wacht auf, wenn ich USB-Geräte freischalte / ausschalte
-
3
Gibt es eine Möglichkeit, zwei Computer über USB anzuschließen?
-
10
Der USB-Wi-Fi-Adapter wird unter Windows Vista nicht aktiviert
-
4
Wie installiere ich Windows 7 RC von einer USB-Festplatte?
-
2
Belkin Bluetooth und Wireless USB Adapter
-
2
Anschließen eines MIDI-Controllers an CentOS5
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
802.11g USB-WLAN-Adapter mit Linux-AP-Unterstützung