- COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
- Очистка занятых COM портов
- Смена номера COM порта для конкретного устройства
- Сброс привязок COM портов через реестр
- Как очистить занятые com-порты в ОС Windows
- Способ 1. Смена номера COM-порта для конкретного устройства
- Способ 2. Если не получается освободить занятый COM-порт, применяем сброс привязок COM портов через реестр
COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 2, диагностика на компьютере.
Статья вторая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Рассматриваем вопросы диагностики COM порта со стороны компьютера.
Начнем с самого простого, найдем на компьютере COM порт визуально.
Рис. 1. Пример расположения COM порта на задней планке материнской платы.
Однако на привычном месте может не оказаться разъема COM порта, это не беда. Заходим в диспетчер устройств, и смотрим в нем наличие COM порта.
Рис.2 Проверяем наличие COM порта на компьютере при помощи диспетчера устройств.
В данном примере всего один COM порт, на самом деле их может быть два или вообще не быть. Этот факт не является дефектом, просто стандарт на обязательное присутствие COM порта был отменен в далеком 1999г. Однако это повод задуматься при выборе материнской платы для нового компьютера — если Вы собираетесь активно эксплуатировать COM порт, то желательно остановить свой выбор на материнской плате в которой есть хотя бы один COM порт. Отсутствие COM порта на компьютере не является серьезной проблемой. На рынке достаточно устройств при помощи которых, эту проблему можно решить, но об этом чуть попозже.
Итак COM порт обнаружен программно, а физически его не видно, он расположен на материнской плате и для его физической реализации нужна планка (посмотреть), которую придется либо сделать самостоятельно, либо купить в магазине.
Рис. 3 Вид разъемов COM порта для реализации под планку. На фото, материнская плата с двумя COM портами.
После подключения планки COM порта остается только проверить работоспособность COM порта.
С планками все не так просто, на самом деле планок существует два типа. Оба имеют место быть, но предназанечены для работы на разных материнских платах.
Рис. 4 Внешний планок для работы на разных материнских платах.
Планки не взаимонезаменяемые, чаще всего встречался вариант I.
| |
Рис. 5 Вариант I распайки кабеля планки COM порта | Рис.6 Вариант II распайки кабеля планки COM порта |
Нет связи компьютера с подключаемым устройством.
| |
Рис. 11 Программа Commtest обнаружила технологическую перемычку на COM порту. | Рис. 12 Программа Commtest не обнаружила технологическую перемычку на COM порту. Порт COM1 неисправен, либо заглушка установлена на другом порту |
Если COM портов несколько, то необходимо перебрать все COM порты которые присутствуют в диспетчере устройств, есть вероятность, что при открытии другого порта — связь появится. Таким образом Вы получаете номер порта на который установлена заглушка.
Внимание! Данная проверка проверяет только канал Rx-Tx и не является 100% гарантией того, что порт исправен, однако хотелось бы обратить внимание что 90% устройств работают именно только по этим проводам. |
Внимание! Проверка на другом компьютере связь есть, проверка на проверяемом компьютере связи нет. Не является гарантией того, что COM порт неисправен. Пример кабель от ККМ Fprint-03К |
Комплексная проверка COM порта на стороне компьютера.
Принцип такой проверки очень похож на рассмотренную выше проверку по каналу Rx-Tx, суть та же, с передатчика сигнал должен прийти в приемник, если сигнал прошел, то можно считать, что пара исправна. Из оставшихся 7 контактов,1 контакт это земля его мы не проверяем.
Остается 6 контактов, из них два передатчики (DTR, RTS) и четыре приемники (DCD, DSR, CTS, RI). Правило тут простое — передатчик должен прийти на приемник, логично предположить, что на один передатчик следует нагрузить по два приемника. Хотя можно и на один передатчик повесить три приемника, а на второй предатчик посадить только один приемник, как делать дело Ваше . Самое удобное, в плане изготовления это 4->1,9 и 7->6,8 проводов получается по минимуму.
| |
Рис. 13 Технологическая заглушка для проверки COM порта, вид со стороны контактов. | Рис. 14 Технологическая заглушка для проверки COM порта, вид со стороны пайки. |
На рисунке для удобства синим цветом выделены передатчики.
Все в той же программе CommTest, но уже в другой части окна взводим флажок передатчика DTR и(или) RTS и смотрим, как изменяются соответствующие флажки приемника.
При изменении флажка DTR — должны взвестись флажки DCD и Ring, при сбросе флажка DTR – должны сбросится флажки DCD и Ring.
| |
Рис. 15 Флажок DTR сброшен | Рис. 16 Флажок DTR взведен, в примере не смотря на перемычку флажок Ring не взвелся, можно судить о не исправности приемника Ring |
При изменении флажка RTS — должны взвестись флажки DSR и CTS, при сбросе флажка RTS – должны сбросится флажки DSR и CTS.
| |
Рис. 17 Флажок DSR сброшен | Рис. 18 Флажок DSR взведен |
|
Рис. 19 Флажок DSR и DTR взведен |
Как проверить передатчик – приемник Tx-Rx рассмотрено немного ранее.
Если данные события происходят можно считать, что COM порт стандарта RS232 со стороны компьютера полностью исправен.
Очистка занятых 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 порт уже занят, и мы хотим его попробовать его освободить.
- Запустим диспетчер устройств (Device Manager) таким образом: set devmgr_show_nonpresent_devices=1
start devmgmt.msc - В меню консоли выберем View->Show Hidden Devices.
- Разверните ветку Ports (COM &LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что данный COM порт назначен, но в настоящий момент это устройство не подключено). Щелкните по нему ПКМ и выберите Uninstall
- Освобожденный 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-порты в ОС Windows
📝 Рассмотрим вопрос очистки занятых COM-портов на рабочих местах.
При подключении нового COM или USB-устройства ОС Windows назначает первый свободный номер COM-порта в диапазоне от 1 до 255.
Ряд устаревших приложений корректно работают только с портами COM1-COM9.
Что делать, если порты заняты? Как сбросить нумерацию для зарезервированных портов?
Указанные способы применяются, если при попытке смены автоматически выданного порта система пишет, что «низкие» COM уже используются (in use). Методика проверена на Windows 7.
Способ 1. Смена номера COM-порта для конкретного устройства
Чтобы освободить требуемый порт:
- запустите Диспетчер устройств (Device Manager) через командную строку с правами администратора;
- в меню выберите « Вид — Показать скрытые устройства » (« View — Show Hidden Devices »);
- разверните ветку Ports (COM & LPT) и в списке найдите устройство, которому назначен нужный COM порт (бледная иконка означает, что порт зарезервирован, но устройство не подключено). Щелкните по нему правой кнопкой мыши и выберите Uninstall;
- переназначьте освобожденный COM-порт другому устройству.
Способ 2. Если не получается освободить занятый COM-порт, применяем сброс привязок COM портов через реестр
✅ Для этого используем программу COM Name Arbiter Setter .
Интерфейс интуитивно понятен — убирая «галочку» с выбранного порта, информация добавляется в реестр, и порт освобождается.
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.