Errore stk500_recv()

Sono due giorni che cerco su google per l'errore che mi viene dato quando programmo arduino.
L'errore è il seguente:

avrdude: stk500_recv(): programmer is not responding

In windows 7 non ho questo problema e funziona tutto alla perfezione. Utilizzando ubuntu 10.10 mi appare questo errore. Il driver mi viene riconosciuto perfettamente. Che sia troppo nuovo il driver del mio kernel in quanto utilizzandolo in ubuntu 9.10 tutto funzionava perfettamente.

Grazie per qualsiasi info

Ciao,

avrdude: stk500_recv(): programmer is not responding

questo è un errore che appare anche quando hai selezionato la board sbagliata, e cerci di caricarci uno sketch.
Verifica sull'IDE :
Tools -> Board

(es: hai una Duemilanove, e hai selezionato la board Uno)

Escludo il problema della versione del driver. Ho Ubuntu 10.10 su 3 PC diversi ed aggiornati quindi non è quello (per lo meno non degli aggiornamenti "stabili", ovvero "security" e "updates". Se hai "proposed" o "backports" attivi allora la cosa potrebbe essere diversa).
Oppure lo sketch sta impegnando la seriale ed il PC non riesce ad aprire la connessione.

Ho verificato con lsof e la seriale non è impegnata. La scheda è selezionata la 2009 che è quella corretta. il bello è che windows che sto utilizzando gira in virtualbox sotto ubuntu. Da li funziona. Se poi chiudo virtualbox o riavvio la macchina e cerco di programmare arduino da ubuntu direttamente non va.

Ma con dmesg lo vedi che carica e scarica il modulo quando inserisci e disinserisci la 2009. Dovresti vedere qualcosa di simile a:
FTDI USB Serial Device converter now attached to ttyUSB3
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

su linux-2.6.34.7.

Ciao.

Questo è quello che ottengo quando collego l'usb:

[21706.144243] usb 5-2: reset full speed USB device using uhci_hcd and address 5
[21706.304815] ftdi_sio 5-2:1.0: FTDI USB Serial Device converter detected
[21706.304916] usb 5-2: Detected FT232RL
[21706.304923] usb 5-2: Number of endpoints 2
[21706.304928] usb 5-2: Endpoint 1 MaxPacketSize 64
[21706.304934] usb 5-2: Endpoint 2 MaxPacketSize 64
[21706.304939] usb 5-2: Setting MaxPacketSize 64
[21706.306789] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0

non capisco perchè non funzioni

Ho provato dopo aver caricato uno sketch in arduino che legge e scrive sulla seriale da windows (virtualizzato), ho provato ad utilizzarlo sotto linux (host) e non funziona.
Ho provato su un kernel 2.6.32 e funziona su un 2.6.35 e 2.6.37 non funziona.
A questo punto potrebbe secondo voi dipendere dal kernel?

Ora non ho il mio PC sottomano però mi pare che la 10.10 abbia il kernel 2.6.35 di serie. Com'è che tu hai il 2.6.37?
Hai per caso abilitato i repo che dicevo di non usare (backport e proposed)?

prova facendo il reset a mano, magari non viene inviato/riconosciuto il segnale di reset dal PC

Ho provato a fare il reset sia prima che durante l'upload come avevo letto in altri post ma nulla.
Il kernel 2.6.37 si trova in un altro pc.

Ciao. Ho cercato un po' sul forum e mi sono fatto un po' di idee sulle cause.

Leggendo qui:
http://www.arduino.cc/playground/Learning/Linux
vedo che necessiti dei diritti per poter accedere al chip FTDI:
"Make sure you are in the tty group. On some distros you might need to create an udev rule for the FTDI USB Serial Device converter."

Prova con questa cosa, intanto.

allora se è un problema di permessi le varie tty non sono selezionabili, rimane grigia nel menù a tendina.
Si risolve "al volo" usando il programma come root (per esempio sudo ./arduino)

la tecnica del reset è complicatina la prime volte: devi tenere premuto reset, mentre clicchi su upload nell'IDE...
poi, appena compare la scritta tipo "binary skecth size blablabla" molli subito il reset (se prendi il tempo meglio qualche attimo prima) e dovrebbe andare.

un altro test veloce è collegare RX e TX, aprire il serial monitor e provare a scrivere qualcosa: se il messaggio torna indietro allora tutto ok :slight_smile:

Non ho fatto la prova della connessione rx tx. Ma scusate ma se con windows e con linux con kernel <2.6.35 funziona, io credo che sia un problema di kernel. Oggi voglio provare a ricompilare un nuovo kernel con la versione 2.6.32.
Qualcuno di voi utilizza un kernel maggiore della 2.6.32 e driver ftdi?
Cosa ne pensate?

uname -r
2.6.37-ARCH

Però il reset lo faccio a mano perchè non ho una board arduino.

fai le prove tx/rx e poi il reset come ti ho scritto, se prima non individuiamo la fonte del problema è un bel macello.

a me quell'errore compare quando non faccio bene il reset perchè sbaglio i tempi o proprio mi dimentico di farlo

Purtroppo prima di lunedì almeno non riuscirò a fare la prova :frowning:
non ho nessuna seriale qui in casa da poter utilizzare

?? scusa i test li fai con la scheda arduino, tx e rx sono i digital pin 0 e 1, mentre il reset lo fai col tastino sulla board

Scusami mia culpa ma come si fanno i test con rx e tx?

metti un cavetto che unisce rx e tx, poi colleghi la usb, e dall'ide apri il monito e scrivi qualcosa e preimi send.
Se quello che hai scritto compare sotto allora è tutto ok.

Grazie mille dell'info, non sapevo di questa cosa.
Comunque ponticellando rx con tx ed aprendo il monitor dell'ide arduino, scrivendo poi delle frasi mi appare sotto come quindi funziona questa prova.

Ho ricompilato il driver ftdio del kernel funzionante con quello mio direttamente dai sorgenti ma non funziona.
Avete altri consigli da darmi?
grazie