題:
首次設置-對USB端口的權限被拒絕-Ubuntu 14.04
user18719
2016-02-29 13:32:01 UTC
view on stackexchange narkive permalink

我剛剛將arduino插入電源,並且指示燈點亮,但是眨眼測試無法上傳。這是我的錯誤:

Arduino:1.6.7(Linux),開發板:“ Arduino / Genuino Uno”

Sketch使用1,030字節(3%)的程序存儲空間。最大為32,256字節。全局變量使用9字節(0%)的動態內存,剩餘2,039字節用於局部變量。最大值為2,048字節。avrdude:ser_open():無法打開設備“ / dev / ttyUSB0”:權限被拒絕ioctl(“ TIOCMGET”):設備不正確的ioctl問題上載到板上。請參閱 http://www.arduino.cc/zh-CN/Guide/Troubleshooting#upload以獲取建議。

此報告將具有啟用“在編譯期間顯示詳細輸出”的更多信息。在文件>首選項中。

HTTPS://嗚嗚嗚.Arduino.曹操/恩/guide/Linux#TOC9
@IgnacioVazquez-Abrams-您能將其變成答案嗎?我們正在努力提高我們的百分比。 :)也許有一點複製和粘貼,所以它不是僅鏈接的。
我完成了所有步驟,並且第一次成功。現在,我嘗試上傳第二個程序,並收到以下消息:“ avrdude:ser_open():無法打開設備“ / dev / ttyUSB0”:權限被拒絕”,我這樣做了:roquet@roquet-HP-ENVY-x360-m6-Convertible:〜$ sudo adduser roquet Dialout用戶`roquet'已經是`dialout'的成員.roquet@roquet-HP-ENVY-x360-m6-Convertible:〜$ sudo chmod a + rw / dev / ttyUSB0roquet@roquet-HP-ENVY-x360-m6-Convertible:〜$ ls -l / dev / tty / ttyUSB * crw-r 1個root撥出188,1 Jan 20 13:12 / dev / ttyUSB0roquet@roquet-HP-ENVY-x360-m6-Convertible:〜$但仍然得到'permission denie
五 答案:
Ignacio Vazquez-Abrams
2016-02-29 14:41:29 UTC
view on stackexchange narkive permalink

文檔

打開終端並輸入:

  ls -l / dev / ttyACM *  

您將得到類似的內容:

  crw-rw ---- 1根撥出188,0 5月23日01 ttyACM0  
p> ACM末尾的“ 0”可能是一個不同的數字,或者可能會返回多個條目。我們需要的數據是“撥號”(是文件的組所有者)。

現在,我們只需要將用戶添加到組中即可:

  sudo usermod- -G撥出$ USER  

然後:

  sudo chmod a + rw / dev / ttyACM0  

您將需要註銷並重新登錄,以使此更改生效。

請注意,以上是舊的Ubuntu指令。在使用ConsoleKit的現代發行版上,創建包含以下內容的文件 /etc/udev/rules.d/01-ttyusb.rules ,然後重新加載udev規則並重新插入Arduino設備:

  SUBSYSTEMS ==“ usb-serial”,TAG + =“ uaccess”  
好答案。在較新的安裝中,您不必重新加載udev規則。 Udev將監視/etc/udev/rules.d的更改。您必須重新插入arduino。
@ppareit什麼算作“較新的安裝”?在Ubuntu 16.04上,無論是否加載規則(通過`sudo udevadm control --reload`),這對我都不起作用。
我認為它不起作用,因為該板被標識為屬於“ tty”而不是“ usb-serial”子系統。無論如何,創建下面的udev規則對我來說更有效:`SUBSYSTEM ==“ tty”,ATTRS {idVendor} ==“(供應商)”,ATTRS {idProduct} ==“(產品)”,ATTRS {serial} == “(serial)”,SYMLINK + =“ ttyUSB.arduino”,GROUP =“ adm”`,其中(vendor)和(product)取自`lsusb`,(serial)取自`udevadm info -a的輸出-n / dev / ttyACM0 | grep'{serial}'| head -n1`。
至少在Ubuntu 16.04上,我在Mint 18.1上沒有看到此問題。很高興得知您找到了解決方案!
搞定了!!!!已支持。我有一個17.04發行版,第一個解決方案並不持久!
我遵循了這些指示,但對我不起作用。我的設備唯一的不同是在/ dev / ttyUSB0上。我正在使用Ubuntu 18和Arduino Uno。
@CaioCaio:有哪些指示?有兩套。
@IgnacioVazquez-Abrams,我將用戶添加到用戶組並更改了/ dev / ttyUSB0的權限
@CaioCaio:您是否已閱讀答案末尾和評論?
我做了@IgnacioVazquez-Abrams,,但我誤會了它,我讀了“進行中”,而不是“進行中”,對不起...讓我嘗試一下
@IgnacioVazquez-Abrams,是的,第二組指令也不起作用。我的arduino IDE(v1.6)是通過Ubuntu軟件管理器安裝的,我刪除了它,然後通過從Arduino.cc(v1.8)下載IDE軟件包安裝了它,現在可以使用了。謝謝您的幫助!
'sudo chmod ug + rw,o-rw / dev / ttyACM0'或'sudo chmod 660 / dev / ttyACM0'僅授予對用戶/所有者(上述ls輸出中的根目錄)和組(在上面的ls輸出),而其他的則被_explicitly_拒絕了讀寫訪問。
Luke Newmeyer
2018-05-17 02:46:48 UTC
view on stackexchange narkive permalink

您需要做的就是按照Ignacio Vazquez-Abrams的回答將自己添加到撥出組中。在終端中輸入以下命令即可完成此操作:

  sudo usermod -a -G撥出$ USER  

您不需要使用 chmod 。這為所有用戶提供了讀/寫訪問權限,而不僅僅是該組的成員。但是,在嘗試連接之前,您必須註銷並重新登錄。重新登錄後,您將被識別為撥出組的成員,並能夠打開設備。

Cagy79
2019-02-02 18:15:16 UTC
view on stackexchange narkive permalink

在Ubuntu 18.04上,我發現可以直接使用Arduino IDE的唯一方法是使用此處描述的文檔步驟:

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

無需更改組或權限。

misha666
2019-06-28 01:57:47 UTC
view on stackexchange narkive permalink

以上沒有任何幫助。當我從官方站點上的文件進行安裝後,它甚至無法啟動。然後我從“ Linux應用程序商店”安裝了Arduino IDE,並且可以正常工作,但是遇到了像我們的朋友這樣的問題。所以我已經卸載了它,並通過終端 sudo apt install arduino 進行了安裝,現在它可以工作了。乾杯。

Harry
2017-09-08 15:02:39 UTC
view on stackexchange narkive permalink

或者只是使用chown命令。

  sudo chown <username> / dev / ttyACM *  

這對我有用

在此站點已多次問過這個問題,並且另一個用戶也給出了相同的答案。我將在這個主題上引用Chris Stratton:這是一個壞主意,尤其是在具有udev或類似的管理/ dev節點的典型動態配置的linux上,每次連接設備時都必須這樣做。而是將您的用戶添加到適當的組中,這是一個持久的解決方案。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...