Forum: PC Hard- und Software Windows: Serieller Port wird von Anwendung blockiert. Von welcher?


von Jens (Gast)


Lesenswert?

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?

von Peter II (Gast)


Lesenswert?

Jens schrieb:
> Wie kann ich herausfinden, welche Anwendung der
> Übeltäter ist?

ProcessExplorer von Sysinternals und dort nach Handels suchen (COM1 oder 
so)

von Jens (Gast)


Lesenswert?

Das habe ich schon probiert. Leider finde ich damit nichts. Nicht einmal 
bei Anwendungen, die nachweislich einen seriellen Port offen haben.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Jens (Gast)


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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Hast Du die Programme auch als Administrator ausgeführt?

Beide können sehr wohl auch virtuelle serielle Ports anzeigen.

von Jens (Gast)


Lesenswert?

Ja, natürlich als Administrator.

von Jens (Gast)


Lesenswert?

Ach so. Windows 7 Professional 64 Bit SP1, deutsch. Hatte ich ganz 
vergessen, zu schreiben.

von Peter II (Gast)


Lesenswert?

dann lass dir doch mal die offenen Handels von einen Prozess anzeigen wo 
du sicher bist das er den COM geöffnet hat. Dann sieht du doch den Name.

von Wolfgang (Gast)


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

von Georg (Gast)


Lesenswert?

Wolfgang schrieb:
> unter
> Geräte-Manager den COM-Port deaktivieren und wieder aktivieren.

Und dazwischen mal neu starten, dann müsste jemand jammern, dass COMx 
fehlt.

Georg

von Jens (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jens schrieb:
> Wie gesagt, der Process Explorer zeigt nichts mit device... oder
> ähnliches an.

Das klingt /sehr, sehr merkwürdig/, weil genau das normalerweise der 
Fall ist.

von Andreas D. (rackandboneman)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist nur eine Teilfunktion dessen, was der ProcessExplorer liefert - 
nämlich die Handle-Ansicht.

von Jens (Gast)


Lesenswert?

Naja, wäre es nicht merkwürdig, hätte ich hier nicht gepostet. ;-)

von Dummschwaetzer (Gast)


Lesenswert?

War da beim Windows-Start bereits Datenverkehr? Wen ja hat das Windows 
deine Schnittstelle eventuell als HID oder Maus erkannt.

von Jens (Gast)


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.

von Somebody123 (Gast)


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.

von Frank M. (frank_m35)


Lesenswert?

Welcher COM Port ist es denn?
Hast du schon einmal versucht den COM Port auf einen anderen zu legen, 
bspw. COM15 auf COM3?

von Jens (Gast)


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.

von Daniel S. (danny243) Flattr this


Lesenswert?


von cOm (Gast)


Lesenswert?

Daniel Schuhmann schrieb:
> Ich werfe mal den Portmon mit rein.

Den hatte Jens schon geworfen:

Jens schrieb:
> Was ich eben auch probiert habe: Ich habe Portmon runtergeladen. Leider
> zeigt mir das Programm gar keine Ports an?!

von Reinhard S. (rezz)


Lesenswert?

Daniel Schuhmann schrieb:
> Ich werfe mal den Portmon mit rein.

Jens schrieb:
> 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?

von bluppdidupp (Gast)


Lesenswert?

Welcher Bluetooth-Stack wird verwendet? - ggf. einfach einen anderen 
nehmen ;D
(z.B.: http://www.bluesoleil.com/products/S0001201005190001.html)

von Jens (Gast)


Lesenswert?

Bluetooth-Stack tauschen? Scherzkeks.

Portmon meldet mir seit dem letzten Neustart auch nur noch "Error 2" und 
beendet sich dann. Mittlerweile weiß ich auch, warum. Es läuft nicht auf 
64 Bit.

von bluppdidupp (Gast)


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.

von J. H. (Firma: heisystec) (hds)


Lesenswert?

Hi, misch auch mal wasmit rein:
Hast ggf. eine Virtuelle Maschine auf dem PC laufen, die dir den Port 
auf dem Host stiehlt? mit VirtualBox kann das nämlich so sein... ;-)

: Bearbeitet durch User
von Florian H. (heeen)


Angehängte Dateien:

Lesenswert?

putty auf com1 zeigt in Process Explorer einen Handle auf 
\Device\Serial0
putty auf com16 (ftdi) zeigt einen Handle auf \Device\VCP0

wenn ich find handle mache und nach vcp suche kann ich auch rückwärts 
putty finden

: Bearbeitet durch User
von Florian H. (heeen)


Lesenswert?

das mapping com16/com1 zu device name findet sich unter 
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM

edit: 
http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/how-to-programmatically-find-usb-serial-port/3b00a0e3-5d7d-4d6d-9a34-6860f8ce3da0

: Bearbeitet durch User
von lolls (Gast)


Lesenswert?

Es gibt doch so Com Port Sniffer mit denen man beobachten kann was die 
Ports treiben. Wenn da eine serielle Schnittstelle von irgendwo geöffnet 
wird, zeigt der das auch an....

von Bernd (Gast)


Lesenswert?

Es gibt Dienste in Windows, die die Schnittstellen abfragen, auch wenn 
du sie garnicht brauchst. Willst du was anschließen, hast du Probleme 
bei der Installation. Schau dort mal nach.

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.