www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USBasp laeuft nicht richtig


Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe den USBasp von Fischl nachgebaut und geflash. Nach dem 
Anschluss an den USB Port kommt nur:

Unter Linux:
usb-uhci.c: interrupt, status 2, frame# 1872
usb.c: USB device not accepting new address=19 (error=-110)
hub.c: USB new device connect on bus1/1, assigned device number 20
usb.c: USB device not accepting new address=20 (error=-110)

Unter Mac (ueber ein Hub):
USBF:   13306.190       [0x2c47a00] The IOUSBFamily is having trouble 
enumerating a USB device that has been plugged in.  It will keep 
retrying.  (Port 3 of hub @ location: 0x1b100000)
USBF:   13317. 37       [0x2c47a00] The IOUSBFamily was not able to 
enumerate a device.

Windows: keine Reaktion

Hat jemand das Problem schonmal gehabt? Oder gibt es ne Moeglichkeit 
direkt die USB Kommunikation anzuzeigen?

Danke fuer Tips!

Flo

NACHTRAG:
Ausgabe von lsusb:
# lsusb
Bus 001 Device 001: ID 0000:0000

Autor: Christian U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fuses richtig gesetzt ?
USB Schaltungsteil richtig aufgebaut ?

Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fuses ausgelesen: ok.
USB Schaltungsteil: sind ja nur 2 Kabel und 2 Widerstaende, also auch 
ok..

Hat jemand Ahnung, wie sich Linux beim Anschliessen verhaelt? D.h. ist 
bei den obigen Fehlermeldungen ueberhaupt davon auszugehen, dass da 
irgendwas passiert ist, oder kann es sein, dass die Fehlermeldung auch 
kommen wuerde, wenn ich nur 2 Widerstaende an die Datenleitungen klemmen 
wuerde?

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Meldung rührt wahrscheinlich wirklich von dem Widerstand von D 
nach Ub her.
Wenn dein Controller läuft und die Fuses richtig gesetzt sind und in 
deiner USB Beschaltung alles richtig ist wie du sagst, müsste es 
funktionieren.
Du hast WIRKLICH nen 12 Mhz Quarz dran und dein Controller läuft auch 
definitiv nicht mit dem internen RC-Oszillator ?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian Sc wrote:

> Hat jemand Ahnung, wie sich Linux beim Anschliessen verhaelt? D.h. ist
> bei den obigen Fehlermeldungen ueberhaupt davon auszugehen, dass da
> irgendwas passiert ist, oder kann es sein, dass die Fehlermeldung auch
> kommen wuerde, wenn ich nur 2 Widerstaende an die Datenleitungen klemmen
> wuerde?

Linux (Wie jeder andere USB-Stack wohl auch) Erkennt an dem 1.5kOhm 
Pullup widerstand, dass ein neues Device am Bus ist.
Wählt dann eine Device Nummer, in deinem Fall 20, 21, ... und versucht 
dem Device diese Adresse mitzuteilen. Das schlägt bei dir fehl.

Entweder stimmen Fuses/Takt/Firmware nicht, oder dein Hub hat Probleme 
mit den 5V Pegeln, die der USBasp auf den D+/D- Leitungen verwendet.
Mal mit nem anderen HUB ausprobieren, oder zwei 3V6 Z-Dioden von D+ und 
D- nach Masse einlöten.

/Ernst

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, Linux-Meldungen bei mir beim USBAsp an/abstöpseln:

Am Hub:
usb 2-3.3: new low speed USB device using ehci_hcd and address 51
usb 2-3.3: configuration #1 chosen from 1 choice
usb 2-3.3: USB disconnect, address 51

Direkt:
usb 1-5: new low speed USB device using ohci_hcd and address 16
usb 1-5: configuration #1 chosen from 1 choice
usb 1-5: USB disconnect, address 16

lsusb:
lsusb -v -d 16c0:

Bus 001 Device 017: ID 16c0:05dc
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.01
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x16c0
  idProduct          0x05dc
  bcdDevice            1.01
  iManufacturer           1 www.fischl.de
  iProduct                2 USBasp
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           18
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower               50mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         0 (Defined at Interface level)
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0

/Ernst

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der USBasp Schaltung sind doch standardmäßig die Z-Dioden drin.

Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke fuer die Tips.

Fuse: 100% korrekt.. hab sie ausgelesen

Takt: hab es mit nem LED blinken getestet sicherheitshalber.. :) kommt 
das richtige raus..

Firmware: einfach die mitgelieferte .hex hochgelasen, also auch korrekt.


ABER: ich hab das hier gebaut:
http://svn.berlios.de/viewcvs/hw-projects/trunk/pr...

Dort sind keine Dioden drin.. Da ich mich mit Dioden nicht wirklich 
auskenne nun die Frage, ob ich einfach 1N4001 Dioden nehmen kann?

