Forum: Mikrocontroller und Digitale Elektronik usbasp stick nicht programmierbar


von LK (Gast)


Lesenswert?

Hi, ich habe mir bei ebay einen von den China-usbasp-Sticks gekauft 
(http://www.ebay.de/itm/Neu-USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMega-51-ATTiny-/261100135914?pt=Bauteile&hash=item3ccac7e5ea).
Da ich AVR-Studio benutze und die Original-Firmware damit nicht 
kompatibel ist, wollte ich die STK500-kompatible Firmware vom USB AVR 
Lab draufziehen. Ich habe also den Programmierjumper am Stick 
geschlossen dann mit meinem Pollin-Board (als 2. Programmer) verbunden, 
indem ich die Pins des 10Pol-Steckers mit den jeweiligen Kontakten auf 
dem IC-Sockel für den ATmega8 (auf dem stick sitzt ein ATmega8L) 
verbunden habe. Per PonyProg konnte ich nach einigen Fehlversuchen mit 
Error -24 den AVR auslesen und habe dann direkt die Firmware 
draufgezogen.
Danach direkt mal an den Computer eingesteckt, der sagt aber, das Gerät 
würde einen Fehler melden. Ich wollte dann erst einmal wieder die 
Original-Firmware draufziehen, aber jetzt lässt sich der AVR nicht mehr 
ansprechen (PonyProg Fehler: Device missing or unknown device -24). Ich 
weiß nicht warum, weil der Programmer auch bei einem nicht 
funktionierenden Programm auf dem AVR diesen doch auslesen können 
müsste, oder?
Ich hatte auch erstmal auf verfust getippt, habe die Fuses aber 
eigentlich nur ausgelesen und nicht geschrieben.

Danke für Hilfe!

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

LK schrieb:
> Danach direkt mal an den Computer eingesteckt, der sagt aber, das Gerät
> würde einen Fehler melden. Ich wollte dann erst einmal wieder die
> Original-Firmware draufziehen, aber jetzt lässt sich der AVR nicht mehr
> ansprechen (PonyProg Fehler: Device missing or unknown device -24). Ich
> weiß nicht warum, weil der Programmer auch bei einem nicht
> funktionierenden Programm auf dem AVR diesen doch auslesen können
> müsste, oder?

Woher hast du die "Original-Firmware"? Hast du einfach die 
draufgespielt, die du vorher vom Stick gelesen hast? Das geht meistens 
schief, weil bei den gekauften USBasp gerne die Lockbits gelöscht sind.

von LK (Gast)


Lesenswert?

ja ich hatte die vorher ausgelesen. War auf jeden Fall nicht nur 0x00 
oder 0xff, daher hatte ich darauf vertraut dass das der echte Code ist. 
Aber ich habe auch nur mit "ignore" versucht den AVR nochmal zu 
beschreiben, weil eben immer der -24 Error kommt.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

LK schrieb:
> ja ich hatte die vorher ausgelesen. War auf jeden Fall nicht nur 0x00
> oder 0xff, daher hatte ich darauf vertraut dass das der echte Code ist.

Das hatte ich befürchtet. ;-)

Ein gelockter AVR kann ohne Weiteres ausgelesen werden, der Inhalt ist 
auch nicht nur 00 oder ff, aber er hat ein sinnloses Muster – zum 
Beispiel 10 20 30, usw., ich glaube, es werden schlicht die vom 
Programmer angelegten Adressinformationen als Datenbytes 
zurückgeliefert.

Hol dir von http://www.fischl.de/usbasp/ die neueste Firmware und spiel 
sie drauf.

von Oliver J. (skriptkiddy)


Angehängte Dateien:

Lesenswert?

Hier hab ich dir mal eine aktuelle USBasp Firmaware gebaut.

PS. Zeig mal das ausgelesene Hexfile.

Gruß Oliver

von USBASP (Gast)


Lesenswert?

Das Problem liegt wohl eher bei PonyProg und dem Pollin Board. Auch eine 
fehlerhaft ausgelesene Firmware muß sich wieder flashen lassen. Ponyprog 
ist es egal, ob Schrott Hexfile oder korrektes Hexfile. Solange dieser 
Error -24 besteht ist wohl keine Verbindung zwischen Programmer und 
Target möglich.

von Oliver J. (skriptkiddy)


Lesenswert?

USBASP schrieb:
> Das Problem liegt wohl eher bei PonyProg und dem Pollin Board. Auch eine
> fehlerhaft ausgelesene Firmware muß sich wieder flashen lassen. Ponyprog
> ist es egal, ob Schrott Hexfile oder korrektes Hexfile. Solange dieser
> Error -24 besteht ist wohl keine Verbindung zwischen Programmer und
> Target möglich.

Versuchs mal mit avrdude:
1
avrdude -p m8 -c ponyser -P \\.\COMx -U flash:w:usbasp_mega8_2011-05-28.hex

Gruß Oliver

von L_K (Gast)


