Forum: Mikrocontroller und Digitale Elektronik USBasp auf Linux macht Probleme


von Philipp L. (flip7)


Lesenswert?

Hallo Leute,

mal wieder ein Problem. Keine Angst, ich habe seit gestern abend 
gegoogelt und das Forum hier durchsucht, habe zwar einiges gefunden aber 
nix hat geholfen bzw. ich konnte es nicht umsetzen.

Das Problem ist folgendes: Ich habe mir den offiziellen USBasp-Bausatz 
bestellt, von http://www.fundf.net/usbasp/ und zusammengelötet. Sieht 
auch soweit nicht schlecht aus, die grüne LED geht an, und er wird von 
Ubuntu (und auch von vista..) erkannt. bei lsusb -v schreibt er mir 
"USBasp" und "www.fischl.de" mit raus, also kein Zweifel. (Außerdem 
schreibt mir avrdude auch "could not find USBasp" wenn ichs nicht 
angesteckt habe.)

avrdude schreibt mir mit angestecktem USBasp aber das:
1
avrdude: error: programm enable: target doesn't answer. 1 
2
avrdude: initialization failed, rc=-1
3
         Double check connections and try again, or use -F to override
4
         this check.
Soweit ich gelesen habe, heisst das:
a) die ISR-connection ist "bad" -> hab ich aber 10mal durchgemessen, das 
sollte stimmen. bin mir 99% sicher!
b) Programmer nicht angeschlossen -> doch, ist er
c) Target circuit power off -> nein, ist on (hab ne LED reingeschaltet)
d) JP3 setzen für langsamen SCK -> hat nix gebracht
e) Ja, ich hab die Zenerdioden mit drin

Was ich noch gelesen habe, man soll avrdude mit libusb zusammen linken. 
Ich muss ganz ehrlich sagen, ich weiss nicht wie das geht (system: 
Ubuntu). In meiner Paketverwaltung hab ich beides runtergeladen, und 
dort automatisch installieren lassen. Reicht das nicht aus?

Es geht übrigens unter Vista und Ubuntu genau gleich schlecht, krieg 
exakt die gleiche Fehlermeldung.

Ein Firmware-Flash muss ich eigentlich nicht machen (oder?), weil auf 
der Homepage des "offiziellen USBasp" extra steht: "Vorprogrammierter 
Mikrocontroller" .. wie auch, ohne Programmer? Hab am Laptop keine 
COM/LPT mehr dran.

Ich hoffe wirklich, dass hier noch jemand einen Rat für mich hat.
Vielen Dank schon mal!
Viele Grüße, Philipp

von Max (Gast)


Lesenswert?

Da der Fehler sowohl in Windows wie in Ubuntu auftritt, kanns eigtl. nur 
an deiner Hardware liegen ;) Genauer eigtl. nur von USBASP zu 
Controller. Den SCK Jumper würd ich immer erstma gesteckt lassen bis der 
COntroller antwortet .. weil langsamer takt macht eh nix kaputt ..

Was für ein Controller willst du programmieren?
Hat der denn überhaupt n Takt?

Schließ mal ien Quarz an den zu programmierenden Controller an und guck 
obs dann klappt ;)

von Philipp L. (flip7)


Lesenswert?

Im Moment hängt ein atMega32 dran. Einen Quarzoszillator hab ich auch am 
atmega32 dranhängen, aber ohne FUSE-Bits sollte da doch eh nix 
passieren, oder?
also, er sollte ohne an den Fuses was zu drehen, doch mit internem Takt 
laufen.?

von holger (Gast)


Lesenswert?

>also, er sollte ohne an den Fuses was zu drehen, doch mit internem Takt
>laufen.?

Wenn er ganz neu ist tut er das (mit 1MHz).
ISP Frequenz sollte dann maximal 250kHz sein.
Besser 125kHz, dann bist du auf der sicheren Seite.

Wie sieht deine Schaltung aus?

von Max (Gast)


Lesenswert?

Also bei den Einstellungen in denen dein USBASP sein müsste, müsste der 
bei gesetztem JP3 ohne zu murren mit dem Mega "reden" können.

