USB Fehlersuche

Gast #2689504
Hallo,

ich bin zur Zeit daran, ein USB-Device zu konstruieren. Dabei 
funktioniert die Elektronik einwandfrei. Der PC erkennt auch das Device, 
installiert es,  im Gerätemanager wird es richtig aufgeführt und ich 
kann Daten senden und empfangen. Von der PC Seite her scheint alles zu 
funktionieren, allerdings nach ein paar Tagen kann ich mir keine Pipes 
mehr zu meinen Endpunkten aufbauen. Wenn ich das Gerät neu installieren 
lasse, funktionierts wieder. Wenn ich mir Adminrechte geben lasse, 
scheint es auch keine Probleme zu geben.

Weis wer an was es liegen könnte? Oder wie ich den Fehler suchen bzw. 
eingrenzen kann?

Mit freundlichen Grüßen
Gast
Ich habe nicht mehr angegeben, weil ich den Fehler eigentlich selber 
finden will (brauche einen kleinen Schubs :) ). Betriebssystem ist XP, 
Treiber und Firmware sind von Microchip und die Funktion gibt einfach 
keinen Handle zurück und bleibt deshalb 0. Am PC benutze ich C#.

Es ist definitiv so, dass es mit Adminrechte funktioniert und ohne 
Rechte ab und zu eben nicht.

Mit freundlichen Grüßen
Tobi
Gast
lass dir mal den fehlercode ausgeben kann du kannst, sonst kannst du die 
Fehlerquelle nur schwer einschränken. Von hardware, uC software bis hin 
zur Host-Software kann da alles dran schuld sein. Dir könnte dein 
Oszillator weglaufen, die uC software könnte mit irgend nem suspend 
Handle nich klar kommen und was deine hostsoftware so treiber weis 
ausser dir natürlich keiner, ausser dir.
Persönliche Seite
Naja, da Du beide Seiten gleichzeitig in der Hand hast, kann das Problem 
natürlich auch auf beiden Seiten liegen, also sowohl in der Firmware 
Deines selbstgestrickten USB-Devices als auch in Deinem USB-Treiber auf 
dem PC bzw. in der mit dem USB-Device kommunizierenden Software auf dem 
PC.

Mit einem USB-Monitor könntest Du da zumindest noch ein bisschen 
herumstochern, aber wenn das Problem erst nach so langer Laufzeit 
auftritt, ist es natürlich nicht leicht zu finden.

Kannst Du denn eine der beiden Seiten zu Testzwecken durch etwas 
anderes, standardisiertes, ersetzen? Also z.B. Dein USB-Device dazu 
bringen, daß es eine Standardgeräteklasse implementiert, für deren Test 
Du auf der PC-Seite weder Treiber noch spezialisierte Software 
benötigst?

Wenn Du z.B. ein CDC implementierst, brauchst Du zwar für Windows eine 
*.inf-Datei, aber danach könntest Du mit einem Terminalprogramm auf dem 
PC die von Deinem Device zu Testzwecken gesendeten Daten anzeigen 
lassen, so daß Du die Fehlersuche auf Dein Device beschränken könntest.

Andersherum, wenn Du ein sicher funktionierendes Device hast, könntest 
Du Deine PC-Software zu Testzwecken so anpassen, daß sie mit eben diesem 
Device kommuniziert, und dann die Langzeitstabilität testen.

Das ist halt immer das Problem bei der Fehlersuche; wenn es zu viele 
Schrauben gibt, an denen man gleichzeitig drehen kann, wird es sehr 
schwierig, systematisch vorzugehen, um einzelne Fehlerquellen 
ausschließen zu können.
Was genau heißt eigentlich "nach ein paar Tagen"?
Steht die Verbindung während diesen Tagen immer oder kriegst du 
irgendwann nach dem 40ten mal Verbinden (nach ein paar Tagen) keine 
Pipes mehr?

Und wie Tastkopf sagte: GetLastError wäre von Interesse.

Ist es ein HID device oder?
Gast
> Es ist definitiv so, dass es mit Adminrechte funktioniert und ohne
> Rechte ab und zu eben nicht.

Also ist es ein Treiber oder OS Problem bzw. Standbymodus oder Service 
oder .... Das Problem ist in jedem Fall auf der Host Seite zu suchen.
Gast
Tausch doch mal den Host. Also geh an einen anderen Rechner. Am besten 
einmal an einen Rechner mit dem gleichen OS und dann einem anderen OS 
dann einen anderen Treiber anderer USB Controller usw ...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.