Lesenswert?

Ich schreibe grad vom Handy aus weil unser internet down ist, daher kann 
ich die .hex nicht posten.
Der Programmer und ponyprog funktionieren, ich konte einen attiny2313 
und einen atmega16 erfolgreich lesen.
Das Problem muss also am avr oder der Verbindung zu ihm liegen. Was mich 
dabei verwirrt ist die Tatsache, dass die verbindung mit dem avr 
mindestens 2x geklappt hat.

von Oliver J. (skriptkiddy)


Lesenswert?

L_K schrieb:
> Ich schreibe grad vom Handy aus weil unser internet down ist, daher kann
> ich die .hex nicht posten.
> Der Programmer und ponyprog funktionieren, ich konte einen attiny2313
> und einen atmega16 erfolgreich lesen.
> Das Problem muss also am avr oder der Verbindung zu ihm liegen. Was mich
> dabei verwirrt ist die Tatsache, dass die verbindung mit dem avr
> mindestens 2x geklappt hat.

Hast du den usbasp im Rechner eingesteckt, wenn du ihn flashen willst?

Gruß Oliver

von L_K (Gast)


Lesenswert?

nein.

von USBASP (Gast)


Lesenswert?

Das Pollin Board liefert 5V an Pin 2 des ISP. Daher sollte es nicht 
notwendig sein den USBasp an USB anzuschließen. Natürlich sollte das 
Pollin Evaluationsbord mit Spannung versorgt werden.
Wie ist das Pollin Board am PC angeschlossen? Echte RS232 Schnittstelle 
oder USB - RS232 Adapter? ISP Interface und nicht UART Schnittstelle?
Fragen über Fragen.

von L_K (Gast)


Lesenswert?

das pollin board wird natürlich mit spannung verorgt, der isp ist an die 
echte serielle schnittstelle vom alten laptop angeschlossen und zwar am 
richtigen stecker. Wie gesagt, ich hab ja schon andere avrs getestet.

von Oliver J. (skriptkiddy)


Lesenswert?

USBASP schrieb:
> Daher sollte es nicht
> notwendig sein den USBasp an USB anzuschließen.
Ich rate sogar dringend davon ab in dem Fall 2 verschiedene 5V 
Spannungsquellen parallel zu schließen.

von LK (Gast)


Lesenswert?

Markus W. schrieb:
> Ein gelockter AVR kann ohne Weiteres ausgelesen werden, der Inhalt ist
> auch nicht nur 00 oder ff, aber er hat ein sinnloses Muster – zum
> Beispiel 10 20 30, usw., ich glaube, es werden schlicht die vom
> Programmer angelegten Adressinformationen als Datenbytes
> zurückgeliefert.

Stimmt, ich hab mir die .hex noch mal angeguckt, der hat einfach 
hochgezählt.

von LK (Gast)


Lesenswert?

Oliver J. schrieb:
> Versuchs mal mit avrdude:avrdude -p m8 -c ponyser -P \\.\COMx -U 
flash:w:usbasp_mega8_2011-05-28.hex

Hab ich versucht, gibt Meldung: AVR device not responding
initializatino failed, rc=-1
double check connections and try again, or use -F to override this check
Btw, wo muss ich die .hex hinpacken damit avrdude die findet?

von Oliver J. (skriptkiddy)


Lesenswert?

LK schrieb:
> Btw, wo muss ich die .hex hinpacken damit avrdude die findet?

Man ruft avrdude in der Regel aus dem Ordner auf, in dem die Hex-Datei 
liegt.

> Hab ich versucht, gibt Meldung: AVR device not responding
> initializatino failed, rc=-1
Wie lang ist dein ISP-Kabel?
Hast du alle Drähte des Kabels mal durchgeklingelt?
Hast du einen anderen AVR auf dem Pollin-Board, wenn du den usbasp 
flashen willst?
Kannst du denn zuverlässig einen auf dem Board eingesteckten AVR 
flashen?

Gruß Oliver

von LK (Gast)


Lesenswert?

Oliver J. schrieb:
> Wie lang ist dein ISP-Kabel?
Vom Laptop zum ISP: ca. 30 cm, direkt da angelötet wo normalerweise die 
d-sub-Buchse sitzt, weil ich kein passendes Kabel hatte
vom ISP bzw. dem Sockel des ATmega8 zum 10Pol-Stecker des usbasp: ca. 
50cm
> Hast du alle Drähte des Kabels mal durchgeklingelt?
ja
> Hast du einen anderen AVR auf dem Pollin-Board, wenn du den usbasp
> flashen willst?
nein
> Kannst du denn zuverlässig einen auf dem Board eingesteckten AVR
> flashen?
Wie gesagt, normalerweise funktioniert das Board problemlos.

von Herr M. (herrmueller)


Lesenswert?

Jumper 2 ist verbunden?

von LK (Gast)


Lesenswert?

Herr Mueller schrieb:
> Jumper 2 ist verbunden?

jup.

