Изменить номер ком порта в windows 7

Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройств, ему назначается номер COM порта (Communication Port, или Serial port), зарезервированный за ним ранее. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптера Bluetooth, в системе появилось сразу 10
!!!!
новых COM портов).

Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, и отказываются работать с COM100 и выше. Или видят только COM1-COM9 устройства. Что делать, если подключенное устройство получило высокий номер COM порта? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты?

Содержание:

  • Изменить номер COM порта устройства в Windows
  • Определяем процесс, который использует COM в Windows
  • Сброс назначенных COM портов Windows через реестр

Изменить номер COM порта устройства в Windows

В Windows можно вручную изменить номер COM порта, назначенный устройству. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить. Для этого:

  1. Откройте диспетчер устройств (Device Manager) командой devmgmt.msc;
  2. В меню выберите View->Show Hidden Devices;Отобразить скрытые устройства
  3. Затем разверните Ports (COM & LPT) и найдите в списке устройство;
  4. Перейдите на вкладку Port Settings и нажмите кнопку Advanced;
  5. Текущий номер COM порта, назначенный устройству указан в поле COM Port Number;
  6. Чтобы изменить его, раскройте выпадающий список и выберите номер COMпорта, который хотите задать.Изменить номер назначенного COM порта

Но чаще всего изменить номер COM порт на другой не получится, так как все «низкие» COM порт уже используются (in use);

  1. В этом случае нужно попробовать удалить резервацию COM порта за другим устройством. В ветке Ports (COM & LPT) найдите которому назначен нужный вам номер COM порта (бледная иконка означает, что данный COM порт назначен, но в сейчас это устройство не подключено);
  2. Щелкните по нему ПКМ и выберите Uninstall;Удаление отключенного COM устройства
  3. Теперь вы можете назначить освобожденный COM порт другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку Port Settings -> Advanced. Задайте свободный номер COM порта для вашего устройства.Смена COM порта

Однако такой способ позволяет освободить занятый COM порт не во всех случаях.

Вы можете вывести полный список занятых COM портов в Windows с помощью PowerShell:

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

Можно определить номер COM порта для определённого устройства по его имени, например:
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"}|select name, deviceid

Или
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"}|select name, deviceid

Определяем процесс, который использует COM в Windows

Вы не сможете освободить COM порт устройства, которое используется Windows или запущенной программой, процессом. Сначала вам нужно завершить процесс/программу, которая использует сейчас COM порт. Чтобы определить имя процесса, который использует COM порт понадобится утилита Process Explorer (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).

Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:

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

powershell: получить название процессов и служб использующих COM порты в windows

Имя службы данного COM порта указано в столбце Service. Например, для COM2 это Serial. Теперь нужно запустить Process Explorer с правами администратора и выбрать в меню Find -> Find Handle or DLL. В строке Hangde or DLL substring введите значение Service, полученное ранее. В нашем примере это
Serial
.

Process Explorer должен показать процесс, который использует сейчас ваш COM порт. Чтобы освободить COM порт, завершите процесс или программу.

Process Explorer - ищем процесс или программу, которая используется com serial порт в windows

Сброс назначенных COM портов Windows через реестр

Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter

  1. Откройте редактор реестра (regedit.exe) и перейдите в указанную ветку.

    Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.

    COM Name Arbiter

  2. Значение параметра ComDB в двоичном формате определяет список COM портов, зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100);ComDB

    Важно! Будьте предельно внимательными, ни в коем случае не добавьте в этот параметр дополнительные байт, иначе система может начать падать в BSOD.

  3. Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.Сбросить привязки COM портов

    Примечание. В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеться список COM портов, подключенных к системе.SERIALCOMM

  4. В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);список COM портов в реестре
  5. Отключите все оборудование и перезагрузите Windows;
  6. После перезагрузки включите оборудование в нужном порядке (переустановите конверторы USB-to-serial и т.д.). Все обнаруженные COM-порты автоматически определяться системой и им будут последовательно выделены номера COM портов.

Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:

  • COM Name Arbiter Tool – утилита для освобождения занятых COM портов. Запустите утилиту с правами администратора, выберите COM порты, которые вы хотите освободить и нажмите Clear unused Reservations и Remove non-present devices;утилита COM Name Arbiter для очистки занятых COM портов в Windows
  • Device Cleanup Tool – утилита используется для поиска в реестре информации о ранее подключенных устройств (в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum) и удаления неиспользуемых устройств и очистки резерваций COM портов.

