Очистка com портов windows 10 реестр

Статья

Очистка занятых COM портов

При присоединении абсолютно нового COM устройства или USB устройства, Windows обнаруживает благодаря Plug-n-Play и присваивает ему номер COM порта в диапазоне от 1 до 255. Если же вы подключаете устройство еще раз, ему прикрепляется тот же, зарезервированный за ним ранее COM порт. Если же вы подключаете еще одно новое устройство, то ему назначается другой незанятый номер COM порта.

Некоторые программы (чаще старые), способны работать только на двухзначных номерах COM портов, и не работают с COM100 и более. Некоторые очень древние программы работают только портами с COM1-COM9. Как поступить, если устройство получило не нужный COM порт? Можно ли удалить номер зарезервированного COM порта?

Смена номера COM порта для приложения или устройства

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

  1. Запустим диспетчер устройств (Device Manager) таким образом: set devmgr_show_nonpresent_devices=1
    start devmgmt.msc
  2. В меню консоли выберем View->Show Hidden Devices.
  3. Разверните ветку Ports (COM &LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что данный COM порт назначен, но в настоящий момент это устройство не подключено). Щелкните по нему ПКМ и выберите Uninstall
  4. Освобожденный COM порт может быть назначен другому устройству. Найдите в этой же ветке свое устройство, откройте окно его свойств (Properties). Затем перейдите на вкладку PortSettings и нажмите кнопку Advanced. В выпадающем списке выберите неиспользуемый COM порт.

Приведенная выше методика не всегда позволяет освободить занятый COM порт. В этом случае придется прибегнуть к редактированию реестра.

Сброс привязок COM портов через реестр

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

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

Удаление занятых COM портов

Опубликовано 17.03.2014 23:34:00

Удаление занятых COM портов. Переназначение COM порта для устройства.

Как вы знаете платы семейства Arduino взаимодействуют с компьютером используя COM порт или эмулируя его. Работая с несколькими платами вы наверное замечали, что для каждого нового COM устройства назначается порт с новым номером. Таким образом Windows запоминает устройства, с которыми вы работали ранее. Некоторые программы некорректно работают с COM портами с номерами 10 и выше. Что же делать в случае, если ваша плата получила такой номер? Как переназначить COM порт для устройства? Как удалить зарезервированные COM порты?

Давайте посмотрим что можно сделать. Примеры для ОС Windows 7.

Часть 1. Удаление неиспользуемых устройств

Открываем Мой Компьютер > Свойства

Свойства» src=»http://zelectro.cc/Content/Uploads/152/Files/1.png» style=»height:259px; width:287px»/>

Выбираем «Дополнительные параметры системы».

Открываем настройки переменных среды.

Создаем новую переменную.

Добавляем переменную DEVMGR_SHOW_NONPRESENT_DEVICES. Устанавливаем для неё значение в 1.

Нажимаем везде «ОК» и выходим. Далее идём в Диспетчер устройств (Мой Компьютер > Свойства > Диспетчер устройств). В пункте меню «Вид» включаем отображение скрытых устройств.

Читайте также:  Is windows 10 update good

Теперь нам стали видны наши неиспользуемые устройства, занимающие COM порты и мы можем удалить их.

Часть 2. Переназначения COM порта для устройства

В Диспетчере устройств (Мой Компьютер > Свойства > Диспетчер устройств) выбираем устройство, которому мы хотим изменить COM порт.

На вкладке «Параметры порта» нажимаем «Дополнительно».

Назначаем желаемый номер для COM порта и нажимаем «ОК».

А как же комментарии?

В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.

Очистка занятых COM портов

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

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

Как правило в свойствах оборудования изменить выданный COM порт на другой не получается, т.к. система пишет, что все «низкие» COM порт уже используются (in use).

Смена номера COM порта для конкретного устройства

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

  1. Запустим диспетчер устройств (Device Manager) таким образом: set devmgr_show_nonpresent_devices=1
    start devmgmt.msc
  2. В меню консоли выберем View->Show Hidden Devices.
  3. Разверните ветку Ports (COM &LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что данный COM порт назначен, но в настоящий момент это устройство не подключено). Щелкните по нему ПКМ и выберите Uninstall
  4. Освобожденный COM порт может быть назначен другому устройству. Найдите в этой же ветке свое устройство, откройте окно его свойств (Properties). Затем перейдите на вкладку PortSettings и нажмите кнопку Advanced. В выпадающем списке выберите неиспользуемый COM порт.

