Upsdiag обнаружила что порт com1 занят другой программой

Сейчас повторял ошибку предварительно удалив файлы из папок Log и BugReport. В папку BugReport не записалось ничего .. в папке Log думаю наибольший интерес вызывают строки:

Сейчас повторял ошибку предварительно удалив файлы из папок Log и BugReport.
В папку BugReport не записалось ничего .. в папке Log думаю наибольший интерес вызывают строки:

13:14:41.882 [6064] TQueueTasks.OnDataChange
13:14:41.882 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 192, 192, 192, 192), pftTimeStamps=([4] 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05, 16.01.17 09:44:05), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:43.375 [7692] [ComPort] Инициализации СОМ порта — OK, Порт=COM10
13:14:43.759 [7692] [ComPort] Ошибка СОМ порта, Порт=COM10

Если воткнуть стандартный COM кабель в APC. Глупые ответы на глупые вопросы


13:14:43.769 [6064] TQueueTasks.OnDataChange
13:14:43.769 [6064] TQueueTasks.OnDataChange — OK, Result=OK (0x0), dwTransid=0, hGroup=0, hrMasterquality=0, hrMastererror=0, dwCount=4, phClientItems=([4] 253, 254, 255, 256), pvValues=([4] 1, 5, 2, 8), pwQualities=([4] 280, 280, 280, 280), pftTimeStamps=([4] 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43, 16.01.17 13:14:43), ItemIDs=([4] UniversContr.Globs.Adres, UniversContr.Globs.Speed, UniversContr.Globs.GlobMode, UniversContr.Globs.TypeIn)
13:14:54.931 [7692] [ComPort] СОМ порт недоступен, Порт=COM10
13:14:54.932 [7692] Ошибка инициализации порта (COM10 Адрес:1)
13:15:05.608 [7692] [ComPort] СОМ порт недоступен, Порт=COM10

тут видно, что сначала инициализация порта проходит «ОК» и сразу через 400 мс Ошибка COM порта. с чем это связано? хз.
сейчас видео скину как это выглядит.

Требования.
Статья применима для Windows 2000/XP/Vista/7.

Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: «Извините, но предпочитаемый порт номер занят!». И самое интересное программа не говорит чем или кем занят порт.

Как определить каким процессом (программой) занят порт.
1. В меню «Пуск» выберите пункт «Выполнить«;
2. В поле «Открыть» наберите команду cmd и нажмите кнопку «ОК»;

Откроется окно командной строки, примерно такого вида:

3. Наберите команду netstat -ano и нажмите кнопку «Ввод» (Enter) на клавиатуре;

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

4. Теперь в колонке «Локальный адрес», находим нужный нам порт и записываем его идентификатор в колонке «PID»;

Например порт номер 80, его идентификатор 440.

5. Снова открываем меню «Пучк» и выбираем пункт «Выполнить«;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку «ОК»;

Ставим драйвер com порта в Windows


7. В окне «Диспетчер задач Windows» переходим на вкладку «Процессы«;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать столбцы. «;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)» и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows«, нажимаем на заголовок столбца «PID», для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа«, смотрим какой процесс занимает наш порт;

Каждый раз при подключении нового 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 порт. В этом случае придется прибегнуть к редактированию реестра.

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

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


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

Однако именно забитость портов является одной из первостепенных причин некорректной работы сети: зависаний, торможений, «лагов». Каждая из программ хоть и использует свой порт, но порой несколько программ пересекаются в одном из них, и случается своего рода «затык». Как обнаружить пресловутый «затык» — расскажем далее.

Самая распространённая проблема занятости порта встречается именно с портом номер 80 — одним из самых основных маршрутов у многих программ.

Итак, нам нужна наша любимая командная строка. Вызывается она через меню «Выполнить», которое, в свою очередь, вызывается комбинацией горячих клавиш Windows+R. В меню «Выполнить» вводим cmd — мы в командной строке.

Здесь нам необходима команда netstat -ano (прописываем именно так, с пробелом перед дефисом и без пробела без него!).

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