Categories:

  • Компьютеры
  • Техника
  • Cancel

Чтобы переименовать COM порт, выполните следующие действия.

1. На ярлыке Мой Компьютер нажимаем правой кнопкой мыши и выбираем пункт Диспетчер устройств ищем там категорию порты :

2. Нажимаем правой кнопкой на девайс, выбираем свойства (особо резвым можно просто два раза щёлкнуть левой).

3. Открывается окно свойств устройства, где нас интересует вкладка “Параметры порта“. Тыкаем кнопку “Дополнительно”.

4. И у нас открывается мелкое окошко, но с огромным списком портов .

5. Здесь можно выбрать любой свободный порт.

7. После того как вы выбрали нужный вам номер порта просто нажимаем два раза ОК ! И ваш COM порт переименован )

Does anybody know how to change the COM port number that Windows maps to a USB virtual COM port? You can change this via the Device Manager and clicking on the Advanced button.. but how can you do this via an API, registry change or command line operation?

Any ideas please?

dsolimano's user avatar

dsolimano

8,8803 gold badges48 silver badges63 bronze badges

asked Jan 4, 2010 at 22:57

SparkyNZ's user avatar

I monitored registry changes during changing COM port 1 to 110 and found modifications in following keys:

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM]
«\Device\Serial0″=»COM110»

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\COM Name Arbiter]
«ComDB»=hex(3):FC,7F,00,00,00,00,00,00,00,00,00,00,00,20,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI\PNP0501\1\Device Parameters]
«PortName»=»COM110»

answered Oct 17, 2012 at 7:49

Alireza's user avatar

AlirezaAlireza

811 silver badge3 bronze badges

2

You might find this answer useful:

How do I get the friendly name of a COM port in Windows?

It’s about finding the friendly name, but I think you’ll find it points you towards the right area of the registry, using the ‘official’ mechanism for locating the right key.

However, if you change the port assignment, you should also update the com port database — see: https://msdn.microsoft.com/en-us/library/ff546481.aspx

When I had to do something similar, I found the right device using the mechanism described in the linked SO article, and then called SerialDisplayAdvancedSettings((HWND)NULL, hDeviceInfo, &devInfoData); to display the advanced dialog and let the OS handle the hard work.

Nowadays you’re more and more likely to be encountering odd ‘not real’ serial ports (e.g. USB ports) which might have other incompatibilities you need to be wary of too.

Community's user avatar

answered Jan 4, 2010 at 23:09

Will Dean's user avatar

Will DeanWill Dean

39.1k11 gold badges90 silver badges118 bronze badges

2

This changing is done in two below steps in the registry through the «regedit»:

  1. Change the name:
    In the first step, you need to change the below keys:

    1. In the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\XXX that XXX is your device name. You need to trace each item to find the FriendlyName and then change it as you wish (Ex: «USB Serial Port (6)»);
    2. In the previous key, again you need to trace the item to find the PortName and change it to the port number (Ex: «COM6»).
  2. Change the port number:

    1. In the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter, you can find the ComDB which is a bit mask of COM ports already allocated. This value should be change based on your COM ports. Note, The first byte controls COM8~1, the second byte controls COM16~9, the third byte controls COM24~COM17 and so on. A value=0 means that the port is not used. A value=1 means that the port is occupied.

Helder Magalhães's user avatar

answered Mar 5, 2019 at 21:37

Farzad's user avatar

FarzadFarzad

2794 silver badges5 bronze badges

1

Offhand, I don’t know how to do it, but here’s what I would do:

Use the My Computer/ Device Manager method to assign some unlikely com port, like 61. Then use regedit to search for COM61 and see what Device Manager did.

I know I’ve seen all these things in the registry somewhere, but a quick search of the knowledge base didn’t turn up the answers.

answered Jan 4, 2010 at 23:03

wallyk's user avatar

wallykwallyk

57k17 gold badges84 silver badges148 bronze badges

Как изменить номер виртуального COM порта

Как изменить номер виртуального COM порта

За последнее время я подключал к своему компьютеру много различных Arduino, конвертеров USB-TTL, так что подключая завалявшийся где-то USB-TTL конвертер на 3.3 вольта для подключения ESP8266, я обнаружил, что система его видит как COM22. XTCOM_UTIL поддерживает номера портов до COM6, а ESP Flash Download Tool максимум COM16, поэтому резонно возник вопрос