Приведенная выше методика не всегда позволяет освободить занятый COM порт. В этом случае придется прибегнуть к редактированию реестра.

Сброс привязок COM портов через реестр

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

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


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

Как очистить используемые COM-порты?

Как очистить используемые COM-порты?

номера COM-портов всегда кажутся занятыми чем-то, и хотя сейчас у меня есть только 4 последовательных порта (3 через Bluetooth и один USB для RS-232), у меня есть множество COM-портов, установленных как в использовании. Я бы хотел немного почистить этот список.

Читайте также:  Лицензионный софт для windows

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

Ну я просто очистил бесчисленное множество USB-устройств, которые когда-то были подключены к компьютеру с помощью USBDeview и до сих пор проблема остается.

9 ответов

запустить Диспетчер устройств из командной строки:

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

  1. Нажмите Пуск → Выполнить → тип regedit и нажмите кнопку OK
  2. перейти к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
  3. теперь на правой панели, вы можете увидеть ключ ComDB . Щелкните правой кнопкой мыши и выберите Изменить
  4. в разделе значение данных выберите все и удалите сброс к нулю ( 0 )
    Свои 32 байта с 8 битами в каждом байте в шестнадцатиричном представлении. Немного значение 1 означает номер порта (1. 256) зарезервировано. Первые 8 портов находятся в двух крайних левых шестнадцатеричных значениях, биты возрастают от самого низкого до самого высокого справа налево, следующие 8 портов находятся во вторых двух и так далее: hex F3 24 будет бинарные 1111 0011 0010 0100 , что означает, что используются следующие порты: 1, 2, 5, 6, 7, 8 ( 1111 0011) и 11, 14 ( 0010 0100) .
  5. закройте редактор реестра и перезагрузите компьютер. Если задать значение 0 все COM-порты бесплатный.

может потребоваться переустановка любого USB-последовательного преобразователя.

Спасибо за все советы выше. Я написал программное обеспечение для автоматической очистки реестра, но хотя он сделал настроить аппаратные средства, программное обеспечение, и арбитр разделы он не удалил записи фантомный COM-порт. Даже перезагрузка с удаленным устройством «USB to 2serial Port» не очистила систему должным образом.

впрочем, инструкции на это PDF не работает правильно:

для Win7, я отрегулировал инструкции немного на этом PDF к be:

  1. нажмите Пуск / (правый клик:) Компьютер / Свойства / Дополнительные Системные настройки (не Диспетчер устройств)
  2. Нажмите Кнопку Переменные Среды
  3. Нажмите в системных переменных (нижняя часть) нажмите кнопку Создать
  4. введите имя переменной: DEVMGR_SHOW_NONPRESENT_DEVICES
    Введите Значение Переменной: 1
  5. нажмите OK (выход из окружения)

нажмите OK (выход из системы Properties)

