Problema con comunicacion en serie

Hola!
Escribo porque tengo un problema con la comunicación en serie que me está volviendo loco.
Tengo Ubuntu 10.04, y dos placas arduino UNO (aunque una de ellas es una copia)

El problema que me ocurre es que, de repente, al cargar cualquier Sketch me da un problema con la comunicacion, y no me deja cargar nada en ninguna de las dos placas.

Os pego el código de error que me da, por si alguien tiene alguna idea:

Binary sketch size: 1994 bytes (of a 32256 byte maximum)
processing.app.SerialException: Error opening serial port '/dev/ttyACM3'.
	at processing.app.Serial.<init>(Serial.java:146)
	at processing.app.Serial.<init>(Serial.java:76)
	at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:75)
	at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:88)
	at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:66)
	at processing.app.Sketch.upload(Sketch.java:1664)
	at processing.app.Sketch.exportApplet(Sketch.java:1624)
	at processing.app.Sketch.exportApplet(Sketch.java:1578)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2314)
	at java.lang.Thread.run(Thread.java:636)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
	at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:171)
	at processing.app.Serial.<init>(Serial.java:136)
	... 9 more
processing.app.debug.RunnerException: Error opening serial port '/dev/ttyACM3'.
	at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:99)
	at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:88)
	at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:66)
	at processing.app.Sketch.upload(Sketch.java:1664)
	at processing.app.Sketch.exportApplet(Sketch.java:1624)
	at processing.app.Sketch.exportApplet(Sketch.java:1578)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2314)
	at java.lang.Thread.run(Thread.java:636)

Ha sido muy raro, porque me ha funcionado siempre, hasta que ayer de repente dejó de funcionar dando ese problema.

He estado mirando en foros, y he encontrado un post que dice que hay que "Reflashear el firmware en la 8u2" pero sinceramente no tengo ni idea de qué es eso. He intentado seguirlo pero no hay manera.

No sé si es cuestión de librerías, o de la tarketa, o qué.

agradecería alguna indicación, porque estoy realmente perdido.

Un saludo y muchas gracias!!

Hola,
como dice Error opening serial port '/dev/ttyACM3', parece que tienes un problema de puerto: por lo que recuerdo, creo que primero se conecta el arduino por usb, y después se ejecuta este comando en el terminal para ver el puerto:

ls /dev/ttyUSB*

(No conozco ttyACM3...)
¿Qué puerto te sale? Tienes ese puerto seleccionado en Tools?

Hola curro. Gracias por contestar.

Pues el puerto ttyACM3 (3, 1 ó 0, según el caso) es el puerto que me sale en Tools>Serial Port, y siempre ha funcionado.

Si ejecuto la sentencia que dices no obtengo nada, pero si ejecuto

ls /dev/tty*

obtengo una lista en la que está el ACM0, con el arduino conectado, claro.

/dev/tty    /dev/tty19  /dev/tty3   /dev/tty40  /dev/tty51  /dev/tty62
/dev/tty0   /dev/tty2   /dev/tty30  /dev/tty41  /dev/tty52  /dev/tty63
/dev/tty1   /dev/tty20  /dev/tty31  /dev/tty42  /dev/tty53  /dev/tty7
/dev/tty10  /dev/tty21  /dev/tty32  /dev/tty43  /dev/tty54  /dev/tty8
/dev/tty11  /dev/tty22  /dev/tty33  /dev/tty44  /dev/tty55  /dev/tty9
/dev/tty12  /dev/tty23  /dev/tty34  /dev/tty45  /dev/tty56 [color=red] /dev/ttyACM0[/color]
/dev/tty13  /dev/tty24  /dev/tty35  /dev/tty46  /dev/tty57  /dev/ttyS0
/dev/tty14  /dev/tty25  /dev/tty36  /dev/tty47  /dev/tty58  /dev/ttyS1
/dev/tty15  /dev/tty26  /dev/tty37  /dev/tty48  /dev/tty59  /dev/ttyS2
/dev/tty16  /dev/tty27  /dev/tty38  /dev/tty49  /dev/tty6   /dev/ttyS3
/dev/tty17  /dev/tty28  /dev/tty39  /dev/tty5   /dev/tty60
/dev/tty18  /dev/tty29  /dev/tty4   /dev/tty50  /dev/tty61

Hola a todos:

A mi me está pasando igual que a vosotros, de repente, el puerto ACM0 me ha dejado de funcionar y no logro arrancarlo de nuevo :frowning:

Pues si consigues arreglarlo,agradecería que lo pusieras por aquí, porque yo no lo he conseguido.
La única solución que vi es usar arduino en otro pc que tengo con windows, lo cual me parece la solución mas cobarde y cómoda, pero acabé frustrado, porque me maté a buscar y no conseguí nada.

Mi S.O es Ubuntu 10.04 Lucid. Y el Arduino 1.0. Lo dicho, funcionaba perfectamente, hasta que un día, no.

Hola
Yo uso Debian y me ocurre lo mismo desde que he cargado arduino 1.0 y en mayor medida con las placas uno, por lo que yo he observado me ocurre sobre todo con programas que envían muchos datos por serie desde arduino, que creo que mientras hay comunicación linux mantiene el puerto bloqueado.

La forma que he encontrado para poder reprogramar los arduinos es pulsar el reset del arduino mientras lo compila y soltar cuando empieza a enviar el sketch, no siempre me funciona a la primera pero en un par de intentos suele funcionar.

Estoy casi seguro que sucede cuando no hay suficiente espacio en la memoria del Arduino para alojar el programa, a mi me sucede en ubuntu con programas de mas de 30KB para el UNO