Odblokowanie wirtualnego portu COM w Windows 11

Pytanie

Jak odblokować wirtualny port com w Windows 11?

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • Najczęściej port „blokuje się”, bo jest zajęty przez ukrytą instancję sterownika („ghost device”) lub otwarty uchwyt aplikacji.
  • W Windows 11 odblokujesz go, gdy:
    1) pokażesz ukryte urządzenia w Menedżerze urządzeń i odinstalujesz zbędny/wyblakły port,
    2) zamkniesz proces trzymający uchwyt (Process Explorer),
    3) ewentualnie wyzerujesz mapę ComDB w rejestrze, a następnie zainstalujesz/aktualizujesz poprawny, podpisany sterownik.

Kluczowe punkty • Menedżer urządzeń → Widok → Pokaż ukryte urządzenia → Porty (COM i LPT)
• Odinstaluj/aktualizuj sterownik, ew. „Dodaj starszy sprzęt”
• Process Explorer: wyszukaj „COMx” i zabij blokujący proces
• Rejestr: HKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter → ComDB = 0
• Restart systemu i ponowne podłączenie / odtworzenie wirtualnego portu

Szczegółowa analiza problemu

  1. Typowe źródła blokady
    a) „Ghost device” – port rezerwowany w rejestrze mimo braku urządzenia
    b) Uchwyt software’owy – aplikacja nie zwolniła COM-a po awarii
    c) Błędny lub niepodpisany sterownik (częste po przejściu z Win 10 → Win 11)
    d) Konflikt numeracji (ten sam numer przypisany dwóm urządzeniom, np. Bluetooth SPP + USB-Serial)

  2. Diagnostyka krok po kroku
    2.1 Menedżer urządzeń
    • Win+X → Menedżer urządzeń → Widok → Pokaż ukryte urządzenia
    • Porty (COM i LPT) → wyblakłe wpisy → PPM → Odinstaluj urządzenie
    • Zaznacz „Usuń oprogramowanie sterownika…”, by system nie odtworzył starego wpisu.
    2.2 Sprawdzenie uchwytu aplikacji
    • Pobierz Process Explorer (Sysinternals), Ctrl + F → „COM3” (lub inny numer)
    • PPM → Kill Process lub zamknij aplikację w normalny sposób.
    2.3 Reset numeracji w rejestrze (zaawansowane)
    regeditHKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
    • Dwuklik ComDB → ustaw wszystkie bajty na 00 → OK → restart.
    2.4 Aktualizacja / reinstalacja sterownika
    • Najnowszy, podpisany pakiet (FTDI v2.12.36.4, WCH CH340 v3.8, Silicon Labs CP210x v11.3 – stan na VI 2024).
    • Jeżeli port tworzy program (com0com, Eltima VSPD, Free Virtual Serial Ports) – usuń starą wersję, zainstaluj build dedykowany dla Windows 11 z podpisem EV.
    2.5 Dodanie portu ręcznie
    • Menedżer urządzeń → Akcja → Dodaj starszy sprzęt → Porty (COM i LPT) → Standardowy port komunikacyjny → przypisz wolny numer.

  3. Teoretyczne podstawy
    • COM-y numerowane są w strukturze bitmapy ComDB; bit=1 → port zajęty.
    • Każdy uchwyt otwarty przez API Win32 CreateFile("\\\\.\\COMx", …) uniemożliwia innym procesom dostęp – stąd konieczność domknięcia procesu.
    • Wirtualne sterowniki działają w ringu 0 (kernel-mode) i muszą posiadać podpis WHQL / EV; od Win 11 22H2 domyślne wyłączenie „Test Mode” uniemożliwia instalację niepodpisanego INF/SYS.

  4. Praktyczne zastosowania
    • Programatory MCU, drukarki 3D, SCADA – wszystkie potrzebują stabilnej, niekolidującej numeracji COM.
    • Wirtualne pary COM-COM (bridge TCP → COM) w oprogramowaniu MES/PLC – wymagają bezkonfliktowej listy portów.

