Forum: Mikrocontroller und Digitale Elektronik Windows 10 STM32F103 USB Problem


von Jürgen (Gast)


Lesenswert?

Hallo,

ich wollte ein BluePill Board an Windows 10 anschliessen um die STM USB 
Implementierung zu testen und damit zu spielen.

Leider wird das BluePill Board von Windows 10 nicht richtig erkannt.
Ich habe darauf hin die STM32 Treiber installiert (im Netz hies es die 
Windows 8 Treiber würden funktionieren) Fehlanzeige.

Auch nach mehrmaligem entfernen aller Treiber für das Gerät erhalte ich 
immer die gleiche Fehlermeldung:

Das Gerät USB\VID_0000&PID_0002\7&1cdfb77e&0&2 wurde aufgrund einer 
teilweisen oder mehrdeutigen Übereinstimmung nicht migriert.

ID der letzten Geräteinstanz: USB\VID_03EB&PID_2145\ATML2795041800001057
Klassen-GUID: {36fc9e60-c465-11cf-8056-444553540000}
Speicherortpfad:
Migrationsrang: 0xF000FFFFFFFFF130
Vorhanden: false
Status: 0xC0000719

Ich weiß nicht mehr weiter, kann mir jemand helfen?

Ciao und danke im voraus

von Uff Basse (Gast)


Lesenswert?

Jürgen schrieb:
> Leider wird das BluePill Board von Windows 10 nicht richtig erkannt.

Auf die Schnelle ins Blaue geraten:

----------------------------------------------------------------
Bei Problemen mit USB nicht vergessen R10 auf dem BluePill Board
von 10 KOhm auf 1.5 KOhm zu ändern.
----------------------------------------------------------------

Das ist eine Macke die wahrscheinlich die nächsten hundert Jahre
bestehen bleibt solange BluePills verkauft werden.

Das kann dein Problem sein, muss aber nicht.

von Pieter (Gast)


Lesenswert?

mit dem BluePill/USB-HID und 1,5K bei mir keine Probleme...

von Jürgen (Gast)


Lesenswert?

Hallo,

R10 habe ich getauscht und vermessen von 10k auf 1.5k.

Es ist ein Treiberproblem.

Ciao

von pegel (Gast)


Lesenswert?

Vielleicht hilft
Fix #5: Für USB-Geräte und Festplatten

https://www.borncity.com/blog/2017/03/11/windows-10-fehler-gert-nicht-migriert/

von Thomas Z. (usbman)


Lesenswert?

Jürgen schrieb:
> Es ist ein Treiberproblem.

Ist es nicht VID/PIDl =0x000 zeigt, das deine fw nicht durch die Enum 
kommt. Da ist noch gar kein aTreiber involviert. Eine gängige Ursache 
für dieses Verhalten können auch vertauschte D+ und D- Anschlüsse sein, 
oder weil keine USB FW drauf ist oder diese eben nicht geht.
Genau die gleiche Meldung bekommst du wenn du einen 1k5 Widerstand an D+ 
und VUsb anschließt.

Thomas

von Uff Basse (Gast)


Lesenswert?

Jürgen schrieb:
> Es ist ein Treiberproblem.

Nicht unbedingt.
Wie Vorredner schon schrieb:

Thomas Z. schrieb:
> oder weil keine USB FW drauf ist oder diese eben nicht geht.

Wenn du keine Erfahrung hast mit der USB-Implementierung auf
dem Bluepill umzugehen kannst du trotzdem scheitern.

Aus eigener Erfahrung kann ich berichten dass ein Debuggen
der USB-Implementierung nicht klappt. Wenn du sicher meinst
dass dein Code läuft dann flashe ihn, stecke dein Bluepill
Board ab und wieder an, dann sollte es funktionieren. Aber
eben nicht unbedingt direkt nach dem Flashen, also ohne
Power-Zyklus.

