Forum: PC-Programmierung VCP/USB im Geräte-Manager von Windows


von Noppes (Gast)


Lesenswert?

Hallo USB-geplagte,

ich bin sicher, dieses Thema wurde hier schon einmal behandelt. Mit der
Suchenfunktion komme ich aber nicht weiter, also:

Ich habe ein Gerät mit FT232BM für USB-Betrieb gebaut. Die Treiber sind
installiert, im Geräte-Manager von MS-W ist
unter 'Anschlüsse(COM und LPT)' eingetragen:
'USB Serial Port (COM 5)'. Alles ist also bestens und funktioniert.

Wenn ich aber die Treiber deinstalliere und wieder neu installiere dann
lautet der neue Eintrag: 'USB Serial Port (COM 6)'.

Meine Fragen: Warum wird die COM-Nr. um eins erhöht? Was ist mit den
bisherigen COM-Nrn?  Lassen sich alte COM-Nr. löschen?

Besten Dank für Eure Hilfe, Noppes

von René König (Gast)


Lesenswert?

> Warum wird die COM-Nr. um eins erhöht?

Dein Gerät hat vermutlich keine Seriennummer.


> Was ist mit den bisherigen COM-Nrn?

Belegt.


> Lassen sich alte COM-Nr. löschen?

Ja, dazu mußt Du in der Regitry aufräumen.

von Thorsten (Gast)


Lesenswert?

Hallo,

also bei mir ist es eigentlich immer so, daß nach einer Deinstallation
der FTDI-Treiber die Vergabe der COM-Nummern wieder mit der ersten
freien Nummer beginnt.

Du kannst allerdings die COM-Nummern auch in der Systemstuereung frei
vergeben bzw. neu zuweisen.

Gruß
Thorsten

von René König (Gast)


Lesenswert?

> also bei mir ist es eigentlich immer so, daß nach einer installation
> der FTDI-Treiber die Vergabe der COM-Nummern wieder mit der ersten
> freien Nummer beginnt.

Ist es bei den FTDIs tatsächlich nicht möglich, einen String-Deskriptor
mit der Seriennummer zu hinterlegen? Mit einer Seriennummer sollte das
Gerät wiedererkannt und erneut auf den vormals zugewiesenen COM-Port
gelegt werden.

von Thilo Wawrzik (Gast)


Lesenswert?

> Ist es bei den FTDIs tatsächlich nicht möglich,
> einen String-Deskriptor mit der Seriennummer zu hinterlegen?

Man kann dem Chip optional noch ein EEprom anhängen,
indem Deskriptoren abgelegt werden können, z.B. auch
eigene VID, PID, Beschreibung, usw.
Zu Programmieren ist das ganze via MProg (von der FTDI-Page).

von René König (Gast)


Lesenswert?

> Man kann dem Chip optional noch ein EEprom anhängen,

Das wird vermutlich eher selten angeschlossen, oder? Da sollte man
vielleicht doch lieber gleich einen Chip verwenden, der nicht so extrem
viel externe Beschaltung benötigt ...

von Noppes (Gast)


Lesenswert?

Vielen Dank erstmal für Eure Antworten.

Die FT232BM habe ich mit EEproms beschaltet. Die VID ist die von FTDI
und die PID habe ich mir von meinem Disti geben lassen.
Die Seriennummer wird automatisch beim programmieren des EEprom
erstellt. Ich werden aber mal die manuelle Erstellung der Seriennummer
ausprobieren.

Ich kann zwar die Nr. des COM-Port im Geräte-Manager auswählen, aber
frühere Belegungnen sind mit 'bereits belegt' gekennzeichnet.
Werde mal den Hinweis mit der Registry versuchen.


@René König: Kannst Du Typ/Hersteller eines 'All in One'-Chips
nennen?


Schönen Gruss    Noppes

von René König (Gast)


Lesenswert?


von Thilo Wawrzik (Gast)


Lesenswert?

Nicht schlecht, allerdings - zumindest für HobbyBastler -
praktisch nicht verwendbar! Wie soll man das Teil denn
löten? Ist doch (fast) unmöglich, oder?
Außerdem ist der Baustein nicht gerade leicht zu
beschaffen. Also für Hobbyzwecke wohl doch besser der
FTDI-Standardbaustein. Mal abgesehen davon, dass das
Problem hier eher bei Windows liegt als beim Chip :-/
Vielleicht lohnt sich f.d. Zukunft aber mal ein Versuch!

@Rene:
Woher beziehst Du den Baustein?
Hast Du denn schon selbst (hand-)verbaut?

von René König (Gast)


Lesenswert?

> Woher beziehst Du den Baustein?

Meine SiLabs-Bausteine habe ich bislang über Mouser oder DigiKey
bezogen. Das war ganz einfach. :)

> Hast Du denn schon selbst (hand-)verbaut?

Ich muß gestehen: Nein. Ich habe bislang noch nie eine USB <-> UART
Bridge verbaut. Ich verwende viel lieber 'echte' USB-Controller, z.B.
den F320 (ebenfalls SiLabs). Das ist dann wirklich eine 'All In One'
Lösung.

von michael (Gast)


Lesenswert?