von Oliver J. (skriptkiddy)


Lesenswert?

LK schrieb:
> Wie gesagt, normalerweise funktioniert das Board problemlos.
Wenn du jetzt einen AVR drauf packst, dann lässt der sich auch 
flashen?

> bzw. dem Sockel des ATmega8 zum 10Pol-Stecker des usbasp: ca.
> 50cm
Mach das Kabel mal kürzer.


Gruß Oliver

von LK (Gast)


Lesenswert?

Oliver J. schrieb:
> LK schrieb:
>> Wie gesagt, normalerweise funktioniert das Board problemlos.
> Wenn du jetzt einen AVR drauf packst, dann lässt der sich auch
> flashen?

Geflasht habe ich keinen, aber lesen funktioniert problemlos.

von LK (Gast)


Lesenswert?

Mit einer abenteuerlichen Konstruktion aus einem abgesägten 
Flachbandstecker, einem Breadboard und vielen fummeligen Drähten habe 
ich jetzt ein kürzeres Kabel gebaut, leider immer noch -24.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Du könntest natürlich auch einen zweiten USBasp kaufen oder ausleihen 
und dann damit den ersten neu flashen. In dem Fall brauchst du nur ein 
1:1-Kabel mit zwei 10-poligen Steckern.

von Oliver J. (skriptkiddy)


Lesenswert?

LK schrieb:
> Mit einer abenteuerlichen Konstruktion aus einem abgesägten
> Flachbandstecker, einem Breadboard und vielen fummeligen Drähten habe
> ich jetzt ein kürzeres Kabel gebaut, leider immer noch -24.

Zu viele Freiheitsgrade, bei der Fehlersuche. Ich würde mir an deiner 
Stelle noch einen usbasp bestellen. Damit kannst du dann den 
zerballerten wiederbeleben.

Gruß Oliver

von AVR ISP MK2 (Gast)


Lesenswert?

jawoll, wer billig kauft, kauft eben 2 mal...

von Herr M. (herrmueller)


Lesenswert?

AVR ISP MK2 schrieb im Beitrag #2854407:
> jawoll, wer billig kauft, kauft eben 2 mal...

Da hast Du recht, ich habe einen davon gekauft und als alles super 
geklappt hatte, habe ich mir noch einen 2. gekauft. Hat sogar unter 3€ 
gekostet.

von LK (Gast)


Lesenswert?

jetzt habe ich den Stick nochmal mit einem vernünftigen Flachbandkabel 
getestet, gleiches Ergebnis.

Oliver J. schrieb:
> Ich würde mir an deiner
> Stelle noch einen usbasp bestellen. Damit kannst du dann den
> zerballerten wiederbeleben.

Das müsste doch eigentlich mit dem seriellen ISP bei vernünftigem Kabel 
genauso gut gehen oder nicht?

von LK (Gast)


Lesenswert?

Ich habe jetzt am gleichen Kabel einen ATtiny 2313 gelesen, geflasht und 
wieder gelöscht. Damit kann die Fehlerursache ja nur noch irgendwo auf 
dem Stick liegen. Ich habe aber keine Idee, wonach ich suchen soll. Gibt 
es da Vorschläge? Das einzige was ich getestet habe ist der 
Spannungsverlauf am Reset-Pin beim Lesen, aber der ist genau gleich wie 
beim ATtiny.

von Lukas K. (l_k)


Lesenswert?

Hallo zusammen, ich möchte das Thema mal wieder ausgraben. Ich habe 
zusammen mit meinem Quadcopter einen neuen usbasp bekommen und mit dem 
jetzt versucht, den alten zu lesen. Dabei bekomme ich das gleiche 
Ergebnis wie vorher über das Pollin-Evalboard, nämlich initialization 
failed.
Für mich bleiben jetzt noch die Möglichkeiten offen, dass der AVR 
entweder verfust oder kaputt ist.
Gibt es irgendeine Möglichkeit, herauszufinden, ob er noch funktioniert 
und wenn ja, welche Fuses (für Takt oder spien / reset pin dsbl) falsch 
gesetzt sind?

MfG

von Mike X (Gast)


Lesenswert?


von Lukas K. (l_k)


Lesenswert?

Mike X schrieb:
> guckstdu hier...
> Beitrag "Probleme mit USBasp µC antwortet nicht"

Das hilft mir leider nicht. In dem Fall war die zu hohe 
Taktgeschwindigkeit beim proggen verantwortlich für die Probleme, aber 
ich habe schon den slow jumper gesetzt, die -B 60 option benutzt und 
außerdem schon erfolgreich AVRs geflasht mit dem usbasp. Auch lässt sich 
der alte usbasp über den Bitbang-Programmieradapter des Pollin Boards 
genauso wenig lesen.

Ach ja: wenn ich den alten usbasp an den Computer anschließe, kommt die 
Meldung: "ein angeschlossenes Gerät funktioniert nicht richtig und wird 
nicht erkannt."

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.