impossibile caricare sketch su arduino

salve a tutti stasera mi si bloccò il mio povero arduino dandomi un errore durante l upload questo :

processing.app.SerialException: Errore durante lapertura della porta seriale '{0}'.
	at processing.app.Serial.<init>(Serial.java:178)
	at processing.app.Serial.<init>(Serial.java:77)
	at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77)
	at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
	at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
	at processing.app.Sketch.upload(Sketch.java:1706)
	at processing.app.Sketch.exportApplet(Sketch.java:1662)
	at processing.app.Sketch.exportApplet(Sketch.java:1634)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2355)
	at java.lang.Thread.run(Thread.java:679)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
	at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:213)
	at processing.app.Serial.<init>(Serial.java:163)
	... 10 more
processing.app.debug.RunnerException: Errore durante lapertura della porta seriale '{0}'.
	at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:101)
	at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
	at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
	at processing.app.Sketch.upload(Sketch.java:1706)
	at processing.app.Sketch.exportApplet(Sketch.java:1662)
	at processing.app.Sketch.exportApplet(Sketch.java:1634)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2355)
	at java.lang.Thread.run(Thread.java:679)

leggendo sul sito di maffucci (http://www.maffucci.it/2011/05/19/oggi-sperimentazione-interessante-in-classe-arduino-bloccato/) ho letto che si dovrebbe risolvere il tutto tenendo il reset premuto fino a che non si carica il programma ma nulla… qualcun altro ha avuto esperenze simili?

Inizia col dire che Arduino usi, che SO usi, che sketch c'è sopra al micro ecc..

e togli anche tutte l' elettronica o Shield collegati a Arduino. Ciao Uwe

scusate :relaxed: so ubuntu 12.04 arduino uno rev 3 shield nessuno lo sketch ieri sera era uno che usava la seriale. dopo un po di ricerche ho trovato il tuo post(leo72) che diceva di mettere un delay prima del serial.begin. quindi ho usato windows per caricare uno sketch e magicamente riuscivo a caricare gli sketch ed ora ha un blink in memoria. la scheda pare si comporti regolarmente ovvero led alimentazione acceso, led 13 esegue lo sketch, led tx spento(mentre prima rimaneva acceso)

Quindi era un problema di seriale occupata dall'Arduino che iniziava a spedire dati prima che sul PC tu avessi il tempo di aprire il monitor seriale, giusto? Hai risolto, quindi?

allora il primo problema della porta seriale occupata lo ho rsolto usando un so windows e con lui non dovevo usare il trucco del pulsantino di reset: caricato tutto al prmo colpo. risolto questo ho acceso ubuntu 12.04/12.10/13.04(tutti e 3 facendo avanzamenti di versione ) ma nulla da fare ho provato a modifcare permessi delle seriali cambiare i gruppi per avere permessi ma nulla da fare mi dava sempre lo stesso errore ovvero non rusciva ad usare la serale, solo lanciando da riga d comando arduino(sudo arduino) riuscivo a far partire l upload senza problemi stanco d tutto stamattina ho reinstallato ubuntu da zero (seppur avessi potuto fare una reinstallazione mantenendo la home) e ora va che è una meraviglia... posso dire che il problema era l sistema operativo , in special modo i permessi e non arduino. :)

aspi: posso dire che il problema era l sistema operativo , in special modo i permessi e non arduino.

Il problema erano i permessi e la scarsa conoscenza del SO, non il SO in sé, mi spiace dirtelo ;) Sono 2 anni e mezzo che uso le schede Arduino su tutte le distribuzioni Linux che ho provato (Ubuntu, Mint, Arch) e tutte le volte sono riuscito sempre a programmare la scheda dopo aver dato i giusti permessi.

ho reinstallato ubuntu da zero (seppur avessi potuto fare una reinstallazione mantenendo la home)

Per mantenere la propria home basta in fase di installazione iniziale di Linux creare una partizione separata da root e montarci la propria home. In seguito, puoi formattare/reinstallare/aggiornare il sistema quante volte vuoi senza perdere 1 byte della home.

leo72:

aspi: posso dire che il problema era l sistema operativo , in special modo i permessi e non arduino.

Il problema erano i permessi e la scarsa conoscenza del SO, non il SO in sé, mi spiace dirtelo ;)

ho reinstallato ubuntu da zero (seppur avessi potuto fare una reinstallazione mantenendo la home)

Per mantenere la propria home basta in fase di installazione iniziale di Linux creare una partizione separata da root e montarci la propria home. In seguito, puoi formattare/reinstallare/aggiornare il sistema quante volte vuoi senza perdere 1 byte della home.

con sistema intendevo i permessi :P solo che in un mese di compilazioni non avendo fatto nessuna modifica (installazioni sì) di punto in bianco dopo il problema della seriale impegnata mi ha levato i privilegi umhhh...

si per tenere la home lo sapevo che potevo fare una partizione a parte ma con questo rilascio ho anche notato che hanno inserito l installazione del SO pur mantenendo la home e reinstallando i programmi precedentemente presenti

aspi: si per tenere la home lo sapevo che potevo fare una partizione a parte ma con questo rilascio ho anche notato che hanno inserito l installazione del SO pur mantenendo la home e reinstallando i programmi precedentemente presenti

Io preferisco la /home su partizione separata piuttosto che un sistema che, immagino, si basi sulla semplice cancellazione delle cartelle di sistema, preservando appunto /home.

eh lo so pure io ma quando anni fa iniziai a usare linux feci un po di casini con le partizioni un giorno mi dovrò mettere d impegno e sistemare il tutto :) (insieme al maledetto encoder)