von Uff Basse (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal ein Testcode für das BluePill Board zum Testen
der USB Kommunikation.

von Jürgen (Gast)


Lesenswert?

Hallo,

erst mal allen danke hier.

Ich werde später das hex File aufspielen und schauen was passiert.


Ciao

von pegel (Gast)


Lesenswert?

Uff Basse schrieb:
> Hier mal ein Testcode für das BluePill Board zum Testen
> der USB Kommunikation.

Getestet.

Läuft in Linux und Win10 mit 10k originalem R.
LED Steuerung klappt.

Win10 hat seinen eigenen Treiber für die serielle Schnittstelle benutzt.

von Uff Basse (Gast)


Lesenswert?

pegel schrieb:
> LED Steuerung klappt.

Intelligenztest bestanden! ;-)

von Uff Basse (Gast)


Lesenswert?

pegel schrieb:
> mit 10k originalem R.

Ob es so funktioniert ist vermutlich stark von irgendwelchen
Streuungen abhängig.

Beim einen geht's so, beim anderen eben nicht.

von Benedikt S. (benedikt_s)


Lesenswert?

Benutzt du cubemx wenn ja magst du die sources hochladen?
Ich habe gerade das gleich Problem mit mbed habe ich gestern ein 
Beispiel zusammen bekommen, dass auch mit der serial device class 
funktioniert. Ich kann das hex file gerne hochladen.
Wo bei das von uff base bestimmt das gleiche macht.

Ich würde aber gerne die Hal verwenden da ich die Timer brauche die mbed 
nicht gut beherrscht.

Uff Basse schrieb:
> Aus eigener Erfahrung kann ich berichten dass ein Debuggen
> der USB-Implementierung nicht klappt. Wenn du sicher meinst
> dass dein Code läuft dann flashe ihn, stecke dein Bluepill
> Board ab und wieder an, dann sollte es funktionieren. Aber
> eben nicht unbedingt direkt nach dem Flashen, also ohne
> Power-Zyklus.

Das kann ich so bestätigen.

@ uff was für libs verwendest du?

von Jürgen (Gast)


Lesenswert?

Hallo,

ich habe das hex File von Uff programmiert. LED blinkt und ich sehe im 
Geräte Manager eine STM VCP Com Schnittstelle.

Was komisch ist: Ich habe ein zweites BluePill programmiert - R10 ist 
noch 10k - und es geht auch.

Ich werde jetzt mal mit den von CubeMx Sourcen weiterarbeiten und 
schauen was auf mich zu kommt.


Danke für's erste mal - Jürgen

von Stefan F. (Gast)


Lesenswert?

Jürgen schrieb:
> Was komisch ist: Ich habe ein zweites BluePill programmiert - R10 ist
> noch 10k - und es geht auch.

Mal geht's, mal nicht. Das hängt hauptsächlich davon ab, wie 
fehlertolerant der USB Port vom PC ist.

von Uff Basse (Gast)


Lesenswert?

Jürgen schrieb:
> und ich sehe im
> Geräte Manager eine STM VCP Com Schnittstelle.

Darf man dann annehmen dass du nicht mehr auf dieser
deiner Aussage bestehst?

Jürgen schrieb:
> Es ist ein Treiberproblem.

von Jürgen (Gast)


Lesenswert?

Hallo,

nun ja, es sieht so aus das es nicht der Treiber war. Eher ein Problem 
in der USB-Implementierung.

Die habe ich jedoch mit CubeMx generiert und sie sollte eigentlich 
funktionieren.

Aber vielleicht ist ja wieder einmal das Problem vor der Tastatur 
gewesen.

Danke aber für deine Hilfe.

Ciao

von Uff Basse (Gast)


Angehängte Dateien:

Lesenswert?

Jürgen schrieb:
> Aber vielleicht ist ja wieder einmal das Problem vor der Tastatur
> gewesen.

Für USB muss die Taktgenerierung stimmen. Das wird in CubeMX
nicht streng überprüft. Man kann also durchaus Fehler machen.

CubeMX mag Manchem das Leben erleichtern aber es nimmt einem
nicht generell das Denken und Verstehen ab.

Vergleiche mal deine Konfiguration mit der im Anhang (das
ist die Minimalkonfiguration für USB).

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
Noch kein Account? Hier anmelden.