मैं समस्याओं के बिना अपने आर्क लिनक्स लैपटॉप पर Arduino IDE का उपयोग कर रहा था, कुछ समय / महीनों के बाद मैं अनुमति के स्केच अपलोड नहीं कर पा रहा हूँ:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
मैं डिवाइस के साथ एक्सेस और लिख सकता हूं minicom
समस्याओं के बिना, क्योंकि अनुमति अच्छी है:
crw-rw-rw- 1 root uucp
मेरे उपयोगकर्ता में है uucp
समूह। लेकिन जब मैं स्केच अपलोड करना शुरू करता हूं, तो dmesg
, usb डिवाइस को फिर से जोड़ा जा रहा है और उस क्षण में मैं विभिन्न अनुमतियाँ देख सकता हूँ
rw------- 1 root root
और कुछ समय (सेकंड) के बाद अनुमति वापस आ जाती है जैसे वे थे। dmesg
यहाँ उत्पादन:
[ 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
...
मैंने कई कस्टम udev नियमों के साथ इसे हल करने की कोशिश की है, लेकिन बिना सफलता
SUBSYSTEMS="usb", ATTRS{idVendor}== "2341", GROUP="uucp", MODE="0666"
KERNEL=="ttyACM[0-9]*", SYMLINK+="%k", GROUP="uucp", MODE="0666"
सिस्टम में दिखाई देने पर पहले क्षण से समूह या मोड को कैसे बाध्य करें? मुझे उम्मीद है कि यह Arduino 1.8.3 में सिर्फ एक बग नहीं है। कर्नेल संस्करण 4.11.9-1-ARCH।
EDIT # 1 :
मैंने पाया कि बाहर निकलने के बाद USB पुन: संयोजन व्यवहार होता है minicom
भी, लेकिन के मामले में avrdude
यह समस्या है क्योंकि यह तब हो रहा है जब प्रोग्राम को डिवाइस तक पहुंचने की आवश्यकता होती है।
स्क्रीनकास्ट यहाँ
EDIT # 2 :
कुछ समय बाद मैं इस मुद्दे पर वापस आया और मैंने पाया कि मुझे अभी समस्या है ttyACM0
(यूं / माइक्रो / आदि। माइक्रोयूएसबी केबल के साथ जुड़ा हुआ है) और ttyUSB0
(USB-B से जुड़ा हुआ) ठीक है। लेकिन यहां तक कि यह दिलचस्प सुराग है मैं इसे समझ नहीं सकता।
मैं tty उपकरणों पर अधिकारों की निगरानी कर रहा हूँ:
watch -n 0.1 'ls -la /dev/ttyUSB* /dev/ttyACM*'
- जब अपलोड करने के लिए
ttyUSB0
बस तारीख / समय बदल रहा है और सब कुछ काम कर रहा है - जब अपलोड करने के लिए
ttyACM0
डिवाइस एक पल के लिए गायब हो गया, फिर गलत अधिकारों के साथ एक नया (औरroot:root
) बनाया गया है, अपलोड विफल हो गया है और फिर udv (के साथ) ठीक से सेट किए गए हैंroot:uucp
) ... और फिर एक और चक्र (गायब-गलत-सही)
मेरे उपयोगकर्ता में है lock
तथा uucp
समूह, मैंने कुछ udv नियमों को जोड़ने या उन्हें अक्षम करने की कोशिश की है, लेकिन सफलता के बिना ...
मैं 99% के लिए यकीन है कि यह कुछ है इससे पहले कि udv नियम इसे छू रहा है
avrdude
अपलोड पर पोर्ट रीसेट करने से।