Io siccome sono sbadato copio tutto su hd esterni/server per poi fare cluster bruciati senza pensarci tanto su. 8)

leo72: Il problema erano i permessi e la scarsa conoscenza del SO, non il SO in sé, mi spiace dirtelo ;)

anche a me oggi di punto in bianco (usavo la seriale di arduino) mi è uscito quell'errore e non riesco a sistemarlo. quali sono i permessi da dare? ho già l'utente in dialout e tty ma non va =(

Che errore, scusa? Lo stesso quotato nel 1° post di questo thread? Che SO? Che c'è sull'Arduino?

si è lo stesso errore riportato sopra. stavo giocando con una UNO collegata con un telefono via seriale. sono giorni che ci lavoro. d'un botto quell'errore. ho provato di tutto: ho riscaricato IDE, ho cambiato utente, ho reinstallato la /, ecc.... con windows funziona tutto regolare. come SO ho debian7. IDE 1.0.5 ho provato con il tar.gz, e la unstable 1.0.5 da repo sull'arduino ora c'è arduinoisp

l'utente ha questi gruppi tty uucp dialout cdrom floppy sudo audio dip video plugdev scanner netdev bluetooth vboxusers

con IDE 1.5.6 funziona regolare.

L’IDE 1.5.6 ha abbandonato RXTX a favore di JSSC. Forse è quel cambio ad averti risolto il problema.

Il problema secondo me deriva dal fatto che c'è sulla scheda uno sketch che impiega la seriale non appena avviato. Se la seriale è occupata da un dispositivo, non può essere occupata anche da un altro. Se l'Arduino occupa la seriale, il computer non può aprire quella porta perché la trova occupata.

Metodo per provare a risolvere la questione: manovra d'emergenza

Se con la precedente ti funziona, è confermato il problema. Per evitare di incappare in seguito nello stesso problema, metti un delay o subito prima del Serial.begin o subito dopo, per dar modo all'IDE di spedire un nuovo sketch prima che quello sulla scheda occupi la seriale:

void setup() {
  delay(1000);
  Serial.begin(19200);
  ...

sono riuscito a risolvere :grin:

ho creato un nuovo utente e gli ho dato i permessi per dialout e tty e sono riuscito a caricare gli sketch. alchè mi è venuto il dubbio che il problema potesse essere nel preferences.txt. ...e così era!

la voce "serial.debug_rate" era impostata a 14400. mettendola a 9600 è tornato tutto alla normalità.

...ma, c'è un ma. se ora vado ad impostare il serial monitor a 14400,28800 o 38400 baud ritorna il problema e mi tocca riaprire il preferences.txt per cambiare il serial.debug_rate :relaxed:

questo è il mio preferences, notate qualcosa di strano?

board=uno
browser=mozilla
browser.linux=mozilla
build.verbose=false
console=true
console.auto_clear=true
console.error.file=stderr.txt
console.length=500
console.lines=4
console.output.file=stdout.txt
editor.antialias=false
editor.caret.blink=true
editor.divider.size=0
editor.divider.size.windows=2
editor.external=false
editor.font=Monospaced,plain,12
editor.font.macosx=Monaco,plain,10
editor.indent=true
editor.invalid=false
editor.keys.alternative_cut_copy_paste=true
editor.keys.alternative_cut_copy_paste.macosx=false
editor.keys.home_and_end_travel_far=false
editor.keys.home_and_end_travel_far.macosx=true
editor.keys.shift_backspace_is_delete=true
editor.languages.current=en
editor.tabs.expand=true
editor.tabs.size=2
editor.update_extension=true
editor.window.height.default=600
editor.window.height.min=290
editor.window.height.min.macosx=450
editor.window.height.min.windows=530
editor.window.width.default=500
editor.window.width.min=750
export.applet.separate_jar_files=false
export.application.fullscreen=false
export.application.platform=true
export.application.platform.linux=true
export.application.platform.macosx=true
export.application.platform.windows=true
export.application.stop=true
export.delete_target_folder=true
last.screen.height=800
last.screen.width=1280
last.serial.location=641,22,639,516
last.sketch.count=0
launcher=xdg-open
platform.auto_file_type_associations=true
preproc.color_datatype=true
preproc.enhanced_casting=true
preproc.imports.list=java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*
preproc.output_parse_tree=false
preproc.save_build_files=false
preproc.substitute_floats=true
preproc.substitute_unicode=true
preproc.web_colors=true
programmer=arduino:arduinoisp
run.display=1
run.options=
run.options.memory=false
run.options.memory.initial=64
run.options.memory.maximum=256
run.present.bgcolor=#666666
run.present.exclusive=false
run.present.exclusive.macosx=true
run.present.stop.color=#cccccc
run.window.bgcolor=#DFDFDF
serial.databits=8
serial.debug_rate=9600
serial.parity=N
serial.port=/dev/ttyACM0
serial.stopbits=1
sketchbook.path=/home/user/sketchbook
target=arduino
update.check=true
update.id=7648679994590229265
update.last=1393156399452
upload.using=bootloader
upload.verbose=false
upload.verify=true

Stai usando l'IDE presente nel repo di Arduino o l'IDE scaricato dal sito di arduino.cc?

al momento sto utilizzando la versione unstable da repo 1.0.5 (pacchettizzata pochi giorni fa) ma ho provato anche con il tar.gz scaricata da arduino.cc con gli stessi risultati. anche perchè entrambi leggono le stesse impostazioni da "home/.arduino/preferences.txt"