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
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?
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 ?
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
Ach ja, Linux-Meldungen bei mir beim USBAsp an/abstöpseln: Am Hub:
1 | usb 2-3.3: new low speed USB device using ehci_hcd and address 51 |
2 | usb 2-3.3: configuration #1 chosen from 1 choice |
3 | usb 2-3.3: USB disconnect, address 51 |
Direkt:
1 | usb 1-5: new low speed USB device using ohci_hcd and address 16 |
2 | usb 1-5: configuration #1 chosen from 1 choice |
3 | usb 1-5: USB disconnect, address 16 |
lsusb:
1 | lsusb -v -d 16c0: |
2 | |
3 | Bus 001 Device 017: ID 16c0:05dc |
4 | Device Descriptor: |
5 | bLength 18 |
6 | bDescriptorType 1 |
7 | bcdUSB 1.01 |
8 | bDeviceClass 255 Vendor Specific Class |
9 | bDeviceSubClass 0 |
10 | bDeviceProtocol 0 |
11 | bMaxPacketSize0 8 |
12 | idVendor 0x16c0 |
13 | idProduct 0x05dc |
14 | bcdDevice 1.01 |
15 | iManufacturer 1 www.fischl.de |
16 | iProduct 2 USBasp |
17 | iSerial 0 |
18 | bNumConfigurations 1 |
19 | Configuration Descriptor: |
20 | bLength 9 |
21 | bDescriptorType 2 |
22 | wTotalLength 18 |
23 | bNumInterfaces 1 |
24 | bConfigurationValue 1 |
25 | iConfiguration 0 |
26 | bmAttributes 0x80 |
27 | MaxPower 50mA |
28 | Interface Descriptor: |
29 | bLength 9 |
30 | bDescriptorType 4 |
31 | bInterfaceNumber 0 |
32 | bAlternateSetting 0 |
33 | bNumEndpoints 0 |
34 | bInterfaceClass 0 (Defined at Interface level) |
35 | bInterfaceSubClass 0 |
36 | bInterfaceProtocol 0 |
37 | iInterface 0 |
/Ernst
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/projects/avr-programmer/eagle/ 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.
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!
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..
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
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?
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..
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.