date

02.02.2022

user

itpro

directory

PowerShell, Windows 10, Windows 7, Windows Server 2019

comments

комментариев 26

Когда вы подключаете к компьютеру новое 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 портов и удалить назначенные порты?

Читайте также:
Что является отличительной особенностью программы hot potatoes

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

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

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

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

  • В этом случае нужно попробовать удалить резервацию COM порта за другим устройством. В ветке Ports (COM
  • Щелкните по нему ПКМ и выберите Uninstall;Удаление отключенного COM устройства
  • Теперь вы можете назначить освобожденный COM порт другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку PortSettings ->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_MACHINESYSTEMCurrentControlSetControlCOM Name Arbiter

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

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

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

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

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

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

    SERIALCOMM

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

    Читайте также:
    Графический документ это программа для создания

    список COM портов в реестре

  • В ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionPorts содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);
  • Отключите все оборудование и перезагрузите Windows;
  • После перезагрузки включите оборудование в нужном порядке (переустановите конверторы USB-to-serial и т.д.). Все обнаруженные COM-порты автоматически определяться системой и им будут последовательно выделены номера COM портов.
  • Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:

    утилита COM Name Arbiter для очистки занятых COM портов в Windows

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

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    Источник: winitpro.ru

    Сom Port занят другим приложением – как освободить

    Windows

    Если вы пытаетесь открыть COM-порт в приложении, но получаете сообщение об ошибке “COM-порт занят другим приложением”, то это означает, что порт уже используется другим процессом или приложением.

    Если вы знаете, какое приложение использует порт, то вы можете попробовать закрыть это приложение, чтобы освободить порт. Если не знаете, какое приложение использует порт, то можно попробовать использовать диспетчер устройств Windows, чтобы узнать, какое устройство использует порт.

    Если порт используется системным процессом или службой Windows, то его можно освободить, остановив соответствующий процесс или службу. Для этого нужно выполнить следующие действия:

    1. Откройте диспетчер задач (нажмите Ctrl+Shift+Esc).
    2. Перейдите на вкладку “Службы”.
    3. Найдите службу, которая использует COM-порт, и остановите ее (щелкните правой кнопкой мыши на службе и выберите “Остановить”).
    4. Попробуйте открыть порт снова в вашем приложении.

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

    + zhivye-oboi-windows.ru Kernel Security Check Failure Windows 10: как исправить ошибку и убрать синий экран, 8 шагов

    Алексей Игнатьев/ автор статьи

    Специалист и эксперт zhivye-oboi-windows.ru — профессиональный консультант, системный администратор.
    Опыт работы в этой сфере 7 лет.

    Поделись публикацией
    Это так же интересно

    Использование настроек Windows 7. Использование Центра управления Windows 7. Использование комбинации клавиш на клавиатуре.

    Использование настроек Windows 11. Использование Центра управления Windows 11. Использование Панели задач Windows 11.

    Способы сделать браузер по умолчанию в Windows 7: “Панель управления” “Интернет-опции” “Редактор реестра” “Групповая

    Способы сделать браузер по умолчанию в Windows 11: “Настройки” Windows “Панель управления” “Ассистент по

    Для сделать вход в Windows 7 без пароля можно выполнить следующие действия: Откройте “Панель

    Как сделать вход без пароля Windows 11: Откройте “Панель управления” и выберите “Учетные записи

    С помощью встроенной программы “Дисковый образ” С помощью утилиты “Daemon Tools” С помощью программы

    С помощью встроенной в Windows 11 программы “Дисковый образ”. С помощью встроенного в Windows

    С помощью команды “regedit” в меню “Пуск” Через окно “Выполнить” и команду “regedit” Через

    Использование комбинации клавиш Win + R, ввод команды “regedit” и нажатие Enter Использование меню

    С помощью комбинации клавиш Win + R и вводом команды “regedit”. Через поиск в

    Как включить и настроить Родительский контроль Windows 7: Откройте Панель управления и выберите “Учетные

    Источник: zhivye-oboi-windows.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru