पहली बार सेट अप करने की अनुमति - पोर्ट ubuntu 14.04 usb पोर्ट से इनकार कर दिया


18

मैंने अभी अपने arduino को प्लग इन किया है और प्रकाश चालू है, लेकिन ब्लिंक परीक्षण अपलोड करने में विफल रहा। यहाँ मेरी त्रुटि है:

Arduino: 1.6.7 (Linux), बोर्ड: "Arduino / Genuino Uno"

स्केच कार्यक्रम भंडारण स्थान के 1,030 बाइट्स (3%) का उपयोग करता है। अधिकतम 32,256 बाइट्स है। ग्लोबल वैरिएबल डायनामिक मेमोरी के 9 बाइट्स (0%) का उपयोग करते हैं, जिससे स्थानीय वेरिएबल्स के लिए 2,039 बाइट्स निकल जाते हैं। अधिकतम 2,048 बाइट्स है। avrdude: ser_open (): डिवाइस नहीं खोल सकता "/ dev / ttyUSB0": अनुमति से इनकार ioctl ("TIOCMGET"): डिवाइस के लिए अनुपयुक्त ioctl समस्या बोर्ड पर अपलोड हो रही है। सुझावों के लिए http://www.arduino.cc/en/Guide/Troubles ही ## load देखें ।

इस रिपोर्ट में फ़ाइल> प्राथमिकता में सक्षम संकलन के दौरान "शो वर्बोज़ आउटपुट दिखाएँ" के साथ अधिक जानकारी होगी।

usb  ubuntu 


2
@ IgnacioVazquez-Abrams - आप एक जवाब में बदल सकते हैं? हम अपने प्रतिशत का उत्तर पाने की कोशिश कर रहे हैं। :) शायद थोड़ी कॉपी और पेस्ट के साथ, इसलिए यह केवल लिंक नहीं है।
निक गैमन

मैंने सभी कदम उठाए और इसने पहली बार काम किया। अब मैं अपना दूसरा कार्यक्रम अपलोड करने की कोशिश करता हूं और मुझे यह संदेश मिलता है 'avrdude: ser_open (): डिवाइस नहीं खोल सकते "/ dev / ttyUSB0": अनुमति से इनकार किया' मैंने यह किया: roquet @ roquet-HP-ENYY-x360-m6 -अनुकूलनीय: ~ $ sudo adduser roquet dialout उपयोगकर्ता roquet' is already a member of संवाद '। roquet @ roquet-HP-ENVY-x360-m6-परिवर्तनीय: ~ $ sudo chmod a + rw / dev / ttyUSB0 roquet @ roquet-HP-ENVY-x360-m6-परिवर्तनीय: ~ $ ls -l / dev / ttyUSB * crw -rw-rw- 1 रूट डायलौट 188, 0 जन 20 13:12 / देव / ttyUSB0 रोकेट @ रोक्वेट-एचपी-एनवीवाई-एक्स 360-एम 6-परिवर्तनीय: ~ $ लेकिन फिर भी 'अनुमति से इनकार करें
रोके जेबाल्ट

जवाबों:


26

से प्रलेखन :

टर्मिनल खोलें और टाइप करें:

ls -l /dev/ttyACM*

आपको कुछ ऐसा मिलेगा:

crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

ACM के अंत में "0" एक अलग संख्या हो सकती है, या कई प्रविष्टियाँ वापस आ सकती हैं। हमें जो डेटा चाहिए वह है "डायलआउट" (फ़ाइल का समूह स्वामी)।

अब हमें अपने उपयोगकर्ता को समूह में जोड़ना होगा:

sudo usermod -a -G dialout $USER

फिर:

sudo chmod a+rw /dev/ttyACM0

इस परिवर्तन को प्रभावी करने के लिए आपको लॉग आउट और लॉग इन करना होगा।

ध्यान दें कि पूर्ववर्ती पुराने उबंटू निर्देश हैं। ConsoleKit का उपयोग करने वाले आधुनिक डिस्ट्रोस /etc/udev/rules.d/01-ttyusb.rulesपर निम्नलिखित के साथ फाइल बनाते हैं और फिर udv नियमों को फिर से लोड करते हैं और Arduino डिवाइस को फिर से बनाते हैं :

SUBSYSTEMS=="usb-serial", TAG+="uaccess"

बहुत बढ़िया जवाब। नए इंस्टॉलेशन पर आपको udv नियमों को फिर से लोड करने की आवश्यकता नहीं है। Udev बदलावों के लिए /etc/udev/rules.d देखेंगे। आपको arduino को फिर से भरना होगा।
पेम्परिट

@ppareit "नए इंस्टॉलेशन" के रूप में क्या मायने रखता है? यह मेरे लिए उबंटू 16.04 पर नियमों के माध्यम से या (बिना) पुनः लोड किए बिना काम नहीं करता है sudo udevadm control --reload
डेस्टी

1
मुझे लगता है कि यह काम नहीं किया क्योंकि बोर्ड को "यूएसबी-सीरियल" सबसिस्टम के बजाय "ट्टी" के रूप में पहचाना जाता है। वैसे भी, निम्नलिखित udev नियम बनाने के बजाय मेरे लिए काम किया है: SUBSYSTEM=="tty", ATTRS{idVendor}=="(vendor)", ATTRS{idProduct}=="(product)", ATTRS{serial}=="(serial)", SYMLINK+="ttyUSB.arduino", GROUP="adm"जहां (विक्रेता) और (उत्पाद) से लिया जाता है lsusbऔर (धारावाहिक) आउटपुट से लिया जाता है udevadm info -a -n /dev/ttyACM0|grep '{serial}'|head -n1
डेस्टी

कम से कम Ubuntu 16.04 के साथ, मैंने मिंट 18.1 पर इस समस्या को नहीं देखा। यह सुनकर खुशी हुई कि आपको इसका हल मिल गया!
पमपिट

बिल्कुल सही किया!!!! Upvoted। मेरे पास 17.04 डिस्ट्रो है और 1 समाधान लगातार नहीं था!
टोनी गिल

3

आपको केवल इग्नासियो वाज़केज़-अब्राम्स के उत्तर के अनुसार डायलआउट समूह में खुद को जोड़ना होगा। यह टर्मिनल में टाइप करके किया जाता है:

sudo usermod -a -G dialout $USER

आपको उपयोग करने की आवश्यकता नहीं है chmod। यह सभी उपयोगकर्ताओं को पढ़ने / लिखने की सुविधा देता है और समूह के सदस्यों को नहीं। कनेक्ट करने का प्रयास करने से पहले, हालांकि, आपको लॉगआउट करना होगा और वापस लॉग इन करना होगा । एक बार जब आप वापस लॉग इन करते हैं, तो आपको डायलआउट समूह के सदस्य के रूप में पहचाना जाएगा और डिवाइस को खोलने में सक्षम होगा।


1

उबंटू 18.04 पर, एकमात्र तरीका मुझे Arduino IDE इंस्टॉलेशन बॉक्स के बाहर सीधे काम करने के लिए मिला, जो कि यहां वर्णित दस्तावेज़ का उपयोग कर रहा था:

https://www.arduino.cc/en/Guide/Linux/

कोई बदलते समूह और न ही अनुमति की आवश्यकता है।


0

ऊपर वाले ने मेरी मदद नहीं की। जब मैंने आधिकारिक साइट से फ़ाइल से इंस्टॉल किया है, तो यह भी शुरू नहीं होता है। फिर मैंने "linux app store" से Arduino IDE इंस्टॉल किया है और काम कर रहा था लेकिन ऊपर से हमारे दोस्त की तरह एक समस्या है। इसलिए मैंने इसे अनइंस्टॉल कर दिया है और टर्मिनल के माध्यम से स्थापित किया है sudo apt install arduinoऔर अब यह काम कर रहा है। चीयर्स।


-1

या सिर्फ chown कमांड का उपयोग करें।

sudo chown <username> /dev/ttyACM*

इसने मेरे लिए काम किया


1
यह प्रश्न इस साइट में कई बार पूछा गया है, और एक ही उत्तर किसी अन्य उपयोगकर्ता द्वारा दिया गया है। मैं इस उपखंड पर क्रिस स्ट्रैटन का हवाला दूंगा: यह एक बुरा विचार है, विशेष रूप से udev या इसी तरह के प्रबंध / देव नोड्स के साथ एक विशिष्ट गतिशील रूप से कॉन्फ़िगर किए गए लिनक्स पर, आपको हर बार डिवाइस कनेक्ट करने के दौरान यह करना होगा। अपने उपयोगकर्ता को इसके बजाय उपयुक्त समूह में जोड़ें, जो एक स्थायी समाधान है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.