Ответ достаточно прост. Для начала, попробуйте сразу сделать пункт 7 этой инструкции. Возможно, что вам повезет, и остальное просто не потребуется. Если нет, то начинайте с самого начала.

1. Физически отключаем от USB все устройства, к которым подключены виртуальные COM порты (в моем случае это USB-TTL конвертер)

2. Запускаем cmd.exe (я предпочитаю использовать Far Manager — он поддерживает историю команд)

3. В командной строке пишем: set DEVMGR_SHOW_NONPRESENT_DEVICES=1 (регистр букв роли не играет — просто имена переменных окружения принято писать большими буквами). Данная команда включает отображение отсутствующего оборудования в диспетчере устройств в текущем сеансе

4. Далее вводим команду devmgmt.msc — это команда запуска диспетчера устройств. Важно запустить диспетчер устройств именно из командной строки.

5. В диспетчере устройств в меню Вид выбираем Показать скрытые устройства, идем в раздел Порты COM и LPT и удаляем все COM3-COM99

6. Обратно подключаем наше устройство (у меня это USB-SERIAL CH340) — происходит автоматическая установка драйвера и, вуаля — теперь вместо COM22 у меня COM3

7. Если вам не понравился номер порта, который автоматически выбрала система, то вы можете его сменить. Для этого в диспетчере устройств заходим в свойства нашего виртуального COM-порта, переходим на вкладку Параметры порта, далее жмем Дополнительно и выбираем любой свободный номер порта.

Если вы хотите все время контролировать номера виртуальных COM портов от различных устройств, то имеет смысл установить DEVMGR_SHOW_NONPRESENT_DEVICES=1 постоянно. Для этого нужно зайти в свойства компьютера на рабочем столе (или зайти в Панель управления — Система) и выбрать слева Дополнительные параметры системы, далее вкладка Дополнительно, затем Переменные среды. В разделе Системные переменные нажать Создать и ввести имя переменной DEVMGR_SHOW_NONPRESENT_DEVICES и ввести ее значение 1. Теперь у вас всегда будут отображаться все отключенные устройства.

Вышеперечисленные действия справедливы не только для Windows 7, но и для других версий.

Содержание

  • 1 Можете ли вы поменять COM порт?
  • 2 Как освободить COM-порты в Windows 7?
  • 3 Как мне назначить COM-порт USB в Windows 7?
  • 4 Как изменить порты USB на COM1?
  • 5 Как сбросить COM-порты?
  • 6 Как удалить COM-порты?
  • 7 Как найти скрытые порты в Windows 7?
  • 8 Как очистить порты USB?
  • 9 Как мне узнать, какой COM-порт использовать?
  • 10 Как подключиться к COM-портам в Windows 7?
  • 11 Как добавить порт COM3 в Windows 7?
  • 12 Как настроить последовательный порт в Windows 7?
  • 13 Как исправить COM-порты?
  • 14 Как поменять порты USB?
  • 15 Как мне узнать, какой порт у меня USB?

Чтобы изменить номер COM-порта последовательного устройства в диспетчере устройств, выполните следующие действия: … Щелкните правой кнопкой мыши COM-порт и выберите «Свойства». Перейдите на вкладку «Параметры порта» и нажмите «Дополнительно». Измените номер COM-порта на доступный номер COM-порта.

Как освободить COM-порты в Windows 7?

Выберите View-> Show Hidden Devices в меню консоли. Разверните ветку Порты (COM и LPT) и найдите в списке устройство, которому назначен нужный COM-порт. (Бледный значок означает, что этот COM-порт уже назначен, но в настоящее время устройство не подключено) Щелкните его правой кнопкой мыши и выберите «Удалить».

Как мне назначить COM-порт USB в Windows 7?

Для этого щелкните правой кнопкой мыши строку «Последовательный порт USB» и выберите «Свойства» во всплывающем меню. Щелкните вкладку «Параметры порта», а затем нажмите кнопку «Дополнительно». Выберите раскрывающийся список «Номер COM-порта» и выберите номер COM-порта 2, 3 или 4 (обычно COM1 уже используется).

Как изменить порты USB на COM1?

Щелкните правой кнопкой мыши порт связи (COM1) и выберите «Свойства». В окне «Свойства» щелкните вкладку «Конфигурация порта», а затем нажмите «Настройка порта». В поле «Номер порта» используйте раскрывающееся меню, чтобы выбрать COM2 для вашего собственного COM-порта, и нажмите «ОК». Нажмите кнопку «ОК» в окне «Свойства».

Как сбросить COM-порты?

