Comment réinitialiser et nettoyer les numéros de port COM sous Windows

La gestion des ports COM, notamment lors de la connexion de plusieurs périphériques ou d’adaptateurs Bluetooth, peut vite devenir un casse-tête. Windows attribue systématiquement des numéros de port COM de 1 à 255 dès qu’un périphérique est branché ; il arrive même qu’il sature le système avec des dizaines de ports, ce qui complique la tâche des applications anciennes compatibles uniquement avec les ports COM1 à COM9. Le problème est d’autant plus agaçant que certains programmes anciens refusent tout simplement de fonctionner si le numéro de port COM est supérieur à 9, et résoudre ce problème n’est pas toujours simple. Savoir modifier, libérer ou réinitialiser l’attribution des ports COM peut vous éviter bien des frustrations, surtout en cas de conflits entre périphériques ou de problèmes de pilotes.

Comment modifier le numéro de port COM d’un périphérique sous Windows

Réglage du port COM via le Gestionnaire de périphériques

Voici la première chose à essayer si le port attribué à votre appareil ne vous convient pas ou est inutilisable. Cela fonctionne si le port n’est pas déjà fortement utilisé ou réservé. Parfois, Windows vous permet de choisir un autre port ; sinon, c’est qu’il est occupé ou réservé. Dans ce cas, il vous faudra peut-être effectuer des recherches plus approfondies (voir ci-dessous).

  • Ouvrez le Gestionnaire de périphériques — vous pouvez le faire en tapant devmgmt.mscdans la zone Exécuter ( Win + R) ou en le recherchant dans le menu Démarrer.
  • Dans le menu, sélectionnez Affichage -> Afficher les périphériques cachés — car il arrive que votre périphérique ne soit pas entièrement visible à moins de procéder ainsi.
  • Faites défiler jusqu’à Ports (COM et LPT), développez la section et trouvez votre périphérique. Si plusieurs entrées apparaissent, sélectionnez celle qui correspond à votre périphérique.
  • Faites un clic droit sur votre appareil, sélectionnez Propriétés, puis accédez à l’onglet Paramètres du port et appuyez sur Avancé.
  • Vous trouverez le numéro de port COM actuel dans le menu déroulant Numéro de port COM. Si ce numéro est trop élevé, essayez de le modifier en choisissant un numéro inférieur (par exemple, COM3 ou COM5).

Il est parfois aléatoire que Windows vous permette de choisir un port inférieur. Si ce port est déjà utilisé ou réservé, le menu déroulant ne vous permettra pas de le modifier. C’est alors qu’il faut libérer le port réservé (voir ci-dessous).

Débloquez ou libérez les ports COM avec le Gestionnaire de périphériques

  • Développez à nouveau la section Ports (COM et LPT), trouvez le port que vous souhaitez libérer, recherchez l’icône pâle (signifiant réservé mais non connecté).
  • Faites un clic droit sur ce port et sélectionnez Désinstaller. Rassurez-vous, cela ne supprime pas le pilote, cela libère simplement le port COM.
  • Après la désinstallation, reconnectez votre appareil ou reconfigurez le port via Avancé dans ses propriétés pour attribuer un port COM libre.

Si cela ne fonctionne pas (car Windows ne libère pas toujours le port directement), il existe une méthode pratique utilisant PowerShell pour lister tous les ports COM occupés :

Get-WMIObject Win32_SerialPort | Select-Object Name, DeviceID, Description

Ou bien, limitez la recherche à des appareils spécifiques, par exemple si vous connaissez le nom de l’appareil :

Get-WMIObject Win32_SerialPort | Where-Object { $_. Name -like "*Bluetooth*" } | Select-Object Name, DeviceID

Cela vous donne un aperçu rapide des périphériques connectés. Tous les ports ne sont pas utilisés, mais certains peuvent être difficiles à libérer sans étapes supplémentaires.

Découvrez quel processus bloque votre port COM

Si un processus ou un pilote utilise activement un port COM, Windows ne vous permettra pas simplement de le réassigner ou de le désinstaller. Vous devez trouver ce processus et l’arrêter. L’outil idéal pour cela est Process Explorer de Sysinternals. C’est une véritable aubaine pour ce genre de situation.

