Nach Neuinstallation: Kann Atmega nicht flashen, avrdude,gcc,usbasp

OP #6501516
Lesenswert?

Hallo,
nach einer Neuinstallation von Lubuntu kann ich den Atmega nicht mehr 
flashen.

Der Atmega wird zwar ins Reset gezogen, antwortet aber laut 
Fehlermeldung nicht. Auch als root das selbe Problem.

Verwendet werden:
-Lubuntu 20.4
-Geany
-avrdude
-gcc-avr
-usbasp

Fehlermeldung ist die Übliche:
avrdude: set SCK frequency to 16000 Hz
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.
avrdude done.  Thank you.

Das gesamte System hat vor der Neuinstallation funktioniert, der Atmega 
läuft auch und führt sein Programm aus was noch aus alten Zeiten im 
Flash ist.

Hab mit den Rechten und der udev probiert, keine Änderung.

Was nun, was tun, wie kann ich den Fehler eingrenzen?

Jens
Angehängte Dateien:
Gast #6501531
Lesenswert?

Hi, ich habe seit einem Update irgendwie das Problem, dass das USB 
Interface nicht ordentlich erkannt wird bzw der Name/ das handle 
zugeordnet wird. Mal an- und abstecken und über dmesg beobachten was 
passiert.

Fehlermeldungen waren unterschiedliche, u.a auch die von Dir genannte, 
der Fehler dass USB gar nicht funktioniert war nich offensichtlich.

//hufnala
OP #6501553
Lesenswert?

Hallo,
mit der sudo dmesg -c Methode kann ich erkennen das der Programmer mit 
den richtigen IDs und der richtigen Bezeichnung erkannt wird.

Wie gesagt: Der Programmer reagiert wenn ich flashen möchte, zieht den 
Atmega ins Reset, scheint aber nicht in der Laage zu sein die 
Rückantwort vom Atmega an den PC/avrdude zu senden.

Ist es möglich das ich den USB-Port nicht lesen kann, auch als root 
nicht?

Jens
Gast #6501570
Lesenswert?

Welche Programmer-Hardware verwendest du?

Es hat mich mal einen halben Tag Fehlersuche gekostet, als ich ein 1:1 
10-pol-Kabel am ATATMEL-ICE verwendet hab...

Der ATATMEL-ICE braucht um 180° gedrehte Kabel, nicht 1:1. Darauf muß 
man auch erstmal kommen...
OP #6501571
Lesenswert?

@Andreas:
Nein, leider nützt auch eine niedrige ISP-Geschwinigkeit nichts.
Der Atmega läuft ja auch mit seinem Quarz(14745600Hz).

Ich vermute das Problem eher bei der Kommunikation zwichen Soft- und 
Hardware des PCs.

Wie kann ich die Rechte an den USB-Anschlüssen testen/sehen?

Jens
#6501588
Lesenswert?

Jens N. schrieb:
> Hab mit den Rechten und der udev probiert, keine Änderung.

Jens N. schrieb:
> Wie kann ich die Rechte an den USB-Anschlüssen testen/sehen?

Was genau hast Du probiert. Geht es als root? Gehörst du als normaler 
Nutzer zur Gruppe dialout und evtl. noch zu plugdev?
1
$> lsusb
2
Bus 003 Device 002: ID iijj:00nn Intel Corp. Integrated Rate Matching Hub
3
$> ls -l /dev/bus/usb/003/002
4
crw-rw-r-- 1 root root nnn, mmm Dec  6 11:23 /dev/bus/usb/003/002
OP #6501590
Lesenswert?

@Stafan:
Nein, der Programmer hat ja sauber auf Reset gezogen und der Atmega hat 
treu und brav neu gestartet.

Hab jetzt mal ein anderes Projekt/Steckboard angeschlossen und da 
funktioniert es!Allerdings kommt das Geany-Projekt in diesem Fall auch 
von einem angeschlossenem USB-Stick.

Merkwürdig, merkwürdig...
Gast #6501639
Lesenswert?

Jens N. schrieb:
> Nein, der Programmer hat ja sauber auf Reset gezogen und der Atmega hat
> treu und brav neu gestartet.

Manchmal reicht das nicht. Ein fehlerhaftes Programm kann den ISP Port 
so blockieren, dass er auch nach dem Reset noch hängt. Da werden gleich 
wieder einige Leute widersprechen, aber mir ist genau das passiert und 
mit diesem Tipp konnte ich mindestens einer weiteren Person helfen.
Gast #6501682
Lesenswert?

Stefan ⛄ F. schrieb:

> Manchmal reicht das nicht. Ein fehlerhaftes Programm kann den ISP Port
> so blockieren, dass er auch nach dem Reset noch hängt.

Nein, das ist nicht möglich.

> Da werden gleich
> wieder einige Leute widersprechen, aber mir ist genau das passiert

Nein. Du hast nur nicht erkannt, was dir tatsächlich passiert ist. 
Nämlich: Ein fehlerhaftes Programm, welches das Taktsystem dermaßen 
verkonfiguriert hat, das mit "normalen" Mitteln kein Connect mehr 
möglich ist.

Der ISP-Port ist dabei aber nicht "blockiert", sondern voll 
funktionsfähig, er will halt nur seeeehr langsam angesprochen werden. 
So langsam, dass praktisch kein normaler Programmer mehr in der Lage 
ist, mit dem Teil zu reden.

Du kannst das jederzeit absichtlich herbeiführen, das ist trivial. 
Schnapp dir z.B. einen Tiny25/45/85 und konfiguriere den per Fuses auf 
die interne 128kHz-Taktquelle. In init() schaltest du dann per CLKPR auf 
1/256. Damit beträgt der Systemtakt nur noch 512Hz, der maximale 
ISP-Takt also 128Hz. Das kann kein üblicher ISP-Programmer (meiner 
natürlich schon, selbstgemacht ist halt immer besser, nur dann hat man 
die volle Kontrolle...)

Der Trick bei solcherart Problem ist: Das Target nach dem PowerOn im 
Reset halten, so dass init() nicht zum Zuge kommen kann, erst dann den 
Programmer anwerfen. Im worst case (CLKDIV8-Fuse gesetzt) muss er dann 
auf 128/(8*4)=4kHz runter. Das können alle brauchbaren problemlos, man 
muss es ihnen nur sagen...
Gast #6501704
Lesenswert?

c-hater schrieb:
> Nein, das ist nicht möglich.

War ja klar. Deine Wahrheit ist die einzig wahre. Ich habe meine Antwort 
dazu wieder gelöscht, weil sie dem TO nicht hilft. Ein Versuch, mich dir 
gegenüber zu rechtfertigen, hilft niemandem, nicht einmal mir.

Ich möchte lieber dem TO helfen.

Interessant ist, dass du trotzdem meinen Lösungsvorschlag mit dem 
Dauer-Reset wiederholt hast.
Gast #6501913
Lesenswert?

Stefan ⛄ F. schrieb:

> Interessant ist, dass du trotzdem meinen Lösungsvorschlag mit dem
> Dauer-Reset wiederholt hast.

Nun, es besteht schon ein Unterschied, ob man das Problem tatsächlich 
sachlich korrekt beschreiben kann und deswegen die Lösung benutzt oder 
ob man nur zufällig auf einen Workaround um die eigene dramatische 
Unfähigkeit gestoßen ist...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren