Forum: Mikrocontroller und Digitale Elektronik avrdude unter Linux


von Chris R. (mrgreen)


Lesenswert?

Hi,
der avrdude mit AVR ISP mkII (das Original von Atmel) ist unter Linux 
furchtbar lahm.
Er schreibt
Launching /usr/bin/avrdude -pm644p -cavrispmkII -Pusb 
-Uflash:w:foo.hex:a
Output:


dann braucht er etwa 20 Sekunden, bis wieder was passiert.

Dann kommt meistens

avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: stk500v2_recv_mk2: error in USB receive

aber danach klappt der Flashvorgang und auch das Verify ist in Ordnung.
Das Gleiche passiert auch bei Fuses, es liegt also nicht am Hex.

Ich hatte auch verschiedenen eDevices dranhängen (644p und 32).

Das Interessante ist, dass er unter Windows mit dem AVRStudio (das doch 
auch nur avrdude verwendet, oder) problemlos funktionierte.

Der Avrdude ist Version 5.10, der Host ist Ubuntu 9.10.

Gruß
Mr.Green

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Klingt wie irgendein Problem mit dem USB-System deines Linux.  Ich
habe das Teil schon sehr oft in der Firma unter Linux benutzt und
noch nie derartig lange Timeouts beobachten können.

von Chris R. (mrgreen)


Lesenswert?

Ja, dafür spricht auch der Output ;)
Ich hab nur keine Idee, wie ich da rankomme.

Manchmal läuft es auch auf Anhieb durch, auch bei einem normal großen 
Hex-File.


Der Programmer hängt aber auch direkt am Rechner, nich an einem Hub oder 
so ein Zeugs.

Systemlog oder Kernellog schweigen sich auch aus.


Edit:
Ich hatte gerade noch mal einen anderen Port und anderes Kabel probiert, 
Problem bleibt bestehen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Chris R. schrieb:
> Manchmal läuft es auch auf Anhieb durch, auch bei einem normal großen
> Hex-File.

Ja, das scheint ja bereits ganz am Anfang zu passieren.

Mit -vvvv kannst du die Kommunikation anzeigen lassen (auf stdout,
ggf. mit "2> dateiname" in Logfile schreiben lassen).

von g457 (Gast)


Lesenswert?

> (auf stdout, ggf. mit "2> dateiname" in Logfile schreiben lassen
       ^                 ^
                         das ist stderr

..und wenn man 'alles' im logfile haben will, dann leitet man stdout und 
stderr zusammen um: '>dateiname 2>&1'

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

g457 schrieb:
>> (auf stdout, ggf. mit "2> dateiname" in Logfile schreiben lassen
>        ^                 ^
>                          das ist stderr

Meinte ich auch. ;-)

> ..und wenn man 'alles' im logfile haben will, dann leitet man stdout und
> stderr zusammen um: '>dateiname 2>&1'

Hier nicht nötig, das kommt eh alles auf stderr raus.  stdout ist
ein möglicher Ausgabekanal und wird daher frei von Statusmeldungen
gehalten.

von g457 (Gast)


Lesenswert?

> Hier nicht nötig, das kommt eh alles auf stderr raus.  stdout ist
> ein möglicher Ausgabekanal und wird daher frei von Statusmeldungen
> gehalten.

Ich halte empirisch dagegen (avrdude 5.10, debian/64), allerdings mit 
einem t2313:
1
$ avrdude -B 2 -c stk500v2 -P /dev/ttyprog -p t2313 -vvvv 2>/dev/null 
2
avrdude: safemode: lfuse reads as E4
3
avrdude: safemode: hfuse reads as DF
4
avrdude: safemode: efuse reads as FF
5
avrdude: safemode: lfuse reads as E4
6
avrdude: safemode: hfuse reads as DF
7
avrdude: safemode: efuse reads as FF

Nix für ungut.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Schreib einen Bugreport bitte.  Diese Ausgabe gehört da nicht hin.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
> Schreib einen Bugreport bitte.

Zu spät. ;-)  Ist repariert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.