Forum: Mikrocontroller und Digitale Elektronik Atmega flashen nach Ubuntu Upgrade nicht mehr möglich


von Stefan M. (schwanzlurch)


Lesenswert?

Hallo zusammen,

ich habe von Ubuntu 14.04 auf 16.04 geupdatet. Seit diesem Zeitpunkt 
funktioniert der upload von Arduino Sketches mittels einem avrisp mlII 
auf atmega 168 oder 328 nicht mehr. Ich vor längerer Zeit mal eine 
Leiterplatte mit dem Controller und einer LED gemacht. Damit hat das 
flashen des Controllers einwandfrei funktioniert, jetzt geht das nicht 
mehr. Ich erhalte folgende Fehlermeldung:

Binäre Sketchgröße: 1.054 Bytes (von einem Maximum von 14.336 Bytes) 
avrdude: Expected signature for ATmega168 is 1E 94 06 Double check chip, 
or use -F to override this check.

Kann mir jemand weiterhelfen bzw. hat jemand die gleichen Erfahrungen 
gemacht?

Danke.

von Karl M. (Gast)


Lesenswert?

Was steht im Syslog und wie genau sieht deine Hardware aus ?

Bilder und Schaltplan sind hilfreich.

von g457 (Gast)


Lesenswert?

> avrdude: Expected signature for ATmega168 is 1E 94 06 Double check chip,
                                               ^^^^^^^^
> or use -F to override this check.

..und was sagt er das er tatsächlich gefunden hat? 0?

von Schwanzlurch (Gast)


Lesenswert?

Die Arduino IDE spuckt nichts anderes aus. Das hat mich auch gewundert. 
Wie komme ich denn an diese Info

von g457 (Gast)


Lesenswert?

> Wie komme ich denn an diese Info

Laut [0]: File > Preferences > Show verbose output during: > upload.

[0] https://www.arduino.cc/en/Guide/Troubleshooting

von Stefan M. (schwanzlurch)


Lesenswert?

O. K. nachfolgend mal der Output von avrdude:

Binäre Sketchgröße: 2.432 Bytes (von einem Maximum von 14.336 Bytes)
/usr/share/arduino/hardware/tools/avrdude 
-C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega168 
-cstk500v2 -Pusb 
-Uflash:w:/tmp/build5224038355326956256.tmp/arduinoTest.cpp.hex:i

avrdude: Version 6.2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is 
"/usr/share/arduino/hardware/tools/avrdude.conf"
         User configuration file is "/home/stefan/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : stk500v2
avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200204337
avrdude: Sent: . [01]
avrdude: Recv: . [01] . [00] . [0a] A [41] V [56] R [52] I [49] S [53] P 
[50] _ [5f] M [4d] K [4b] 2 [32]
avrdude: stk500v2_getsync(): found AVRISP mkII programmer
         AVR Part                      : ATmega168
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom        65    20     4    0 no        512    4      0 
3600  3600 0xff 0xff
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           flash         65     6   128    0 yes     16384  128    128 
4500  4500 0xff 0xff
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0 
4500  4500 0x00 0x00
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0 
4500  4500 0x00 0x00
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           efuse          0     0     0    0 no          1    0      0 
4500  4500 0x00 0x00
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           lock           0     0     0    0 no          1    0      0 
4500  4500 0x00 0x00
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           calibration    0     0     0    0 no          1    0      0 
0     0 0x00 0x00
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: AVRISP mkII
avrdude: Sent: . [03] . [90]
avrdude: Recv: . [03] . [00] . [01]
avrdude: Sent: . [03] . [91]
avrdude: Recv: . [03] . [00] . [01]
avrdude: Sent: . [03] . [92]
avrdude: Recv: . [03] . [00] . [17]
         Hardware Version: 1
         Firmware Version Master : 1.23
avrdude: Sent: . [03] . [94]
avrdude: Recv: . [03] . [00] 2 [32]
         Vtarget         : 5.0 V
avrdude: Sent: . [03] . [98]
avrdude: Recv: . [03] . [00] . [06]
         SCK period      : 8.00 us

avrdude: Sent: . [10] . [c8] d [64] . [19]   [20] . [00] S [53] . [03] . 
[ac] S [53] . [00] . [00]
avrdude: Recv: . [10] . [00]
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: stk500isp_read_byte(.., signature, 0x0, ...)
avrdude: stk500isp_read_byte(): Sending read memory command: avrdude: 
Sent: . [1b] . [04] 0 [30] . [00] . [00] . [00]
avrdude: Recv: . [1b] . [00] S [53] . [00]
avrdude: stk500isp_read_byte(.., signature, 0x1, ...)
avrdude: stk500isp_read_byte(): Sending read memory command: avrdude: 
Sent: . [1b] . [04] 0 [30] . [00] . [01] . [00]
avrdude: Recv: . [1b] . [00] S [53] . [00]
################avrdude: stk500isp_read_byte(.., signature, 0x2, ...)
avrdude: stk500isp_read_byte(): Sending read memory command: avrdude: 
Sent: . [1b] . [04] 0 [30] . [00] . [02] . [00]
avrdude: Recv: . [1b] . [00] S [53] . [00]
################################## | 100% 0.01s