Conrad und Reichelt finden beim Suchbegriff 3V6 nix (oder 600 
Ergebnisse).

Thx.

Autor: Sven Bayer (mainframeosx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe das Teil auch nachgebaut, und es läuft unter MacOS X ohne Probleme. 
Hast du auch die LibUSB Compiliert und Installiert? Die Z-Dioden habe 
ich bei mir nicht drinnen!

Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
libusb ist da.. wie gesagt: das Problem ist, dass es nicht antwortet.. 
Ich habe nochmal alles durchgemessen: An den richtigen Pins am 
Controller kommen auch Signale vom USBkabel an..  Kann es u.U. daran 
liegen, dass ich 47Ohm statt 68Ohm verwendet habe? Kann ich mir 
eigendlich nicht vorstellen..

Einzige moeglichkeit ist noch, dass ich tatsaechlich die Dioden 
brauche.. aber anscheidend geht es ja angeblich auch ohne...

Falls noch jemand ne Idee hat, her damit..

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian Sc wrote:

> Einzige moeglichkeit ist noch, dass ich tatsaechlich die Dioden
> brauche.. aber anscheidend geht es ja angeblich auch ohne...

Die brauchts nur an manchen USB-Ports (Sony Vaio Notebooks sollen z.B. 
solche haben) Und von HUBs hab ich noch garnicht gehört, dass die da 
probleme machen.

1N400x gehen nicht als dioden, das müssen schon Zehner-Dioden sein. Bei 
Reichelt z.B. "ZF 3.6"

Als Alternative könnten natürlich 6 Normale dioden in Reihe gehen.. 
(6*0.6V) Die aber dann natürlich andersherum gepolt als die Z-Dioden.

/Ernst

Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab die Schaltung jetzt komplett neu auf dem Steckbrett aufgebaut und 
der selbe Fehler tritt auf..  :(

Aenderungen am Original (meiner Meinung unwichtig):
- statt 68Ohm 47Ohm verwendet
- statt 4,7microFarad 10microFarad + 0,1 microFarad an der 
Stromversorgung
- ISP weg gelassen (Controller auf DevBoard beschrieben)

Controller beschrieben mit Uisp. Ausgabe der Fusebits beim lesen:
# uisp -dlpt=0x378 -dprog=dapa  -v=0 -dpart=atmega8 --rd_fuses

Fuse Low Byte      = 0xef
Fuse High Byte     = 0xc9
Fuse Extended Byte = 0xff
Calibration Byte   = 0xb0  --  Read Only
Lock Bits          = 0xff
    BLB12 -> 1
    BLB11 -> 1
    BLB02 -> 1
    BLB01 -> 1
      LB2 -> 1
      LB1 -> 1


Irgendwelche Vorschlaege?

Autor: Florian Sc (rambo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neuer Status: mit einem mal geht die Version auf dem Steckbrett.. 
jedenfalls wird USBasp im Systemprofiler unter Mac bei den USB Geraeten 
angezeigt.. Ich habe nix geaendert...

Wenn ich was raus krieg sag ich bescheid..

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Z-Dioden sind wichtig !Mein ISP (Der USB Part ist baugleich mit dem 
USBasp) läuft an ca 50% der Rechner nicht wenn keine Z-Dioden drin sind. 
Die Hostcontroller reagiern da recht empfindlich...

Autor: Dominik Mimler (dominik2000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, erstmal,

Hab auch ein Problem mit dem USBASP von www.fischl.de Ich habe den 
Programmierer aufgebaut laut dem holländischen Link, alles kein Problem, 
Platine ätzen lassen. Vom Aufbau her hats keine Probleme gegeben.

Dann Anschluss an USB rote LED leuchtet, Windows erkennt das Gerät nur 
als "unbekanntes Gerät" -> Internetrecherche bei google Zenerdioden 
fehlen. Nächsten Tag hab ich die Z-Dioden besorgt eingebaut -> Rote LED 
leuchtet immer noch, aber das Gerät wird schonmal als USBASP erkannt von 
Windows.

Ich kann mit AVRDude nicht auf den Programmer zugreifen.

In der EIngabeaufforderung:
found 7 busses
no USBASP device detected

Ich glaube ja, dass die grüne LED leuchten sollte, wenn wirklich alles 
funktioniert. Die Fusebits sind meiner Meinung nach alle richtig 
gesetzt. Das Problem ist ich kann sie nicht mit Ponyprog o.ä. proggen, 
weil ich eine Parallelportkarte habe Ponyprog die Adresse meines LPT 
Anschlusses nicht kennt (BC00). Ich kann nur mit BASCOM proggen und da 
weiß ich nicht genau wie die Fuses heißen. Ich hab aber den Hex Code der 
Fuses überprüft und die sind, glaube ich, richtig.

Was kann dort noch falsch sein?

mfg Dominik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.