[PIC] USB, Error 997

OP #2262116
Lesenswert?

[PIC] USB, Error 997

Hi,
ich bin geade an Spruts usb4all-Projekt. Der 18F4550 (anstatt 18F2550) 
geht, soweit ich es ersehen kann, einwandfrei. Auch die Kommunikation 
mit dem PIC per USB funzt - aber nur ein einziges mal. Resete ich ihn, 
geht's wieder - einmalig. Hab hier (ein spanisches) Win7, nach einigem 
googlen fand ich heraus, daß das wohl im Zusammenhang mit dem 
Datenverkehr stehen muß und nicht mit der eigentlichen Anwendung. 
Jedenfalls liefert spruts Brenner als auch PICDEM USB in manchen 
Konstellationen den gleichen Fehler. Im MCHP Forum fand ich:
USB WRITE FAILED
FAILED WITH ERROR 997:  OVERLAPPED I/O OPERATION IS IN PROGRESS
Was wollen uns diese Worte sagen?

Ich wollte das WIN7 in den XP-Mode zurücksetzen, offensichtlich geht das 
mit der Home Premium Version aber nicht. Premium. :-(

Irgendeine Idee, was man machen könnte?
Gast #2262370
Lesenswert?

> Kannst nachher in der Hotelbar einen auf mein Wohl trinken.

Geh lieber auf der Rambla in eine Einheimischen-Bar, die Spanier haben 
ganz wunderbaren Weinbrand. Im richtigen Lokal gar nicht teuer (seit 
gestern aus dem Urlaub zurück, habe dort in Nordost-Spanien einen 
sauguten Veterano für 1.80 bekommen - gut eingeschenkt)
#2262400
Lesenswert?

Joachim ... schrieb:
> Dumm ist, das so was überhaupt notwendig ist. Mein Arduino und all die
> anderen USB-Geräte gehen einwandfrei...

Dafür kannst du auch kein richtiges C geschweige denn kannst du Probleme 
lösen, wenn irgendwas nicht in den Libraries nicht funktioniert oder 
nicht vorhanden ist. Von der Zuverlässigkeit des Codes mal ganz zu 
schweigen.

Ich stelle nicht in Frage, dass das das Arbeit mit Arduino (ich sage 
bewusst nicht Programmieren) ineffektiv ist oder nicht nicht zur 
Ziellösung führt. Arduino ist Consumerlevel, Hochsprachen wie C, ADA, 
... sind aber Developmentlevel. Im Hobbybereich ist das ja auch in 
Ordnung. Wenn mir allerdings jemand ein Produkt mit Arduino anbietet, 
dann würde ich da sehr vorsichtig sein. Schon alleine, dass AVR 
verwendet wird wirkt leicht amateurhaft. Wenn dann allerdings auch noch 
Arduino verwendet wird hat das für mich einen Standart wie Legotechnik.
#2273497
Lesenswert?

Hallo,
also ich hab ein gebasteltes HID Device, das auch funktioniert.
doch wenn ich mit HIDMakerFS mit dem Tool ANy HID den Report lesen will
kommt:

====================================================
====================================================
Reading report: Input Report ID 0
====================================================
====================================================

 CancelIO()
  Result Code = 997; Message = Windows error message: Überlappender 
E/A-Vorgang wird verarbeitet.

 *** Peripheral has failed to respond within HIDagent.TimeOut = 3000 
msec. ***
 *** Peripheral has failed to respond within HIDagent.TimeOut = 3000 
msec. ***
     (The data will be meaningless.)

   + + + ERROR in reading report ! + + +
Windows error message: Überlappender E/A-Vorgang wird verarbeitet.

 *** Peripheral has failed to respond within HIDagent.TimeOut = 3000 
msec. ***

Auch wenn ich mein Delphi Prg das HIDMAKER erzeugt verwenden will, kommt 
die gleiche Fehlermeldung. Beide Prg greifen auf HidAgent OCX zurück.
Was kann ich da machen?
Ich hab auch schon die Energieverwaltung der HUBs abgeschaltet (nicht 
angehackt, so wie oben beschrieben.) Aber ohne Erfolg.

Mit USB Trace hab ich mir das Protokoll angesehen, da sieht man schon
den INTERRUPT Trasnfer von 11 BYTE Data.
Kann mir da jemand helfen?
Danke
OP #2273611
Lesenswert?

Hast du von deinem "HidAgent OCX" eine Schnittstellenbeschreibung? 
Vielleicht kann man da etwas umschalten?
Spruts Software ist ebenfalls mit Delphi geschrieben. Aktuell verwende 
ich aber das C# Framework von Simon Inns. Ich habe den Verdacht, daß der 
Softwarekern für die Kommunikation mit der USB-Schnittstelle (oder der 
Microchip dll?) ,naja, defaultmäßig irgendetwas Grundsätzliches "nicht 
richtig" macht. Mit dem Framework habe ich in diesem Zusammenhang bei 
meinen Nachforschungen in noch keinem Forum den Fehler gefunden.

Hast du Win7?
#2273680
Lesenswert?

hallo,
diese Fehlermeldung hatte ich bei meiner USB-Schaltung auch gehabt.
Bei mir hat es geholfen die Spannungen zu stabilisieren.
Als ich den VUSB Kondensator auf 330nF erhöht und über die Versorgung 
zusätzlich zum 100nF noch einen 10µF Kondensator gehängt hatte läuft das 
USB-Device seit Monaten problemlos.
#2273762
Lesenswert?

Joachim ... schrieb:
> Hast du von deinem "HidAgent OCX" eine Schnittstellenbeschreibung?
Leider nein. es wird ind HIDMakerFS verwendet.


> Vielleicht kann man da etwas umschalten?
> Spruts Software ist ebenfalls mit Delphi geschrieben. Aktuell verwende

Wo bekomm ich die Spruts SW? Verwendet der interrupt pipes?
Kann ich mir da was abschauen?


> ich aber das C# Framework von Simon Inns. Ich habe den Verdacht, daß der
> Softwarekern für die Kommunikation mit der USB-Schnittstelle (oder der
> Microchip dll?) ,naja, defaultmäßig irgendetwas Grundsätzliches "nicht
> richtig" macht. Mit dem Framework habe ich in diesem Zusammenhang bei
> meinen Nachforschungen in noch keinem Forum den Fehler gefunden.
>
> Hast du Win7?

ja hab WIn7.
#2273770
Lesenswert?

Tobi D. schrieb:
> hallo,
> diese Fehlermeldung hatte ich bei meiner USB-Schaltung auch gehabt.
> Bei mir hat es geholfen die Spannungen zu stabilisieren.
> Als ich den VUSB Kondensator auf 330nF erhöht und über die Versorgung
> zusätzlich zum 100nF noch einen 10µF Kondensator gehängt hatte läuft das
> USB-Device seit Monaten problemlos.

Ich glaube es liegt  an der HidAgent ocx. Denn
wenn man mit USBTrace (Datanalyser) sieht man die Interrupt Pipe daten 
sehr schoen. Wieso kann der Analyser die Daten lesen, und HIDMAker 
AnyHID nicht?
OP #2273913
Lesenswert?

Fals dieses Post hier noch nicht zu spät kommt und du schon alles 
runtergeladen hast:

>Wo bekomm ich die Spruts SW?
Ich dachte der ist bekannt wie n bunter Hund... scheinbar doch nicht?
sprut.de

>Verwendet der interrupt pipes?
Die Software usb4all schreibt bei Fehlern immer irgendetwas von Pipes, 
glaub' also schon.

>Kann ich mir da was abschauen?
Source ist dabei.
Gast #2274291
Lesenswert?

DANKE joachim. AUch bei XP kommt der 997er.
Ich werde mal die SW von strup.de laden. Ich hoffe man kann da 
intr-pipes empfangen. In dem Tool von Robert Marquardt geht der controll 
report auf aufforderung sehr schön, doch leider bringt der vielleicht 
keine intr.-pipes zum Aufzeichnen.
Walter
Gast #2274500
Lesenswert?

@ Joachim:
ALso eine frage zum sprut.de:

Da ist drin:

  out_pipe    : PCHAR8 = '\MCHP_EP1';
  in_pipe     : PCHAR8 = '\MCHP_EP1';

Ist das uP eigen? Oder woher weiss ich wie mein pipe heisst?
Compilieren geht aber bekomme einen error dass no pipes da sind.

INVALID_HANDLE_VALUE

danke für den tipp

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren