Модем для com порта windows

Электроника для всех

Блог о электронике

Терминальные программы

Практически постоянно приходится смотреть что шлет контроллер или заслать в него какой нибудь байтик. Это нужно для отладки, иногда для настройки. Порой для управления. Кому как, я так для отладки использую. Без толкового инструмента тут никак, поэтому я давно уже присмотрел себе парочку прикольных программок.

Первой хотел бы упомянуть Terminal v1.9b by Bray. На мой взгляд — гениальная программа! Более удобного интерфейса для работы я не встречал. Судите сами — все под рукой!

Для настроек скорости работы, номера порта, параметров передачи и прочих сиюминутных потребностей не надо даже по менюшкам лазать — все прям сразу же. Также можно в один тык выдать инфу в разных системах счисления, что порой бывает очень удобно. Я бы сказал жизненно необходимо.
В один клик доступна таблица ASCII, а среди особых фишек которую я очень люблю — возможность выдать поток данных в виде графика от 0 до 255.
А еще можно писать скрипты на паскалеподобном языке, делающие с входящими-исходящими данными всякие непотребности.
В общем, рулез!

Из минусов можно только отметить некоторую тормознутость при выводе в Hex кодах, но это мелочи. Еще автор похоже забил на эту разработку, так что новых версий я не видел уже много лет. Найти эту дивную программу можно много где, в том числе и у меня:

Вторая программа это COM Port Toolkit от Михаила Голикова. Ей я пользуюсь гораздо реже, но она умеет весьма нужную штуку — возможность перехватывать обмен данными между софтом и физическим COM портом. Это чертовски выручило меня когда я ломал защиту PLC, а также помогло отреверсить обмен между программой настройки модулей HM-TR433. В общем, редко, но метко.

Программка эта довольно проста в обращении, имеет три режима работы:

  • Терминал
    Может выдавать логи обмена данных улетевших к нами от нас. Слать из файла. Обрабатывать пересылаемое макросами (что может быть очень крутым подспорьем, но мне пока не пригождалось). Терминал как терминал, ничего особенного.
  • Прослушка
    Это фишка уже поинтересней. Позволяет воткнуть комп в разрез между принимающим и передающим девайсом и прослушать передачу данных кто кому и что передал. Также ведутся логи с указанием времени передачи посылки.
  • Захват
    Вот за эту фичу я и люблю эту программу — возможность снифферить обмен между софтом и портом. Редкая фича. Из бесплатных программ я нигде такого не встречал, а у программ вроде Advanced Serial Port Monitor или Free Serial Port Monitor эта фича доступна только в платной версии, тут же ее можно заюзать даже в демо версии.

Также можно писать скрипты на этот раз уже на Си подобном языке. Мне это больше нравится, т.к. я его лучше знаю.

Читайте также:  Приложение photos windows 10 не работает

Недостатков пожалуй три:

  • Невозможность разделить в режиме «Захват» входящие и исходящие данные на два разных окна.
  • Отстуствие русской документации, хотя бы по тому же скриптописанию.
  • Шароварность. Впрочем, я бы не назвал это недостатком. Автор, я думаю, не святым духом питается.

Демка проработала 30 дней, потом захотела денег. Но свою работу по облегчению разбора протокола обмена PLC она выполнила.

Поначалу была мысль вспомнить шальное детство, сдуть пыль с родимого SoftICE и похачить защиту, но потом вспомнил что шашек такой формы не брал в руки уже лет 5, как минимум. Да и цена программы оказалась смешной — всего 10 баксов для русскоязычных пользователей.
Так что проще было ее зарегистрировать. Тем более штука нужная и уже неоднократно себя окупившая.

Открытие COM-портов в модеме с HiLink прошивкой

Мы поговорим об открытие COM-портов в модеме с HiLink прошивкой и об ошибках возникающих при этом.

