Leonardo ETH – problem z wgrywaniem programu

Na Ubuntu występują problemy z nowymi płytkami Leonardo ETH – podczas wgrywania skompilowanego szkicu pojawia się komunikat:

avrdude:
ser_open(): can't open device "/dev/ttyACM0": Device or resource busy
avrdude: ser_send(): write error: Bad file descriptor Problem uploading
to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

Spowodowane jest to używanym przez Ubuntu ModemManagerem, służącym do obsługi modemów 3G. Kiedy Modem Manager zauważy nowy port szeregowy, próbuje się z nim skomunikować, myśląc że ma do czynienia z modemem, a przy okazji skutecznie blokuje możliwość zaprogramowania Arduino. Istnieje co prawda lista ignorowanych urządzeń, ale płytki produkowane przez Arduino.org nie zostały do tej pory na nią dodane.

W tej sytuacji należy uruchomić terminal (domyślnie jest to skrót Ctrl+Alt+T), wpisać w jednej linijce:

sudo echo 'ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"' > /etc/udev/rules.d/77-arduino.rules

w przypadku gdyby pojawił się komunikat o braku dostępu trzeba przejść na ścieżkę /etc/udev/rules.d i za pomocą edytora np. vi utworzyć plik 77-arduino.rules i wpisać do niego jedną linijkę:

ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"

a gdy plik się pojawi wpisać komendę:

sudo udevadm trigger

Od tej chwili powinniśmy móc bez problemu zaprogramować nie tylko Arduino Leonardo ETH, ale również inne modele Arduino produkowane przez Arduino.org

Komentowanie jest wyłączone.