Forum: Compiler & IDEs avrdude braucht lange zum Beenden (Linux)


von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Hallo Leute,

folgendes:
Nach Abschluss des Flashvorgangs braucht avrdude ziemlich lange bis es 
sich beendet hat.
1
$ avrdude -p usb1286 -c atmelice -U flash:w:test.elf:a
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.07s
6
7
avrdude: Device signature = 0x1e9782 (probably usb1287)
8
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
9
         To disable this feature, specify the -D option.
10
avrdude: erasing chip
11
avrdude: reading input file "test.elf"
12
avrdude: input file test.elf auto detected as ELF
13
avrdude: writing flash (330 bytes):
14
15
Writing | ################################################## | 100% 0.02s
16
17
avrdude: 330 bytes of flash written
18
avrdude: verifying flash memory against test.elf:
19
avrdude: load data flash data from input file test.elf:
20
avrdude: input file test.elf auto detected as ELF
21
avrdude: input file test.elf contains 330 bytes
22
avrdude: reading on-chip flash data:
23
24
Reading | ################################################## | 100% 0.01s
25
26
avrdude: verifying ...
27
avrdude: 330 bytes of flash verified
28
29
avrdude: safemode: Fuses OK (E:F3, H:17, L:DF)
30
31
avrdude done.  Thank you.
Nach der Ausgabe von
1
avrdude: safemode: Fuses OK (E:F3, H:17, L:DF)
dauert es ca. 45 Sekunden bis
1
avrdude done.  Thank you.
erscheint. Hat jemand eine Idee woran das liegen bzw. wie man das 
Problem eingrenzen koennte?

OS: Archlinux 4.15.6-1
avrdude: 6.3 (aus dem community repo)
Programmer: Atmel-ICE (Firmware Version: 1.27)


Gruesse

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Wenn ich avrdude mit -vvv aufrufe sieht der schluss so aus:
1
[AVR] OK
2
avrdude: Sending sign-off command: 
3
avrdude: jtag3_edbg_send(): sending 4 bytes
4
avrdude: jtag3_recv(): Got message seqno 44 (command_sequence == 44)
5
6
[general] OK
7
8
avrdude: jtag3_edbg_signoff()
9
10
avrdude done.  Thank you.
avrdude haengt offenbar die ganze Zeit in jtag3_edbg_signoff().

Gruesse

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


Lesenswert?

Wenn du noch ein -v mehr nimmst, bekommst du auch noch die komplette
Kommunikation geloggt.

Möglicherweise hilft es aber mehr, mit Wireshark die USB-Kommunikation
mal zu tracen und zu schauen, ob es vielleicht wirklich das ICE ist,
welches so lange zum Antworten benötigt.

von Kaj G. (Firma: RUB) (bloody)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,

danke fuer deine Antwort.
Ich habe jetzt mal die USB-Kommunikation mitgeschnitten, und auch 
avrdude mit -vvvv gestartet. Ich haenge mal beide Dateien an. Vielleicht 
kannst du (oder auch jemand anderes) ja daran erkennen, wo da was faul 
ist.

Zu dem Mitschnitt von Wireshark:
- Pakete [1 .. 8] sind einfach nur oeffnen der Schnittstelle durch 
Wireshark.

- Pakete [9 .. 57] sind das Anstecken des Atmel-ICE an den USB-Port

- restlichen Pakete sind die Kommmunikation von avrdude <-> Atmel-ICE

Ich bin jetzt nicht so mit den USB-Protokoll vertraut. Ich finde es aber 
auffaellig, dass es immer wieder Luecken von ca. 5 Sekunden gibt, und 
zwar immer bei:
GET DESCRIPTOR Request DEVICE -> 5 Sekunden ruhe -> GET DESCRIPTOR 
Response

- Paket [452 .. 523] (von Sekunde 16 bis Sekunde 59) - In diesem 
Zeitraum gibt es nur noch die Nachrichten: SET FEATURE, GET STATUS, 
CLEAR FEATURE, GET DESCRIPTOR.

Und ganz zum Ende noch ein SET CONFIGURATION.

Es ist also nicht so, das da gar nichts passiert. Aber die eigentlichen 
Nutzdaten sind schon lange uebertragen.

Gruesse

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Ich hab hier noch den output von dmesg. Vielleicht hilft es ja.
1
$ dmesg                                                                       
2
[ 1943.410048] usb 3-2: reset high-speed USB device number 3 using xhci_hcd                  
3
[ 1948.797069] usb 3-2: device descriptor read/64, error -110                                
4
[ 1964.669271] usb 3-2: device descriptor read/64, error -110                                
5
[ 1964.885344] usb 3-2: reset high-speed USB device number 3 using xhci_hcd                  
6
[ 1970.301420] usb 3-2: device descriptor read/64, error -110                                
7
[ 1986.173679] usb 3-2: device descriptor read/64, error -110                                
8
[ 1986.389809] usb 3-2: reset high-speed USB device number 3 using xhci_hcd

Gruesse

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


Lesenswert?

Klingt mehr nach einem Hardwareproblem.

von Markus F. (mfro)


Lesenswert?

Fehler -110 sieht stark nach Power-Problem aus.

Steck' mal an einen anderen Port oder einen Self-Powered Hub.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Markus F. schrieb:
> Fehler -110 sieht stark nach Power-Problem aus.
>
> Steck' mal an einen anderen Port
Lol, danke. Genau das war es. Ich Vollhorst... -.-
Ich hab vorne am PC 2 USB 3.0 Buchsen. Da hing der Debugger dran. 
Natuerlich hab ich die 2 Ports ausprobiert, hab aber natuerlich nicht 
dran gedacht, das die auf dem Mainboard am selben Anschluss sitzen. An 
einem anderen Port (USB 2) funtioniert es problemlos.

Sorry fuers Pferde aufscheuchen.

Gruesse

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.