Étape 1 : ouvrez PowerShell et exécutez :

get-pnpdevice -class Ports -ea 0 | Select Name, PNPDeviceID, Status, Service

Ceci vous indique quel périphérique est connecté, et la colonne Service peut afficher Série ou un nom similaire. Ensuite, exécutez Process Explorer en tant qu’administrateur ( voici le lien ) et cliquez sur Rechercher -> Rechercher un handle ou une DLL. Saisissez le nom du service mentionné précédemment (« Série », « usbser », etc.).

Process Explorer identifiera l’application ou le pilote qui bloque le port. Il vous faudra peut-être fermer ou redémarrer ce processus, ou modifier les pilotes pour libérer complètement le port COM. C’est une solution un peu détournée, mais elle fonctionne dans les cas les plus tenaces.

Réinitialisation des affectations de ports COM dans le registre

Pour un nettoyage en profondeur, le registre contient les clés qui définissent les ports COM réservés. Franchement, modifier le registre est une mauvaise idée, sauf si vous maîtrisez parfaitement le sujet : une simple erreur et c’est l’écran bleu. Mais en dernier recours, c’est une solution à envisager.

  • Ouvrez regedit en l’exécutant regedit.exedepuis la boîte Exécuter.
  • Accédez à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter. Assurez-vous de sauvegarder cette clé au préalable (Fichier -> Exporter).
  • Trouvez la valeur ComDB — il s’agit de données binaires. Vous pouvez la modifier avec précaution. Par exemple, si vous devez libérer tous les ports, définir cette valeur à 0 peut réinitialiser les réservations. Sachez toutefois qu’une modification imprudente peut provoquer un écran bleu de la mort (BSOD) si vous ajoutez des bits supplémentaires.
  • Il convient également de vérifier la clé HKEY_LOCAL_MACHINE\SYSTEM\HARDWARE\DEVICEMAP\SERIALCOMM. Si elle est connectée, elle affiche la liste des ports actifs dans un format lisible.
  • Vous pouvez supprimer des entrées de port spécifiques dans les informations relatives aux ports ou à la réservation si nécessaire, puis redémarrer votre PC pour appliquer les modifications.

Pour le nettoyage des périphériques, l’Outil de nettoyage des périphériques permet de supprimer les entrées orphelines du registre et de déconnecter les anciens périphériques susceptibles de réserver inutilement des ports COM ( voir le dépôt GitHub ).Attention : cet outil n’est pas officiellement pris en charge par Microsoft. Pensez donc à effectuer une sauvegarde au préalable !

Conclure

La gestion des ports COM peut vite devenir complexe, surtout après avoir connecté plusieurs périphériques série ou Bluetooth. Qu’il s’agisse de modifier les numéros de port dans le Gestionnaire de périphériques, de libérer des ports via PowerShell ou d’éditer le registre, ces méthodes permettent de simplifier la situation. Toutes les solutions ne fonctionnent pas du premier coup, et il arrive que Windows refuse tout simplement de libérer un port ; dans ce cas, il faut faire preuve de patience ou recourir à des modifications plus poussées du registre.

Résumé

  • Essayez d’abord de changer le port COM via le Gestionnaire de périphériques, mais ce n’est pas toujours possible si les ports sont occupés.
  • Au besoin, libérez les ports COM réservés ou découvrez qui les utilise à l’aide des commandes PowerShell.
  • Utilisez Process Explorer pour identifier le processus qui bloque le port et fermez-le si nécessaire.
  • Dans les cas les plus tenaces, modifiez prudemment le registre pour réinitialiser l’attribution des ports COM.

Conclusion

Résoudre les problèmes de ports COM n’est jamais agréable, mais ces étapes devraient couvrir la plupart des cas. Parfois, il suffit de libérer des ports ou de modifier leurs affectations sans toucher au registre. En dernier recours, un redémarrage ou une réinstallation des pilotes peut s’avérer utile. N’oubliez pas : faites toujours une sauvegarde avant de modifier le registre, car Windows complique inutilement la tâche. J’espère que cette solution aidera ceux qui rencontrent des problèmes de ports COM. Elle a fonctionné sur plusieurs configurations.