Wenn du es ohne großen Aufwand kansnt, tausch mal Miso und Mosi .. auch 
wenn du meinst es ist richtig rum. Manchmal prüft ma 100x und macht 
dabei 100x denselben Fehler.

Wenns dann net geht, nimm nen anderen Mega und wenn das auch net hilft 
kapitulier ich :(

von Philipp L. (flip7)


Angehängte Dateien:

Lesenswert?

okay, das mit MISO und MOSI versuch ich gleich mal ..
im Anhang ist meine Schaltung, an PORTC hab noch 3 LEDs zum testen dran, 
die sind nicht im Plan. Sonst sollte der aber stimmen

von holger (Gast)


Lesenswert?

LED ohne Vorwiderstand geht gar nicht.
Dann spendier dem uC noch mal Abblockkondensatoren
zwischen VCC und GND. Wie groß ist der Kondensator
am Reset Pin? Mal weglassen das Teil.

von Philipp L. (flip7)


Lesenswert?

okay.. der MISO/MOSI tausch hat keine Veränderung bewirkt.
Die LEDs haben natürlich Vorwiderstände (ganz heiße Teile, schon in der 
LED integriert..)
den Kondensator (100nF) am Reset hab ich rausgelötet, ändert auch nix, 
zusätzliche Abblockkondensatoren auch nicht.
Hat noch jemand ne Idee? Vielleicht ist der uC ja einfach hin..?

von Max (Gast)


Lesenswert?

hast du n oszi?

Wenn ja guck dir ma die Pegel an den Pins des Mega32 an, ob da auch was 
korrektes ankommt .. ich hatte den wurm auch schon im kabel^^

µC hatte ich doch schon vorgeschlagen mal zu tauschen ;)

von Philipp L. (flip7)


Lesenswert?

nee, hab leider kein Oszi .. das wär schön ;)
Jaa. dem uC tauschen, das is so ne Sache.. hab nur einen auf Reserve, 
und wenn der nachher dann auch hin ist dann hab ich keinen mehr ... das 
wollt ich erst machen wenns echt nix mehr gibt .. oder ist das eher 
blöd, sollte ich den sofort mal tauschen? (keine Angst, hab deinen 
Vorschlag schon gesehn und abgespeichert, Max ;) )

von Max (Gast)


Lesenswert?

N Multimeter tuts auch, da siehste dann zwar nicht ob der n schönen 
Pegel rüberschickt (sauberes Signal), aber du siehst schonma ob da was 
passiert, dadurch dass das Multimeter "rumspinnt" also dir nix 
vernünftiges mehr anzeigt.
Geht glaub aber nur mit nem digitalen, da analoge dafür glaub zu träge 
sind.

Wenn das so einigermaßen den anschein macht, dass da was passiert, dann 
is das schonma gar net so schlecht.
Es sollte aber nur auf Mosi oder Miso und SCK was sein, nicht auf beiden 
"Datenpins", da ja nur vom USBASP Daten geschickt werden, und keine 
antwort kommt.

Ist auf beiden was drauf, gibts nur 2 angenehme möglichkeiten: Pins 
haben irgendwo einen kurzschluss (favorisieren würd ich jetz da die 
selbsteingelöteten Stecker)
Oder aber das Kabel hat ne Macke

Alle anderen Möglichkeiten abgesehn von kaputten Controller fangen an 
rchtig blöd zu werden!

SO gute nacht

von Philipp L. (flip7)


Lesenswert?

okay, erstmal vielen Dank für deinen Einsatz, Max! Klasse, Danke!
Leider hat das auch nix gebracht.
Habs mit meinem superbilligen Feld-Wald-und-Wiesen-Multimeter (analog) 
mal gemessen, bei MOSI und SCK hats mal gezuckt wenn ich den avrdude hab 
laufen lassen, bei anderen Kombinationen nicht. Zwischen MOSI/MISO/SCK 
ist ohne Saft drauf auch kein Durchgang .. allerdings einer nach Masse 
.. aber das könnte durchaus korrekt sein, weiss ich grad nicht ob das 
intern geregelt ist?!