Важно. К компьютеру должен быть подсоединён ТОЛЬКО МОДЕМ, отключены ВСЕ ДРУГИЕ СЕТЕВЫЕ ПОДКЛЮЧЕНИЯ (локальные, кабель, Wi-Fi. ), установленные АНТИВИРУСЫ, включённые ФАЙРВОЛЫ, закрыть всё то, что может занимать порты (DC-Unlocker, Терминал и т.п.) и все Приложения и Процессы в Диспетчере задач, связанные с модемом (смотреть по названиям операторов и приложений).
Модем подключать через интерфейс порта USB 2.0 (В системном блоке подключаться к USB разъёмам на задней панели.)

Необходимо наличие в ОС драйвера — Fc Sеrial Driver

Нужно перевести HiLink-модем в режим с портами, но http://192.168.1.1/html/switchProjectMode.html или http://192.168.8.1/html/switchProjectMode.html (switchDebugMode.html) не работает:

Переключение устройства в Project/Debug mode (открывалка портов) скачать.

Внимание! Скрипт порты не откроет, если, по какой-либо причине, нет доступа к модему по сети.

Автоопределение в DC-Unlocker (Запуск от имени администратора) и нажать лупу, затем в Диспетчере устройств (ДУ) посмотреть порты. Если порты не появились, то закрываем DC-Unlocker, пере подключаем модем и снова запускаем DC-Unlocker.

Если вышеописанные способы не открыли порты, то надо удалить MobileBrServ, если установлена

и(или)
отключить Управление переключением во вторичную, рабочую USB-композицию в Windows, если включено и попробовать ещё раз.
При отсутствии положительного результата —>

Восстановление модемов не аварийным методом (без иголки) (Под сполейром будет метод как для модемов с прошивкой HILINK, так и STICK

Запустить Диспетчер задач и в нём закрыть все Приложения и Процессы, связанные с модемом (смотреть по названиям операторов и приложений), а также всё то, что может занимать порты (Терминалы, Операторские утилиты и т.п.).

Перевести модем в режим загрузки:

1. Удалить все драйверы для модемов и программы управления модемами (модем отсоединён);

3. Установить на компьютер без подключённого модема эти драйверы:
HUAWEI DataCard Driver 6.00.08.00 (иногда, в более ранние ОС, лучше устанавливать HUAWEI DataCard Driver 5.05.01.00);
Fc Sеrial Driver;
set hilink switch (Удалить MobileBrServ, если ранее была установлена. Выполнить скрипт set_hilink_switch_01.exe, выбрать «1 — включить переключение» и перезагрузить систему)

4. Подключить модем без сим-карты и флеш-карты (microSD), на предложение установить программное обеспечение с модема, нажать на кнопку «ОТМЕНА» и дождаться установки ранее установленных драйверов, если ОС предложит перезагрузиться —> перезагрузиться, нет —> нет.
Желательно: в DC-Unlocker (Запуск от имени администратора) определить модем (выбрать «Автоопределение» и нажать лупу, если в Диспетчере устройств (ДУ) порты не появились —> закрыть DC-Unlocker —> переподключить модем —> и снова определить DC-Unlocker-ом. Если порты появились, но пишет: «Модем не найден!», то, просто, перезапустить DC-Unlocker или вторично нажать лупу. ) —> закрыть DC-Unlocker и продолжить;

Читайте также:  Запуск iis windows 10

5. Открыть Терминал нажать «Порт«, выбрать PC UI Interface, нажать на кнопку «Закрыт«, в случае соединения программы терминал с этим портом, кнопка «Закрыт» переименуется в кнопку «Открыт«.
а) Выполнить две АТ команды ( через меню Терминала «Действия» ): AT^CURC=0 затем ATE1.
б) Набрать последовательно команды: AT^DATALOCK=»код v201(или v2)», затем AT^GODLOAD в поле «Отправить«, нажимая кнопку «Отправить«. Закрыть терминал, посмотреть Диспетчер Устройств на наличие портов.
в) Код v201 (или v2) можно получить у нас.

Перевести модем в режим загрузки:
1. Повторить все то же самое, как и по Код 12 и 16

Модем для com порта windows

Всех приветствую вновь на страницах своего блога и сегодня хочу рассказать, как подключить com порт usb в Windows . Поговорим, что это такое и для чего используется. Я думаю для начинающих сетевых администраторов, да и просто для продвинутых пользователей это будет интересно, для меня в свое время это было просто какой-то магией, позволяющая настраивать серверное оборудование.

