Otázka:
První nastavení - povolení odepřeno na port USB - ubuntu 14.04
user18719
2016-02-29 13:32:01 UTC
view on stackexchange narkive permalink

Právě jsem připojil své arduino a světlo svítí, ale test blikání se nepodařilo nahrát. tady je moje chyba:

Arduino: 1.6.7 (Linux), Board: "Arduino / Genuino Uno"

Skica využívá 1030 bajtů (3%) programového úložného prostoru. Maximum je 32 256 bajtů. Globální proměnné využívají 9 bajtů (0%) dynamické paměti, přičemž lokálním proměnným zbývá 2 039 bajtů. Maximum je 2 048 bajtů. Avrdude: ser_open (): nelze otevřít zařízení "/ dev / ttyUSB0": Oprávnění deniedioctl ("TIOCMGET"): Nevhodný ioctl pro nahrávání problému zařízení na palubu. Návrhy najdete na http://www.arduino.cc/en/Guide/Troublesho##upload.

Tento přehled by obsahoval více informací se zapnutým „Zobrazit podrobný výstup během kompilace“ v Soubor> Předvolby.

https://www.arduino.cc/en/Guide/Linux#toc9
@IgnacioVazquez-Abrams - můžete z toho udělat odpověď? Snažíme se, aby naše procento odpovídalo. :) Možná s trochou kopírování a vkládání, takže to není jen odkaz.
Udělal jsem všechny kroky a fungovalo to poprvé. Nyní se pokouším nahrát svůj druhý program a dostanu tuto zprávu 'avrdude: ser_open (): nelze otevřít zařízení "/ dev / ttyUSB0": Oprávnění odepřeno' udělal jsem to : roquet@roquet-HP-ENVY-x360-m6-Convertible: ~ $ sudo adduser roquet dialout Uživatel `roquet 'je již členem` dialout'. roquet@roquet-HP-ENVY-x360-m6-Convertible: ~ $ sudo chmod a + rw / dev / ttyUSB0roquet@roquet-HP-ENVY-x360-m6-Convertible: ~ $ ls -l / dev / ttyUSB * rw-rw-rw 1 root dialout 188, 0 Jan 20 13:12 / dev / ttyUSB0roquet@roquet-HP-ENVY-x360-m6-Convertible: ~ $, ale přesto získáte 'povolení denie
Pět odpovědi:
Ignacio Vazquez-Abrams
2016-02-29 14:41:29 UTC
view on stackexchange narkive permalink

Z dokumentace:

Otevřete terminál a zadejte:

  ls -l / dev / ttyACM *  

Získáte něco jako:

  crw-rw ---- 1 kořenový dialout 188, 5. dubna 23.01.01 ttyACM0  

„0“ na konci ACM může mít jiné číslo nebo může být vráceno více položek. Data, která potřebujeme, jsou „dialout“ (je vlastníkem souboru souboru).

Nyní stačí přidat do skupiny našeho uživatele:

  sudo usermod - a -G dialout $ USER  

potom :

  sudo chmod a + rw / dev / ttyACM0  

vy aby se tato změna projevila, musíte se odhlásit a znovu se přihlásit.

Upozorňujeme, že předchozími jsou staré pokyny pro Ubuntu. Na moderních distribucích, které používají ConsoleKit, vytvořte soubor /etc/udev/rules.d/01-ttyusb.rules obsahující následující a poté znovu načtěte pravidla udev a znovu zapojte zařízení Arduino:

  SUBSYSTEMS == "usb-serial", TAG + = "uaccess"  
