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

36

Как очистить эти используемые COM-порты? введите описание изображения здесь

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

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

ОБНОВИТЬ:

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

AndrejaKo
источник

Ответы:

33

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

> set DEVMGR_SHOW_NONPRESENT_DEVICES=1
> devmgmt.msc

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

grawity
источник
1
Скрытые последовательные порты не являются основной причиной проблемы. Как и ожидалось, я обнаружил множество экземпляров последовательных портов, созданных моим адаптером USB-RS-232, но даже когда они очищены, у меня все еще есть 11 дополнительных COM-портов, установленных как используемые.
AndrejaKo
1
@AndrejaKo: У вас есть какие-либо устройства, перечисленные в разделе «Модемы»? Они также занимают 1 последовательный порт каждый.
grawity
Да, но там только один модем.
AndrejaKo
Это работает, но установка системной переменной, как видно из ответа @Michael Herman, IMHO - лучший способ, и представление в Диспетчере устройств «показать скрытые устройства» работает впоследствии. Я не знаю, почему MS отключила эту системную переменную на моем ПК по умолчанию.
Том Кушель
Это сработало для меня в Windows 7 64-разрядной версии Enterprise Edition из командной строки с повышенными привилегиями
Тахир Халид,
28

Я нашел полезный ответ на Как очистить или сбросить 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-последовательный преобразователь.

хоккейный каток
источник
1
Добро пожаловать в суперпользователя. Я отредактировал ваш ответ и добавил еще несколько деталей. Не стесняйтесь откатить свой пост, если это необходимо.
nixda
Выглядит интересно! Я попробую это и сообщу результаты.
AndrejaKo
Нет, я точно следовал этому, и он не удалил ни одного из них.
Боб Бруниус
@nixda разве это 1,2,5,6,7,8, 11,14 ?
Кимлив
@kimliv Я не вставил эту часть ответа. Это был редактор после меня :) Так что вы должны спросить его
nixda
13

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

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

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

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

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

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

Теперь это должно было очистить вашу систему от ненужных фантомных USB-портов.

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

Hardware:   COM1
Software:   COM1, COM2, COM3, COM4, COM5
Arbiter:    COM1, COM2, COM3

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

... многие загадки Microsoft ...

Майкл Херман
источник
Это представление имеет много ошибок форматирования на мой вкус. Не стесняйтесь потратить некоторое время на форматирование вашего представления, и я переверну свой голос.
Ramhound
Удивлен, что этот ответ не имеет голосов, так как это единственный ответ, который фактически решил мою проблему на Win7
bas
Ух, у меня было множество сопоставленных неиспользуемых портов. Хотя у меня никогда не было проблем с отображением «используемого» порта, это хорошая уборка.
Нинга,
PDF Неработающая ссылка. Где в реестре находится «Аппаратный, программный арбитр»? Есть ли другие инструкции, которые следует перенести, но они были потеряны для PDF?
Ассимилятор
8

Решение проблем с драйверами USB

Метод с использованием повышенной командной строки

т.е. введите cmd в строке поиска, затем щелкните правой кнопкой мыши cmd.exe, выбрав Запуск от имени администратора

• 1-й этап Как обсуждено из типа командной строки; set devmgr_show_non_present_devices = 1 devmgmt.msc

    Under Ports (Com & LPT) delete all instances of  prolific USB to Serial Comm Port

• 2-й этап снова из командной строки с повышенными правами - удаление пакетов драйверов из хранилища драйверов. Хранилище драйверов - это защищенная область компьютера, содержащая пакеты драйверов устройств, которые были одобрены для установки на компьютер.

    You need to Identify OEM#.inf  where # is a number so type 
        pnputil.exe -e      (then enter)

    Read the entries in the output to find the description of your package(s) and its file name(s)


    Its highly likely you will have multiple entries from previous attempts.

Обратите внимание на все экземпляры oem ###. Inf плодовитого драйвера, где # (хэш) - это номер.

    To remove entries type:
        pnputil.exe -d  oem###.inf