Что подключают через com порт

Через com порт ранее подключали модемы, мышки. Сейчас он используется для соединения с источниками бесперебойного питания, для связи с аппаратными средствами разработки встраиваемых вычислительных систем, спутниковыми ресиверами, кассовыми аппаратами, с приборами систем безопасности объектов, а также с многими прочими устройствами.

С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) — для отладчика уровня ядра.

Но в сетевом мире через com порт подключаются к консольному порту сетевых устройств (коммутаторов, роутеров, таких брендов как Cisco или Juniper)

Какая схема подключения к коммутаторам через последовательный порт. Есть переходники, например от фирмы st-lab На одном конце USB который вы подключаете к компьютеру, а второй это com порт.

Далее к ком порту подсоединяется вот такой шнурок, com порт, а с другой стороны LAN RJ45, и вся схема дает нам один большой шнурок USB to LAN.

Установка драйверов com порт usb в Windows

К сожалению в Windows подключенные устройства, usb to com не всегда автоматически устанавливаются в системе, и приходится искать для них драйвера. Если вы покупали его сами, то в комплекте шел диск с драйверами, и можно воспользоваться им, если его нет, то смотрим как найти драйвера.

Открываем диспетчер устройств в Windows. Если не знаете как, то нажмите CTR+Pause breake, либо нажмите Win+R и в окне выполнить введите devmgmt.msc. Как видите у меня в разделе Порты (COM и LPT) нашелся на третьем COM порту неизвестный провод, и драйверов для него не нашлось у системы, о чем говорит нам желтый значок.

Читайте также:  Неизвестное устройство windows 10 acpi int33a0 0

Переходим в свойства данного устройства и выбираем ИД оборудования, у вас будет, что то по типу usb\VID_067B&PID_2303&REV_0300, вот его вы копируете и ищите в гугле или яндексе.

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

Далее вы уже можете использовать возможности com порта, с помощью таких утилит на подобие Putty, где вы выбираете пункт Serial и указываете нужный порт Com порта, посмотреть его можно в том же диспетчере устройств.

Надеюсь вы научились и разобрались как подключать com порт usb в Windows.

Программное определение используемого 3g модемом COM порта в Windows

ОС WIN ХР SP3, 3G-модем Huawei или 3G-модем Alcatel, установленные драйвера к ним и готовые подключения в папке «Сетевые подключения»

Известно также, что при непосредственном подсоединении модема к порту USB, создается несколько виртуальных COM-портов (для разных моделей число может быть различным, как правило — от 2 до 4 портов).
Номера портов, естественно, произвольные и при каждом подключении могут изменяться.
Один из этих портов распознается в Диспетчере устройств на вкладке «Модемы»как 3G-модем, а остальные порты располагаются во вкладке «Порты (COM и LPT)», и им присваиваются какие-либо номера.

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

Вопрос: как программно(с помощью WINAPI, язык С/С++), определить для данного подключения, в какой (в какие) порты для этого модема осуществлять запись, а из какого (из каких) портов производить чтение ответов?

Моя идея была в том, чтобы программно получить название COM-порта из ярлыка Подключения (см.Исходные данные), а далее отправить стандартную команду AT, при этом в цикле перебирая и прослушивая все свободные COM-порты. Получив ответ на каком-либо из них(либо на нескольких сразу), считать что пара портов для записи-чтения найдена.

Проблема, с которой я столкнулся, заключается в том, что мне не удалось найти подходящей функции WINAPI, которая, грубо говоря, по входному параметру «Имя_подключения» вернула бы «Имя_COM_порта», соответствующее этому подключению.
При этом, в самом ярлыке Подключение этот COM-порт вполне хорошо виден.
(Для примера в случае Мегафона в его Подключении указан COM9, а на вкладке «Порты (COM и LPT)» виден COM10, соответственно пишем в COM9, читаем из COM10. А Alcatel вообще открывает 4 COM-порта).
Для решения этой задачи использовал подмножество функций и структур RAS из WINAPI, но, как сказал выше, не нашел подходящей функции для возврата имени COM-порта.

Возможно, задачу надо вообще решать по-другому. Как быть?

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