Hallo !
Verwende ebenfalls FTDI chips (232BM) (OHNE eeprom zur zeit - platine
ist aber vorbereitet und chips liegen schon bereit) für eine kleine
serie von jetzt 13 Stk. Bei 6 stk die ich getestet habe gab es keine
probleme unter win ME, ausser dass heute unerklärlicherweise das
angeschlossene gerät als USB ballpoint-mouse erkannt wurde und win me
abstürzte. nach deinstalltion der treiber ging alles wieder...
ansonsten erhalte ich über die vcp treiber von ftdi com3 oder com4.
nach treiberdeinstallation wieder aufs neue com3/com4 und die
kommunikation (57600 baud) klappt einwandfrei. linke usb buchse immer
com3, rechte immer com4 (bei mir so)

ABER:
-----

jetzt gehts los: unter xp berichtet ein anwender dass er zwar die usb
hardware erkannt bekommt und xp brav den vcp treiber installiert, bei
ihm com5. Aber alle auf die schnittstelle zugreifen wollenden programme
(auch hyperterminal) melden daß die schnittstelle bereits in benuzung
wäre. auch eine selbst geschriebene anwendung "grayt" die
schnittstelle aus, weil nicht verfügbar. über die api kriege ich aber
nicht mehr informationen heraus.

frage: was ist da los ? antiviren-sw ? admin-rechte für xp-zugriff auf
vcp notwendig ?
kennt jemand eine software die auskunft gibt über die anwendungen die
gerade auf eine schnittstelle zugreifen ?

da ich leider kein xp habe und auch nicht wg eines einzelnen problems
mir das zulegen will, stehe ich etwas ratlos da...

michael

von Matthias (Gast)


Lesenswert?

Hi

du kannst ja mal mit dem Process Explorer von www.sysinternals.com auf
die Jagd nach dem Prozess machen der /device/VCPx offen hat.

Matthias

von michael (Gast)


Lesenswert?

hallo matthias ! der processexplorer und filemon sind sehr interessant,
aber es ist das programm portmon bei denen das die aktivitäten aller
port und somit seriellen schnittstellen beobachtet. morgen werde ich
dann vielleicht wissen was da los ist. dank erstmal !

von Rufus T. Firefly (Gast)


Lesenswert?

Der Process Explorer ist aber dennoch das Tool der Wahl, weil mit ihm
herausgefunden werden kann, welcher Prozess ein bestimmtes Handle
geöffnet hat. "Find Handle" aufgerufen, "COM5" eingetippt und
-schwupps- steht da, wer's befummelt.

von michael (Gast)


Lesenswert?

erstes ergebnis mit portmon gibt rätsel auf: also pc gebootet, ftdi vcp
com4 im gerätemanager denn ein gerät mit ftdi-chip steckt und sendet
alle 10 sekunden daten. ok. terminal.exe (übrigens ein ganz praktisches
programm - besser als die krücke ht) erkennt com 4, und kann daten
empfangen. terminal wieder beendet und portmon getsartet. dies zeigt
einen weissen screen, es ist also nix los. auch richtig. terminal
gestartet: portmon zeigt gleich hohe aktivität: alle ports bis com 10
werden versucht zu öffnen (umzu sehen ob sie frei sind) usw... man kann
auch die lesezugriffe erkennen. soweit so gut. eigene software wird auch
als "zugreifer" erkannt und man kann jeden einzelnen api-aufruf
mitverfolgen. bei der datenübertragung mit 57600 baud kommt portmon
aber nicht mehr mit: blue-screen. allerdings läuft der pc auch nur mit
233 MHz...nach eintippen von return sind beide programme nicht mehr
aktiv und OH WUNDER: der gerätemanager zeigt com4 weiter als
funktionsbereite com-schnittstelle, aber alle programme können nicht
darauf zugreifen. portmon zeigt nun wieder einen weissen screen.
hmmmm.....
jetzt bleibt nur noch ein weg: kleines programm schreiben und die
exakte fehlermeldung beim öffnungsversuch mitprotokollieren, vielleicht
lässt sich der grund finden. bis jetzt hatte ich einfach nur auf einen
"valid handle" bei openfile getestet, und wenn er nicht valid war
nahm ich an die schnittstelle steht nicht zur verfügung.

von Rufus T. Firefly (Gast)


Lesenswert?

"OH WUNDER: der gerätemanager zeigt com4 weiter als
funktionsbereite com-schnittstelle, aber alle programme können nicht
darauf zugreifen."

Wie gerade schon gepostet: Sieh' Dir Dein System mal mit dem Process
Explorer (anstelle von portmon) an und such' nach dem Handle. Hilft
übrigens auch bei Dateiproblemen.

von Hubert (Gast)


Lesenswert?

Rufus, wir lieben Dich...

von Tobi (Gast)


Lesenswert?

@rufus
bei mir findet der process explorer über COMx nichts. die seriellen
schnittstellen findet man, wie matthias schon schrieben nur über eine
handle suche nach \device\ und vcp bei virtuellen bzw serial bei
echten

von Rufus T. Firefly (Gast)


Lesenswert?

Und welcher Prozess blockiert bei Deinem Störfall dann das
\device\vcpX/serial-Handle? Das sollte der PE schon anzeigen, sonst
würd' ich ja auch nicht so darauf 'rumreiten ...

von Simon Küppers (Gast)


Lesenswert?

wenn ich mit einem Programm mein COM1 öffne, dann steht in den Details
des Programms:
\Device\Serial0

such mal nach Serial5 oder so?!

von Matthias (Gast)


Lesenswert?

Hi

es ist eben nicht serial5. Die FTDI-Chips hängen in /device/vcpx.

Matthias

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.