Hört sich wirklich immer mehr nach dem kaputten uC an .. glaub ich 
tausch ihn echt gleich mal .. wobei ich mir nicht vorstellen kann, wie 
das passieren konnte - aber das schließt es ja wohl nicht aus, dass er 
kaputt sein kann .. :s

von Philipp L. (flip7)


Lesenswert?

okay, update: Anderer uController bringt auch keine Veränderung. Also 
entweder der ist jetzt auch kaputt oder beide noch heile, wer weiss.
Ich mach dann wohl mal Feierabend für heute ..

Ich hoffe, dass noch irgendjemand eine Idee hat, woran das noch liegen 
könnte!! Ich hatte mir meinen Einstieg in die uC-Welt etwas anders 
vorgestellt :(

Gute Nacht allerseits...

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Philipp L. schrieb:
> Zwischen MOSI/MISO/SCK
> ist ohne Saft drauf auch kein Durchgang .. allerdings einer nach Masse
> .. aber das könnte durchaus korrekt sein, weiss ich grad nicht ob das
> intern geregelt ist?!

Du solltest das ganze auch mal ohne Prozessor prüfen. Wenn da auch ein 
Durchgang nach Masse vorhanden ist, hast Du den Übeltäter gefunden.

von Gerhard (Gast)


Lesenswert?

Hallo,

wenn gesagt wird, dass Du avrdude zusammen mit der usblib
linken sollst, heisst das, dass Du ihn kompilieren sollst.
Hole Dir den Sourcecode, entpacke ihn (tar xvfz) gehe rein,
mache ein configure mit make und installiere ihn.

So musste ich bei der IDE von arduino vorgehen, um mein
USB-Device ansprechen zu können (debian lenny).

viel Erfolg

von Bernhard M. (boregard)


Lesenswert?

Hi,

auf Linux aber bestimmt nicht, die libusb ist da doch normalerweise 
vorhanden (als dyn. Bibliothek).
Ich habe USBasp unter debian sid am laufen und musste da noch nie was 
kompileiren oder linken.

Gruß,
Boregard

von Werner (Gast)


Lesenswert?

... hab in Deinen Schatplan geguckt.

---> Kannst Du mir mal erleutern, wie 5 Volt an Deinen Reset-Pin kommen. 
Das sehe ich nicht. Wo ist da der PullUp?


Werner

von Philipp L. (flip7)


Lesenswert?

Guten Morgen :)

Also zum Thema PullUp: Sorry, den hatte ich nachträglich noch per Hand 
eingezeichnet, deswegen ist der nicht im Plan. Ist aber drauf aufm 
Brett.

Durchgänge zw. MOSI/MISO/SCK und GND hab ich ohne uC nochmal gemessen, 
sind nicht verbunden, also auch richtig.

Vielleicht sollte ich echt mal versuchen, avrdude mit libusb zu 
kompilieren, vielleicht ists auf meinem System ja einfach anders.

Ich hoff mal, dass es das dann ist, ich weiss mittlerweile echt nicht 
mehr weiter...

von Gerhard (Gast)


Lesenswert?

bevor Du das machst, schau doch mal, ob Dein jetziges avrdude
das gelinkt hat:

Ausgabe bei mir
1
gln@harvey:~/wrk/sketches/ds18s20$ ldd /usr/local/bin/avrdude 
2
  linux-vdso.so.1 =>  (0x00007fff28952000)
3
  libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0x00007f4264d2c000)
4
  libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4264ae7000)
5
  libc.so.6 => /lib/libc.so.6 (0x00007f4264796000)
6
  libdl.so.2 => /lib/libdl.so.2 (0x00007f4264592000)
7
  /lib64/ld-linux-x86-64.so.2 (0x00007f4264f34000)

Da ist sie vorhanden. Wenn nicht -> neubauen.


mfG Gerhard

von Philipp L. (flip7)


Lesenswert?

bei mir kommt bei "ldd" folgendes:
1
linux-gate.so.1 =>  (0xb7f3b000)
2
  libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0xb7f1f000)
