Ho un problema esatto con la mia scheda Leonardo e Ubuntu. L'aggiunta di una regola che dice a ModemManger di ignorare tutti i dispositivi USB dal collegamento menzionato non ha funzionato per me. Tuttavia, l'eliminazione di modemmanager in effetti lo ha fatto.
sudo apt-get purge modemmanager
tu prima devi assicurarti di avere i diritti di lettura/scrittura corretti, come descritto qui, inserisci essenzialmente i seguenti comandi:
$ sudo adduser <username> dialout
$ sudo chmod a+rw /dev/ttyACM0
'/dev/ttyACM0' è la porta a cui è connesso il tuo arduino, dovrebbe essere elencata nella cartella /dev della tua root.
secondo: dopo aver identificato a quale porta è connesso arduino e aver impostato i diritti corretti per questa porta, è necessario eseguire il seguente comando. Non sono sicuro di cosa faccia, non sono sicuro se sia davvero necessario, ma ha fatto funzionare i caricamenti per me in diverse occasioni
$ sudo udevadm trigger
ho trovato questo comando qui:http://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/
e terzo , troverai il caricamento a volte una sfida di tempismo e fortuna. Continua a premere il reset (a volte due volte molto consecutivamente) e nel frattempo premi il pulsante di caricamento del tuo schizzo arduino. Ad un certo momento, funzionerà. Ho avuto più fortuna quando cambiavo continuamente piccoli pezzi nel codice, quindi quando ho premuto 'upload', ho dovuto prima compilare il codice.
https://www.arduino.cc/en/Guide/Troubleshooting#upload
su alcuni computer potrebbe essere necessario premere il pulsante di ripristino
Non ho mai pasticciato con il bootloader, né con i pin ICSP e simili (per fortuna)
Dai anche un'occhiata al forum di Arduino o al link fornito da te
La soluzione che ha sempre funzionato per me è andare a Tools -> Port -> /dev/ttyACMx
e fai di nuovo clic sulla porta selezionata.
Dopodiché l'IDE carica il codice senza problemi.