Skvělá odpověď. U novějších instalací nemusíte znovu načítat pravidla udev. Udev bude sledovat změny /etc/udev/rules.d. Musíte arduina znovu zapojit.
@ppareit, co se počítá jako „novější instalace“? Na Ubuntu 16.04 to nefunguje s nebo bez opětovného načtení pravidel (pomocí `sudo udevadm control --reload`).
Myslím, že to nefungovalo, protože deska je identifikována jako součást subsystému „tty“ namísto „usb-serial“. Místo toho pro mě místo toho fungovalo vytvoření následujícího pravidla udev: `SUBSYSTEM ==" tty ", ATTRS {idVendor} ==" (vendor) ", ATTRS {idProduct} ==" (product) ", ATTRS {serial} == "(serial)", SYMLINK + = "ttyUSB.arduino", GROUP = "adm" `, kde (vendor) a (product) jsou převzaty z` lsusb` a (serial) je převzato z výstupu `udevadm info -a -n / dev / ttyACM0 | grep '{serial}' | head -n1`.
Alespoň s Ubuntu 16.04 jsem tento problém neviděl na Mint 18.1. Jsme rádi, že jste našli řešení!
ZALOŽENO TO !!!! ZVOLENO. Mám distribuci 17.04 a první řešení nebylo trvalé!
Postupoval jsem podle těchto pokynů a nefunguje to pro mě. Pouze moje zařízení je na / dev / ttyUSB0. Používám Ubuntu 18 a Arduino Uno.
@CaioCaio: Které pokyny? Existují dvě sady.
@IgnacioVazquez-Abrams, Přidal jsem svého uživatele do uživatelské skupiny a změnil oprávnění na / dev / ttyUSB0
@CaioCaio: Přečetli jste si konec odpovědi a komentáře?
@IgnacioVazquez-Abrams, Udělal jsem, ale nepochopil jsem to, četl jsem „pokračuji“, ne „předcházím“, omlouvám se ... dovolte mi to zkusit
@IgnacioVazquez-Abrams, jo, ani druhá sada pokynů nefungovala. Moje Arduino IDE (v1.6) bylo nainstalováno přes správce softwaru Ubuntu, odstranil jsem ho a poté nainstaloval stažením balíčku IDE z Arduino.cc (v1.8) a nyní to funguje. Děkuji za pomoc!
'sudo chmod ug + rw, o-rw / dev / ttyACM0' nebo 'sudo chmod 660 / dev / ttyACM0' poskytuje pouze přístup pro čtení a zápis uživateli / majiteli (root ve výstupu ls výše) a skupině (dialout v Výstup výše), zatímco jiným je _explicitně_ odepřen přístup pro čtení a zápis.
Luke Newmeyer
2018-05-17 02:46:48 UTC
view on stackexchange narkive permalink

Vše, co musíte udělat, je přidat se do skupiny dialoutů, jak je popsáno v odpovědi Ignacia Vazquez-Abramse. To se v terminálu provádí zadáním:

  sudo usermod -a -G dialout $ USER  

Není nutné používat chmod . To umožňuje přístup ke čtení / zápisu všem uživatelům, nejen členům skupiny. Před pokusem o připojení se však musíte odhlásit a znovu přihlásit . Po opětovném přihlášení budete rozpoznáni jako členové skupiny s dialouty a budete moci zařízení otevřít.

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

Na Ubuntu 18.04 jsem jediným způsobem, jak jsem zjistil, že instalace Arduino IDE funguje přímo z krabice, používal zde popsané kroky dokumentace:

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

Není třeba měnit skupiny ani oprávnění.

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

Nic výše uvedeného mi nepomohlo. Když jsem nainstaloval ze souboru, z oficiálního webu, ani se nespustí. Poté jsem nainstaloval Arduino IDE z „linux app store“ a fungoval, ale mám problém jako náš přítel shora. Takže jsem jej odinstaloval a nainstaloval pomocí terminálu sudo apt install arduino a nyní to funguje. Na zdraví.

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

Nebo stačí použít příkaz chown.

  sudo chown <username> / dev / ttyACM *  

Toto fungovalo pro mě

Tato otázka byla na tomto webu položena mnohokrát a stejnou odpověď poskytl jiný uživatel. Cituji Chris Stratton na toto subjedt: To je špatný nápad, zejména na typickém dynamicky konfigurovaném linuxu s udev nebo podobnými uzly pro správu / dev, které budete muset udělat pokaždé, když připojíte zařízení. Přidejte uživatele místo toho do příslušné skupiny, což je trvalá oprava.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...