3
  libreadline.so.5 => /lib/libreadline.so.5 (0xb7eee000)
4
  libncurses.so.5 => /lib/libncurses.so.5 (0xb7ebd000)
5
  libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d6e000)
6
  libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d6a000)
7
  /lib/ld-linux.so.2 (0xb7f3c000)
das heisst, es passt alles, oder?
avrdude version ist übrigens 5.5, also daran sollte es ja auch nicht 
liegen

... verdammt, was kann ich noch tun?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Philipp L. schrieb:
> bei mir kommt bei "ldd" folgendes:
>   libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0xb7f1f000)
> das heisst, es passt alles, oder?
Ja, die libusb wird gefunden und geladen. Ist also alles korrekt.

> ... verdammt, was kann ich noch tun?
Anschlusskabel/-Belegung korrekt?

von Philipp L. (flip7)


Lesenswert?

>> ... verdammt, was kann ich noch tun?
> Anschlusskabel/-Belegung korrekt?

Ja, 1000-Mal durchgemessen, direkt vom Programmer bis zum 
zu-programmierenden-uC ... bin echt am Ende!

von Max (Gast)


Lesenswert?

Also an deinem avrdude kanns eigtl. nicht hängen, da dir dein usbasp ja 
schon zurückgibt, dass er nicht verbinden kann.

Versuch ma:

avrdude -c usbasp -p m32 -i x -t

und probier für x mal verschiedene Werte aus, würd bei 1 anfangen und 
dann in 10er schritten hochgehen.

Kaputt sind die glaub net, weil die dann öfters als Meldung 
ausschmeißen, dass ihr Device ID(hieß das so?) net stimmt.

Wahrscheinlich kennste so privat etz aus deiner nähe niemand, der den 
usbasp ma bei sich und sienen controllern ausprobieren kann? ^^

von Philipp L. (flip7)


Lesenswert?

okay, newsflash!!!

ich bin in den keller gerannt, wo ich noch nen uralt-PC stehen hatte mit 
LPT-Druckerschnittstelle, und hab mir was passendes zusammengelötet, und 
siehe da, mit PonyProg draufgespielt und es läuft!!! Es blinkt!!! Mein 
erstes Erfolgserlebnis :) :)

Gut, soweit so gut, aber ich will dieses lärmende langsame Computer-Teil 
nicht ständig hier stehen haben, also muss irgendeine USB-Lösung her.
Die Frage ist, wieweit es Sinn macht, den USBasp durchzuprüfen und hin 
und her, oder ob ich mir nicht nen anderen kaufe, sowas in der Art:
http://cgi.ebay.de/USB-ISP-Programmer-fuer-ATMEL-AVR-ATmega-ATTiny_W0QQitemZ400074373625QQcmdZViewItemQQptZBauteile?hash=item5d264a79f9&_trksid=p3286.c0.m14
ist das was oder eher quatsch?! Sollte doch ganz gut sein, wenns auf dem 
STK500-Protokoll läuft..?

Aber erst versuche ich mal, meinem USBasp ne neue Firmware 
draufzuflashen :D mehr kann eh nicht kaputt gehn :D

von Philipp L. (flip7)


Lesenswert?

hm, vielleicht war das keine gute idee mit der neuen firmware :D
Jetzt geht die DruckerSchnittstelle nicht mehr (oops, die hab ich wohl 
geschossen..) und aber der USBasp hat keine Änderung im Verhalten .....

anscheinend muss ich mir echt was fertiges im ebay kaufen :x

aber ich danke allen freundlichen Helfern hier!!

Viele Grüße, Philipp

von Christian U. (z0m3ie)


Lesenswert?

http://www.ullihome.de/index.php/USBAVR-ISP/de

kannst dir ja mal ansehn kann einiges mehr als der ebay programmer und 
sparst noch 4 eur.

von Terfagter (Gast)


Lesenswert?

Sag mir mal bitte, was du für einen Widerstand am Reset hast?
Hatte ein ähnliches Problem.

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.