avrdude: Device signature = 0x535353
avrdude: Expected signature for ATmega168 is 1E 94 06
         Double check chip, or use -F to override this check.
avrdude: Sent: . [11] . [01] . [01]
avrdude: Recv: . [11] . [00]

avrdude done.  Thank you.

von Stefan M. (schwanzlurch)


Angehängte Dateien:

Lesenswert?

Karl M. schrieb:
> Was steht im Syslog und wie genau sieht deine Hardware aus ?
>
> Bilder und Schaltplan sind hilfreich.

Hier ist der Schaltplan

von g457 (Gast)


Lesenswert?

Stimmt die Stromversorgung? Lötbrücken/Kurzschlüsse? Programmiertakt 
runterdrehen (kann Dir leider nicht sagen wie das bei der arduino-IDE 
geht).

von Schwanzlurch (Gast)


Lesenswert?

Ich gehe mal davon aus das sich um kein HW Problem handelt da wie gesagt 
alles mal funktioniert hat. Ich habe neben meinem Werkstatt Rechner auch 
ein altes Laptop benutzt (ebenfalls Update von Ubuntu 14.04 auf 16.04). 
Ergebnis ist gleich. Atmegas habe ich auch schon verschiedene probiert. 
Das einzige was noch sein könnte ist das der avrisp durch nicht 
Benutzung eine Macke hat. Das kann ich mir aber kaum vorstellen.

von Karl M. (Gast)


Lesenswert?

Hallo Schwanzlurch ,

danke für den Schaltplan.
Ich arbeite noch weiter mit der "alten" LTS Ubuntu Version.

Überprüfe mal bitte deine Rechte auf das USB-Device deines ISP 
Programmers.

OK?

von Schwanzlurch (Gast)


Lesenswert?

Ich habe mir das ganze noch nicht durch gelesen aber evtl. ist das eine 
Lösung. Ich muß noch anmerken, das ich die atmegas von Reichelt habe und 
sie den Zusatz PU tragen. Ich habe die Device signature 0x535353 mal in 
google eingegeben. Hier der Link:

http://www.instructables.com/id/Bootload-an-ATmega328/step6/ATmega328-PU-workaround/

von Schwanzlurch (Gast)


Lesenswert?

Karl M. schrieb:
> Hallo Schwanzlurch ,
>
> danke für den Schaltplan.
> Ich arbeite noch weiter mit der "alten" LTS Ubuntu Version.
>
> Überprüfe mal bitte deine Rechte auf das USB-Device deines ISP
> Programmers.
>
> OK?

Ich habe die Arduino IDE als root gestartet. Damit sollte ich ja 
eigentlich alle Rechte haben. Das hat allerdings nichts geändert.

von Stefan F. (Gast)


Lesenswert?

Mach mal LED's mit 1kΩ Vorwiderstand an MISO, MOSI und SCK und 
programmiere mit einer sehr niedrigen Bitrate (-B200). Dann kannst du 
die LED's flackern sehen.

Wenn zwei LED immer zusammen an und aus gehen, hast du einen Kurzschluss 
zwischen diesen beiden Leitungen. Ich fürchte fast, dass das dein 
Problem ist.

von Stefan M. (schwanzlurch)


Lesenswert?

Hallo,

sorry in den letzten Tagen hatte ich wenig Zeit und bin erst heute 
wieder dazu gekommen mich um das Problem zu kümmern. Ich habe das ganze 
nochmal auf einem Steckbrett aufgebaut und ein Hello World Programm (LED 
blinken lassen) auf den Controller geladen. Das funktioniert. Sobald ich 
aber den Bootloader brenne ist der Controller gebrickt.

von Stefan F. (Gast)


Lesenswert?

War das nicht so, dass beim Flashen immer der ganze Speicher gelöscht 
wird?

Wenn du zuerst das Programm drauf packst, und dann den Bootloader, dann 
ist dein Programm wieder weg - denke ich.

Du musst erst den Bootloader über ISP flashen und dann das Programm über 
den Bootloader installieren (nicht über ISP).

von Schwanzlurch (Gast)


Lesenswert?

Hi,

das ist mir schon klar. Nochmal mein Vorgehen:

- Schaltplan wie oben auf Schaltplan dargestellt mehrfach aufgebaut.
- mit avrispmkII ein Programm auf einen atmega 168 P-PU geflasht - > 
funktioniert wie es soll.
- Bootloader geflasht - > Kommunikation bricht bereits beim Beginn 
reproduzierbar getestet mit mehreren Controllern und div. PC ab.
- Auch nach Stromlos machen der Schaltung und des isp kommt keine 
Kommunikation zustande. Der Prozessor ist gebrickt.

Mit Ubuntu 15.04 gab es dieses Problem nicht. Nach dem auf 16.04 Upgrade 
schon.

Wenn ich einen jungfräulichen Controller mit avrdude -c avrisp2 -p m168 
anspreche funktioniert alles wie es soll. Ich denke also, das es ein 
Ubuntu spezifisches Problem gibt. Ich habe auch schon die Arduino IDE 
von der Website runter geladen und das ganze damit probiert. Ergebnis 
ist wie oben beschrieben.

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.