Нажмите Кнопку «Пуск». В поле команда введите команду управление Откроется окно Управление компьютером .

  • Нажмите Диспетчер Устройств
  • нажмите Вид и выберите Показать скрытые устройства
  • выберите порты (COM & LPT)
    Теперь появляются все порты, real (черный текст) и phantom (серый текст).
  • один за другим, щелкните правой кнопкой мыши фантомные порты, и выберите Удалить
  • этот теперь следовало убрать из системы ненужные порты USB на Фантом.

    Примечание: после очистки всех моих фантомных портов, оставив только «COM1», я нахожу мой реестр показывает:

    и щелчок правой кнопкой мыши на компьютере / свойствах / Диспетчере устройств / портах показывает только COM1. Щелкните правой кнопкой мыши на COM1 / свойства / параметры порта / дополнительно показывает порт COM1 порт com2 с «использованием» и COM3 «в использовании». Все остальные настройки до 7, которые раньше были «в использовании», теперь освобождены. Так только Настройка «арбитр», похоже, говорит системе Win7, что действительно»используется». Компьютерная система управления очистила арбитра, но не очистила раздел программного обеспечения.

    Как очистить используемые COM-порты?

    Как очистить эти используемые COM-порты?

    Читайте также:  About windows run command

    Кажется, что номера COM-порта всегда заняты чем-то, и хотя сейчас у меня есть только 4 последовательных порта (3 через Bluetooth и один USB-порт для RS-232), у меня установлено множество COM-портов, которые используются. Я бы хотел немного очистить этот список.

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

    Ну, я просто очистил бесчисленное количество USB-устройств, которые когда-то были подключены к компьютеру с помощью USBDeview, и проблема все еще остается.

    Запустите диспетчер устройств из командной строки с повышенными правами:

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

    1. Нажмите Пуск → Выполнить → введите regedit и нажмите кнопку ОК
    2. Перейдите к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
    3. Теперь на правой панели вы можете увидеть ключ ComDB . Щелкните правой кнопкой мыши и выберите «Изменить».
    4. В разделе Значение выберите все и удалите сброс до нуля ( 0 )
      Его 32 байта с 8 битами в каждом байте в шестнадцатеричном представлении. Бит значения 1 делает номер порта (1 . 256) зарезервированным. Первые 8 портов находятся в двух крайних левых шестнадцатеричных значениях, биты возрастают от нижнего к верхнему справа налево, следующие 8 портов находятся во вторых двух и т. Д .: шестнадцатеричный код F3 24 будет двоичным 1111 0011 0010 0100 , что означает, что используются следующие порты: 1, 2, 5, 6, 7, 8 ( 1111 0011) и 11, 14 ( 0010 0100) ,
    5. Закройте редактор реестра и перезагрузите компьютер. Если вы установите значение для 0 всех свободных портов COM.

    Возможно, вам придется переустановить любой USB-последовательный преобразователь.

    Спасибо за все советы выше. Я написал программное обеспечение для автоматической очистки реестра, но, хотя оно и отрегулировало разделы «Оборудование», «Программное обеспечение» и «Арбитр», оно НЕ удаляло фантомные записи COM-порта. Даже перезагрузка с удаленным устройством «USB to 2Serial Port» не очищала систему должным образом.

    Однако инструкции в этом PDF- файле работали правильно:

    Для Win7 я немного скорректировал инструкции для этого PDF, чтобы:

    1. нажмите Пуск / (щелкните правой кнопкой мыши 🙂 Компьютер / Свойства / Дополнительные параметры системы (не Диспетчер устройств)
    2. Нажмите Переменные среды
    3. Нажмите в системных переменных (нижний раздел) нажмите New
    4. Введите имя переменной: DEVMGR_SHOW_NONPRESENT_DEVICES
      Введите значение переменной: 1
    5. Нажмите кнопку ОК (выход из среды)

    Нажмите OK (выход из Системных свойств)

    Нажмите Пуск. В командной строке введите Manage Это показывает окно управления компьютером .

  • Нажмите Диспетчер устройств
  • Нажмите View и выберите Show Hidden Devices
  • Click Ports (COM & LPT)
    Теперь отображаются все порты: реальный (черный текст) и фантомный (серый текст).
  • Один за другим, щелкните правой кнопкой мыши на фантомных портах и ​​выберите Удалить
  • Теперь это должно было очистить вашу систему от ненужных фантомных USB-портов.

    Примечание: после очистки всех моих фантомных портов, оставляя только «COM1», я вижу, что мой реестр показывает:

    А при щелчке правой кнопкой мыши на компьютере / Свойства / Диспетчер устройств / Порты отображается только COM1. Щелкните правой кнопкой мыши на COM1 / Свойства / Настройки порта / Дополнительно показывает, что COM1 с COM2 «используется» и COM3 «используется». Все остальные настройки до 7, которые раньше использовались, теперь освобождены. Так что, похоже, только параметр «Арбитр» сообщает системе Win7, что действительно «используется». Система управления компьютером очистила арбитра, но не очистила раздел программного обеспечения .

    Оцените статью
    Adblock
    detector