Soluție: avrdude: ser_open (): nu se poate deschide dispozitivul pe Arduino

În acest articol vă voi explica cum să remediați o eroare comună în Arduino:

avrdude: ser_open (): nu se poate deschide dispozitivul "/ dev / ttyACM0": Permisiunea refuzată

Fundal

După o lungă perioadă de timp fără să folosesc Arduino, mi-am luat cele două plăci (originalul și Elegoo) să fac niște activități cu fiica mea. Le conectez, urmează să introduc clipitul pentru a vedea că totul este în regulă și când mă duc să-l trimit la bord îmi returnează eroarea bine cunoscută.

Arduino: 1.8.5 (Linux), Card: "Arduino / Genuino Uno" avrdude: ser_open (): nu se poate deschide dispozitivul "/ dev / ttyACM0": Permisiune refuzată Problemă la încărcarea pe placa. Pentru sugestii, accesați http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Atât pe computer, cât și pe laptop, am instalat Ubuntu 18.04.

Soluție

Încep prin a urmări link pe care mi-l sugerați. Și urmez pașii

En unelte / farfurie Este selectat Arduino / Genuino Uno

Abonați-vă la lista noastră de discuții

En unelte / port serial / dev / ttyACM0

arduino avrdude ide problem

și așa cum sugerează documentația, în cazul în care există probleme cu driverele și permisiunile, deschid terminalul și execut:

 sudo usermod -a -G tty yourUserName
 sudo usermod -a -G dialout yourUserName

unde nume de utilizator este numele dvs. de utilizator

Acum mă deconectez și mă conectez din nou. Și doar în caz că repornesc PC-ul / laptopul.

Încă nu funcționează pentru mine și documentația Arduino nu mai ajută. Așa că am tot căutat, pe forumuri și bloguri. Dacă în acest moment nu funcționează pentru tine și ești ca mine. Urmați pașii următori

ls / dev / ttyACM0 returnează / dev / ttyACM0
ls -l / dev / ttyACM0 returnează crw-rw—- 1 dialout root 166, 0 noiembrie 26:16 / dev / ttyACM

Cu aceasta confirmăm că portul există

Vom da permisiuni și vom verifica dacă utilizatorul nostru are permisiunile necesare.

 sudo chmod a+rw /dev/ttyACM0
 id devuelve 20(dialout) 

Și văd că utilizatorul se află în grup dialout deci această parte am reușit.

Ceea ce a funcționat pentru mine a fost să reinstalez Arduino.

Dacă verificați

which avrdude

Și nu returnează nimic, reinstalarea Arduino ar trebui rezolvată.

sudo apt install --reinstall arduino

Și dacă nu ați reușit să rezolvați problema, lăsați-mi un comentariu și voi încerca să vă ajut.

Instrument de depanare AVRDUDE

Există a script-ul pe care l-au pregătit pentru a remedia această problemă. Puteți încerca să vedeți dacă vă ajută. Nu l-am folosit, dar îl las pentru că cred că poate fi o resursă utilă.

AVRDUDE

Las câteva informații pentru a înțelege mai bine ce este AVRDUDE. Numele provine de la AVRDUDE - AVR Downloader / UploaDEr

AVRDUDE este un utilitar pentru a descărca / încărca / manipula conținutul ROM și EEPROM al microcontrolerelor AVR utilizând tehnica de programare în sistem (ISP).

https://www.nongnu.org/avrdude/

AVRDUDE a fost inițiat de Brian S. Dean ca proiect privat ca programator pentru seria de microcontrolere Atmel AVR.

Puteți găsi software-ul și multe alte informații în site-ul proiectului.

1 comentariu la „Soluție: avrdude: ser_open (): nu se poate deschide dispozitivul pe Arduino”

  1. Am o problemă cu arduino, nu comunică cu ideul sau invers. Am totul bine configurat, toate port plate etc ... Am descărcat flip, dar nu știu cum funcționează pentru a reîncărca firmware-ul care cred că este ce nu este în regulă, ați putea avea un pic mai multe detalii despre cum să reinstalați arduino, mulțumesc că sunt nou la asta

    răspuns

Lasă un comentariu