(используйте пробел между exe & - и d & Oem, затем нажмите enter) Не забудьте заменить # на номер inf-файла, который вы хотите удалить.

Если компьютер сообщает, что пакет драйверов используется установленным в данный момент устройством, необходимо сначала удалить устройство или использовать -f в команде pnputil, чтобы принудительно удалить пакет.

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

Если вы сделаете все это перед загрузкой правильного пакета драйверов и попытаетесь оставить устройство Com вставленным в тот же порт, а не перемещать его вокруг своих портов, у вас будет меньше проблем с драйвером Prolific.

Antony
источник
1

Я обнаружил, что этот инструмент отлично работает для этой проблемы.

Устройство для удаления устройства https://www.majorgeeks.com/files/details/device_remover_543c.html

Просто загрузите его, нажмите «Режим отображения», «Показать только скрытые / отключенные устройства» , проверьте «Порты» (который выбирает все неиспользуемые ком-порты), затем нажмите «Удалить все отмеченные» и подтвердите удаление при появлении предупреждения. появляется.

Ура!

~ Эндрю

EmpoweringSolutions.net

EmpoweringSolutions.net
источник
0

У меня есть простое решение, которое сработало для меня ... мой счет был до 45 используемых портов!

1) Откройте диспетчер устройств

2) В меню «Вид» выберите «Показать скрытые устройства».

3) Разверните категорию «Порты (COM и LPT)» из списка.

4) Щелкните правой кнопкой мыши на всех устройствах и удалите их (не нужно ставить галочку для удаления драйвера)

5) В меню «Действие» выберите «Сканировать новые устройства».

6) Альт! Все фактические устройства будут переназначены из COM1

Пол Прицис
источник
1
вуаля не альт
Джейсон С
Это уже было предложено в уже существующем ответе .
Гость-vm
0

Это не сработало для меня. Но официальная страница справки Microsoft сработала для меня.

С https://support.microsoft.com/en-us/kb/222018

  • В папке «Принтеры» выберите «Свойства сервера» в меню «Файл».
  • Перейдите на вкладку «Порты», выберите порт, который хотите удалить, нажмите «Удалить порт» и нажмите кнопку «ОК».
Насиф Мд. Танджим
источник
1
Это на самом деле работает для последовательных портов в Windows 7? Кроме того, вы должны суммировать содержание ссылки в своем ответе, вместо того, чтобы просто указать ссылку на случай, если произойдет гниение ссылки.
AndrejaKo
Гниение
-1

(Для тех кто пришел из гугла)

Если предыдущий ответ не работает и установлен Windows Mobile 6 SDK. Это может быть проблема с XPVCOM.SYS (этот драйвер зарезервировал 14 COM-портов) для удаления в консоли

CD \ Program Files \ Windows Mobile 6 SDK \ Инструменты \ Эмулятор сотовой связи \

InstallXPVCom.exe Удалить

затем перезагрузите компьютер.

ZtareKQF
источник
-1

Для тех, кто не хочет использовать линейный интерфейс CMD, я использую это в Windows 7.

  1. Открытая панель управления
  2. Выберите «СИСТЕМА» из меню
  3. Выберите «РАСШИРЕННЫЕ СИСТЕМНЫЕ НАСТРОЙКИ» слева
  4. Выберите «ПЕРЕМЕННЫЕ ОКРУЖАЮЩЕЙ СРЕДЫ» в правом нижнем углу окна
  5. Найдите «DEVMGR_SHOW_NONPRESENT_DEVICES» в списке системных переменных. Если его там нет, создайте его и присвойте ему значение переменной
    1. Вернитесь с OK, OK, OK. Вы вернулись на экран панели управления.
  6. Выберите «Диспетчер устройств» и перейдите в «Просмотр»
  7. Выберите «Показать скрытые устройства», и все скрытые устройства, включая порты связи, будут показаны серым или Ghosted.
  8. Выберите те, которые вы хотите удалить, щелкните правой кнопкой мыши и выберите «Удалить»
Гари Карли - Com Tech
источник
3
Это уже было предложено в уже существующем ответе .
Гость-Вм