Rimozione porte COM in uso

Talvolta capita che su sistemi che devono gestire schede che rendono disponibili seriali tocchi sostituire quest’ultime a causa di guasti. Questo è uno scenario tipico soprattutto su PC che vengono utilizzati su linee produttive industriali per comunicare con PLC, lettori di codice a barre o stampanti di codici a barre.

In caso di sostituzione della scheda seriale di solito si tende a mantenere l’associazione della porta COM per evitare di dover modificare impostazioni su software di gestione dell’impianto produttivo.

Il problema è che però se si sostituisce la scheda il sistema mantiene comunque l’associazione della porta COM all’hardware dismesso.

Per risolvere questo tipo di problema bisogna eseguire prima eseguire la rimozione delle periferiche dismesse quindi resettare le porte COM.

Fase 1: rimozione delle periferiche dismesse

La prima cosa che conviene fare è arrestare il sistema e togliere fisicamente la o le schede da sostituire.

Quindi avviare il sistema e rimuovere le periferiche dismesse che non saranno visibili direttamente nell’applet di Sistema, ma saranno nascoste. Per farlo è possibile eseguire la seguente procedura:

  1. Aprire il prompt dei comandi (cmd)
  2. Digitare il seguente comando per consentire la visualizzazione di tutte le periferiche nascoste:
    set DEVMGR_SHOW_NONPRESENT_DEVICES=1
  3. Aprire la console per la gestione delle periferiche tramite il comando devmgmt.msc
  4. Visualizzare le periferiche nascoste selezionare la voce Mostra periferiche nascoste del menù Visualizza
  5. Disinstallare le periferiche non esistenti nel sistema

Fase 2: reset delle porte COM

Per resettare l’assegnazione delle porte COM è possibile agire sul registro di configurazione come segue:

  1. Aprire Regedit
  2. Aprire la chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
  3. Modificare il valore ComDB cancellando il contenuto nella sezione Data (questo di fatto imposta il valore di ComDB a 0)
  4. Chiudere Regedit e arrestare il computer.

Fase 2: aggiunta della/delle schede nuove

Dopo aver inserito le nuove schede avviare il sistema, il reset della chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB causa la riassegnazione delle porte COM, quindi nel caso di porte COM su schede non sostituite verificare che abbiano mantenuto l’assegnazione precedente, per quanto riguarda le porte COM delle nuove schede impostare l’assegnazione desiderata.

Per ulteriori informazioni si veda il post How to clear or Reset COM port ? di Richard Wu.