Windows: Serieller Port wird von Anwendung blockiert. Von welcher?

Persönliche Seite #3626071
Lesenswert?

Dann nicht nach "COMx" suchen, sondern nach "serial". Das sollte mehr 
bringen. Serielle Schnittstellen können unter unterschiedlichen Namen 
angesprochen werden, das hat mit der Historie der DOS- und 
Windows-Entwicklung zu tun. "COMx" ist ein Relikt aus der DOS-Zeit.

Ansonsten: Sieh Dir die Handles an, die Deine nachweislich eine 
Schnittstelle nutzende Anwendung verwendet -- da sollte die 
Schnittstelle in irgendeiner Weise auftauchen.
Gast #3626087
Lesenswert?

Ich habe nach "com" gesucht, nach "serial" und nach "device". Leider 
nichts gefunden. Wenn ich mir alle Handles meines Programms, das mit 
einem virtuellen Port korrekt kommuniziert, anzeigen lasse, ist da kein 
Eintrag, der auf einen seriellen Port hindeutet.

Was ich eben auch probiert habe: Ich habe Portmon runtergeladen. Leider 
zeigt mir das Programm gar keine Ports an?! Beide Programme können 
wahrscheinlich nicht mit virtuellen Ports umgehen? Die Frage ist nun, 
wie geht es?
Gast #3626164
Lesenswert?

Hallo,
ich hatte ein ähnliches Problem mit einem PCI-Exprees/seriell Wandler.

Mit einem Terminal Programm habe ich die Schnittstelle geöffnet und 
direkt nach dem öffnen wurden die betreffenden Zeilen in dem Programm 
ProcessExplorer von Sysinternals angezeigt. Bevor die Schnittstelle 
geöffnet wird muss im ProcessExplorer das Terminal Programm ausgewählt 
werden sonst bekommt man die Änderung nicht mit.

Bei mir hieß der COM4 dann \Device\OXPCIESERMF0.

Mann muss jetz nur nach "OXPCIESERMF0" suchen.

Wenn sich eine serielle Schnittstelle nicht öffnen lässt, unter 
Geräte-Manager den COM-Port deaktivieren und wieder aktivieren.

Gruß
Wolfgang
Gast #3626475
Lesenswert?

Wie gesagt, der Process Explorer zeigt nichts mit device... oder 
ähnliches an. Getestet habe ich das gerade mit einem PuTTY-Prozess, der 
gerade korrekt auf einen virtuellen seriellen Port verbunden war.
Gast #3626840
Lesenswert?

Nein, das Gerät ist rein passiv, also es antwortet immer nur, sendet 
aber nichts einfach so.

Wenn jemand ein HC05 oder HC06 (RS232-Bluetoothmodul) hat, kann er das 
Phänomen mit dem anscheinend fehlenden Handle selbst mal ausprobieren.
Gast #3626856
Lesenswert?

Jens schrieb:
> Hallo, ich habe das Problem, dass ein virtueller serieller Port
> (wahrscheinlich) von einer anderen Anwendung blockiert wird. Ich kann
> ihn nicht öffnen. Wie kann ich herausfinden, welche Anwendung der
> Übeltäter ist?

Hallo,

wie öffnest du den denn, mit C? (Handle = CreateFile())?
In dem Fall kannst du die mit GetLastError() die exakte 
Fehlerbeschreibung holen. Dazu
1
Error = GetLastError();
 direkt danach ausführen.

Das liefert eine Zahl, die kann man bei Winzigweich nachschlagen, und 
zwar dort:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381%28v=vs.85%29.aspx

Was genau mault Windows an?

Im übrigen kann ich bestätigen, dass die Methode "nach "COM" suchen auch 
mit virtuellen COM-Ports funktioniert, zumindest mit der CDC von 
Microchp.
Gast #3626888
Lesenswert?

Die Portnummer saugt sich Windows bei der Erkennung des Bluetoothmoduls 
aus den Fingern. Die ist immer anders und ich habe keinen Einfluss 
darauf.

Der Fehler, wenn ich selbst manuell den Port öffne ist

ERROR_ACCESS_DENIED

Wie gesagt, es melden am fraglichen System auch andere Programme (PuTTY 
z.B.) ein Problem. Und ja, auch als Administrator.
Gast #3626951
Lesenswert?

Jens schrieb:
> Bluetooth-Stack tauschen? Scherzkeks.

Was spricht dagegen? Das hat bei mir mit nem Logilink-BT-USB-Adapter 
(CSR-Chip) unter win8.1-64bit an einen HC-05 Besserung gebracht. Beim 
MS-Stack durfte ich nach schließen des virtuellen COM-Ports immer erst 
das Gerät neu koppeln oder kurz außer Reichweite bringen bevor eine 
erneute Verbindung möglich war.

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