Сделать это:

  1. Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
  2. Выберите вкладку «Оборудование» и откройте Диспетчер устройств.
  3. В разделе «Порты (COM и LPT)» щелкните правой кнопкой мыши COM-порт и выберите «Свойства».
  4. Выберите вкладку «Параметры порта» и нажмите кнопку «Дополнительно».

2 дек. 2010 г.

Как удалить COM-порты?

Щелкните «Просмотр» в меню и выберите «Показать скрытые устройства». Разверните «Порты», чтобы перечислить все используемые COM-порты. Щелкните правой кнопкой мыши один из портов, выделенных серым цветом, и выберите «Удалить».

Как найти скрытые порты в Windows 7?

7. Перейдите в меню «Просмотр» в диспетчере устройств и нажмите «Показать скрытые устройства». 8. Прокрутите вниз до раздела Порты, и вы сможете увидеть все скрытые и неиспользуемые COM-порты.

Как очистить порты USB?

Включить порты USB через диспетчер устройств

  1. Нажмите кнопку «Пуск» и введите «диспетчер устройств» или «devmgmt. …
  2. Щелкните «Контроллеры универсальной последовательной шины», чтобы просмотреть список портов USB на компьютере.
  3. Щелкните правой кнопкой мыши каждый порт USB, затем нажмите «Включить». Если это не приведет к повторному включению портов USB, щелкните каждый раз правой кнопкой мыши и выберите «Удалить».

Как мне узнать, какой COM-порт использовать?

Вы можете проверить, какое устройство использует какой COM-порт в диспетчере устройств. Он будет указан в списке скрытых устройств. В диспетчере устройств выберите «Просмотр» — «Показать скрытые устройства». Теперь, когда вы развернете раздел (ПОРТЫ) COM-портов, вы увидите все перечисленные здесь COM-порты.

Как подключиться к COM-портам в Windows 7?

Щелкните правой кнопкой мыши порт связи (COM1) и выберите «Свойства». Щелкните вкладку Параметры порта. Нажмите кнопку «Дополнительно». Используйте настройку Com-порта «Стрелка вниз», чтобы развернуть список Com-портов.

Как добавить порт COM3 в Windows 7?

Как добавить порт COM3 на компьютер

  1. Щелкните правой кнопкой мыши «Мой компьютер», выберите «Свойства» и выберите «Оборудование».
  2. Нажмите «Добавить новое оборудование» и выберите «Я уже подключил оборудование».
  3. Нажмите «Добавить новое аппаратное устройство» и нажмите «Установить оборудование, которое я выбрал вручную».

Как настроить последовательный порт в Windows 7?

Чтобы настроить последовательный порт для вашего устройства, на вашем компьютере перейдите в Панель управления — Диспетчер устройств, выберите «Высокоскоростной последовательный порт USB (Com X)», щелкните правой кнопкой мыши и выберите «Свойства». Щелкните вкладку «Возможности». Эта вкладка используется для изменения номера COM-порта и настройки порта.

Как исправить COM-порты?

РЕШЕНИЕ

  1. Перейдите в Диспетчер устройств Windows> Многопортовые последовательные адаптеры.
  2. Выберите адаптер и щелкните правой кнопкой мыши, чтобы открыть меню.
  3. Щелкните ссылку «Свойства».
  4. Откройте вкладку «Конфигурация портов».
  5. Нажмите кнопку «Настройка порта».
  6. Выберите номер порта и нажмите ОК.
  7. Щелкните ОК, чтобы применить изменения.

Как поменять порты USB?

Как заменить USB в компьютере

  1. Отключите все устройства от компьютера и установите его вертикально на чистый стол вдали от коврового покрытия или чего-либо еще, что может вызвать статическое электричество.
  2. Откройте корпус компьютера, повернув его тыльной стороной к себе. …
  3. Найдите порты USB, которые вы хотите заменить. …
  4. Купите новый порт USB.

Как мне узнать, какой порт у меня USB?

Найдите устройство, которое вы хотите найти. Щелкните правой кнопкой мыши и перейдите к свойствам. В свойствах перейдите на вкладку «Оборудование» и снова нажмите «Свойства». Оказавшись наверху, вы должны увидеть Общие, Драйвер и Подробности.

  • Изменить интерфейс windows 10 программа
  • Изменить настройки языка windows 10
  • Изменить имя пользователя windows 10 cmd
  • Изменить назначение клавиш клавиатуры windows 10
  • Изменить имя папки в папке пользователи windows 10