Gast
#779333
Hallo, nachdem ich den ICD2-Clone mit der Platine von Andreas Bufler ( Beitrag "PIC ICD 2 selbstgebaut" ) erfolgreich aufgebaut habe (auf diesem Wege nochmals vielen Dank!), stehe ich nun vor einigen kleinen Problemen: - Unter Windows XP mit einer aktuellen MPLAB-Version und !USB 1! laufen alle Selbsttests erfolgreich durch, Programmierung hat ebenfalls funktioniert - Unter Linux 2.6 (openSuse 10.3) auf einem älteren Thinkpad mit ebenfalls USB 1 wird der Clone sauber erkannt und ich kann mit Piklab alle Selbsttests erfolgreich durchführen. Leider momentan nur als root, da beim Connect wohl ein "USB-Reset" durchgeführt wird, und ich noch nicht herausgefunden habe, wie ein normaler Benutzer das tun darf - Ebenfalls unter Linux 2.6 (openSuse 10.3) auf meinem Desktop-PC mit !USB2.0! gehen die Probleme los. Schließe ich den ICD über das USB-Frontpanel an, so wird gar nichts erkannt, sondern im Systemlog erscheint sporadisch die eine Meldung "Bad Cable - Disabling Port". Schließe ich den ICD über eine (sicher besser geschirmte) Mainboard-USB-Buchse bzw. eine extra eingebaute PCI-USB-Karte an, so beginnt der folgende Prozess:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
Manchmal erkennt er das ICD nach vielen solcher Meldungen zwar noch, jedoch beginnt beim durch den Connect ausgelösten "USB-Reset" das gleiche Spiel von vorne, so dass Piklab das Gerät nicht mehr findet. Auch wenn ich den USB2-Treiber deaktiviere, ändert sich hier nichts. Zusammenfassung: Der ICD funktioniert an einer USB1-Schnittstelle sowohl mit Linux als auch Windows. An einer USB2.0-Schnittstelle wird die USB-Konfiguration nur selten erkannt, auch bei deaktiviertem USB2-Treiber. Meine Fragen also: - Bei keinen anderen USB-Geräten ist mir bisher so etwas aufgefallen. Mehrere Kabel habe ich schon getestet. Ist hier möglicherweise irgendwo ein Fehler im physikalischen USB-Aufbau? Meines Wissens nach ist eine USB2-Schnittstelle unabhängig vom Treiber elektrisch etwas anders aufgebaut. Fällt hier jemandem ein Zusammenhang auf? - Trotz einwandfreier Funktion unter USB1 hat bei mir noch nie die als "USB" gekennzeichnete LED aufgeleuchtet. Wann sollte diese denn genau leuchten? Habe allerdings auch gelesen, dass die LED es in einer früheren Firmware an einem anderen Pin hing, vielleicht liegt es auch da dran. - Wozu dient eigentlich der Jumper "Debug/Programm / Programm"? Hat dieser etwas mit der Anmeldung in der IDE zu tun, oder dient er lediglich dazu die ISP-Leitungen beim Debuggen anders zu treiben? Leider etwas lang geworden, ich bitte um Verständnis. Wenn jemand etwas zu den Fragen beitragen könnte, würde ich mich freuen. Und wenn noch etwas unklar ist, bitte nachfragen. Peter