Aktualne informacje i trendy

  • Microsoft od wersji 23H2 zaostrzył politykę podpisów – starsze com0com < 3.0 lub nieoficjalne sterowniki Prolific PL2303 przestają się ładować.
  • FTDI i WCH wydały pakiety „Windows 11 certified” eliminujące BSOD PDC WATCHDOG.
  • Popularność WSL 2 skłania do rozwiązań „COM over TCP/IP” (np. ser2net → com-bridge), co zmniejsza fizyczne użycie portów.
  • Narzędzia Eltima VSPD i FabulaTech obecnie oferują instalatory z automatyczną re-enumeracją po aktualizacjach Windows.

Wspierające wyjaśnienia i detale

Przykład szybkiej identyfikacji procesu blokującego:

> handle.exe -a COM3
  putty.exe        pid: 9464  type: File  xyz: \Device\Serial0

Zamknięcie:

> taskkill /PID 9464 /F

Polecenie zwolnienia wszystkich portów w PowerShell (uruchom jako admin):

$reg = "HKLM:\SYSTEM\CurrentControlSet\Control\COM Name Arbiter"
Set-ItemProperty -Path $reg -Name ComDB -Value ([byte[]](0..31 | % {0}))

Po restarcie numeracja zaczyna się od COM1.

Aspekty etyczne i prawne

  • Nieomijaj wymogów podpisu sterownika poprzez „Disable driver signature enforcement” w trybie testowym w środowisku produkcyjnym – narusza to politykę bezpieczeństwa i może unieważnić gwarancję.
  • Korzystaj z oficjalnych sterowników, respektując licencje (np. płatne wersje Eltima VSPD).
  • Modyfikacja rejestru powinna być poprzedzona kopią zapasową (reg export).

Praktyczne wskazówki

  • Zanim zaczniesz, odłącz wszystkie urządzenia USB-Serial, uruchom ponownie PC i wykonaj procedurę „Pokaż ukryte urządzenia”.
  • Nie ustawiaj ręcznie tego samego numeru dwóm aktywnym urządzeniom – Windows wyświetli ostrzeżenie, ale pozwoli zapisać konflikt!
  • Test komunikacji prostym terminalem (PuTTY, Tera Term) i pętlą zwrotną (pin 2-3 DB-9 lub TX-RX zespoloną z adapterem USB) upewnia, że port jest faktycznie odblokowany.

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • W niektórych buildach Win 11 (22621.2134) występuje błąd „Missing Ports (COM & LPT)” – chwilowe cofnięcie aktualizacji KB5028254 lub ręczne dodanie „Standard Serial over Bluetooth link” przywraca listę portów.
  • Adaptery PL2303HXA/E spoza wsparcia producenta mogą wymagać firmware downgrade albo wymiany na nowszy chip.

Sugestie dalszych badań

  • COM-over-IP (RFC 2217) jako alternatywa dla fizycznego/vCOM – narzędzia: ser2net, HW Virtual Serial Port.
  • Windows Dev Kit 2024 (ARM64) – test kompatybilności sterowników FTDI/CP210x.
  • Integracja portów COM w kontenerach Docker Desktop (plug-and-play pass-through).
  • Rozwój standardu USB4 DevClass → USB-to-UART z natywnym sterownikiem Microsoftu (zapowiedziane na Build 2024).

Krótkie podsumowanie

Odblokowanie wirtualnego portu COM w Windows 11 sprowadza się do usunięcia „osieroconych” lub konfliktowych wpisów, zamknięcia procesów trzymających uchwyt i zainstalowania aktualnego, podpisanego sterownika. Najszybsza droga: Menedżer urządzeń (pokaż ukryte → odinstaluj), ewentualnie Process Explorer i wyzerowanie ComDB. Po restarcie port odzyskuje funkcjonalność, a numerację można ustawić ręcznie w zakładce „Zaawansowane”.

Oceń odpowiedź:
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.