Просмотр полной версии : Виртуальные порты E1550.
VladSoft
19.11.2010, 11:07
Доброго времени суток!
При установке модема (E1550) в систему, его драйвер создает 3 виртуальных COM порта (допустим COM3, COM4, COM5). При этом если прослушать их через HyperTerminal то:
-COM3 - можно слать команды в модем, но не принимать ответов;
-COM4 - ни как не реагирует;
-COM5 - можно слать команды и принимать ответы а так же принимает
какие то служебные сообщения от модема (типа ^BOOT...);
Кто нибудь может разрулит по назначению портов?
DarknessPaladin
20.11.2010, 13:32
первый порт — 3G Modem. собственно модем, через этот порт происходит передача данных, когда модем используется для выхода в инет. в менеджере девайсов — раздел "модемы"
где статусные сообщения — это порт 3G PC UI Interface, предназначен для работы программы управления модемом (чтоб можно было мониторить статус, когда основной порт занят модемным соедиением)
третий — 3G Application Interface. dc unlocker говорит, что он для диагностики.
VladSoft
21.11.2010, 13:51
Спасибо за ответ, DarknessPaladin!
Шустрый модемчик - вчера у меня прога сглючила(охранка), так он 105 смс-ок в течении 4-х минут отправил (разорил меня, гад такой!). Раньше Siemens в качестве модема использовал - так тот даже и не мечтет о такой "скорострельности"... :)
Интересно вот ещё,
когда модем настроен на использование microSD, эти порты как-то учавствуют в обмене данными с ней, или там свой итерфейс обмена...?
Я бы изменил мир, но бог не дает исходники...
DarknessPaladin
21.11.2010, 15:30
с точки зрения usb-подсистемы, модем содержит "основное устройство" (Composite Device) -- это примерно то же, что юсб-хаб. к нему подключены:
Modem
Application Interface
UI Interface
сидиром
адаптер ммс-карт
т.о., адаптер карт является с программной точки зрения совершенно независимым устройством.
(ат-команды, включающие или отключающие его, воздействуют не на сам адаптер, а на управляющую им систему)
VladSoft
21.11.2010, 18:06
Насколько я понимаю, можно использовать модем для одновременного конекта в инете (EDGE) и принимать-отправлять SMS или делать звонки (прога MTS Connect).
Как работать с отправкой и приемом SMS на уровне AT комманд - более менее понятно. Но не могу провести на уровне AT команд - коннект с инетом. :(
Посоветуй, пожалуйста как это сделать правильно?
Я бы изменил мир, но бог не дает исходники...
DarknessPaladin
21.11.2010, 19:46
Но не могу провести на уровне AT команд - коннект с инетом.
и не сможешь :) у любых модемов, определяемых в винде как "модем", нет и не может быть команды "дай мне интеренета" :)
помимо отдачи модему команды "звони!", твоя программа должна будет "договориться" с пулом провайдера, и обменом данными между ОС и модемом тебе придётся заниматься самостоятельно.
Если ты пишешь прогу для какого-то автономного девайса (на x86 или на uC — не важно), подобный изврат может иметь смысл (хотя лучше на девайс поставить Линух, там уже всё есть ;) )
Под виндой — коннект вообще не требует никаких ат-комманд. пинай систему, пусть она сама звонит. :) через API или просто вызовом "rasdial имя_подключения_в_папке_удалённых_подключений". в моём терминале (см. в подпись) так и сделано.
VladSoft
21.11.2010, 22:18
Прога пишется под винду. На счёт rasdial - хорошая мысль! Спасибо.
Я бы изменил мир, но бог не дает исходники...
DarknessPaladin
21.11.2010, 22:34
rasdial -- это крайний случай. причём обратите внимание, мой терминал перехватывает его вывод.
для нормальной работы с коннектами юзайте API.
http://yandex.ru/yandsearch?text=RASApi+-delphi&clid=9582&lr=213
VladSoft
22.11.2010, 09:12
Пользовался Вашим терминалом - очень удобно! :)
А как вы определяете назначение порта в модеме:
HUAWEI Mobile Connect - 3G Modem,
HUAWEI Mobile Connect - 3G Application Interface или
HUAWEI Mobile Connect - 3G PC UI Interface?
Я бы изменил мир, но бог не дает исходники...
DarknessPaladin
22.11.2010, 16:08
назначение???
в смысле "имя"?
вообще я неправильно его определяю, читаю куст HKLM\SYSTEM\CurrentControlSet\Enum\USB, ищу в нём тех девайсов, у кого есть подраздел Device Parameters и параметр PortName в нём. как ясно из названия, он содержит имя порта.
если имя совпадает с именем того порта, о котором я хочу знать (мне же нужны только те, кто подключен сейчас, верно?), читаем параметр FriendlyName уровнем выше.
VladSoft
22.11.2010, 19:40
вообще я неправильно его определяю,
Почему неправильно?
Наверное и нет иного способа узнать их имена!
подскажите пожалуйста, существуют ли какие-нибудь АТ команды срабатывающие на COM порту HUAWEI Mobile Connect - 3G PC UI Interface, но не срабатывающие на HUAWEI Mobile Connect - 3G Modem ...
или может существуют команды позволяющие подключиться конкретно к HUAWEI Mobile Connect - 3G PC UI Interface?
Заранее СПАСИБО!
vBulletinВ®, Jelsoft Enterprises Ltd. Translate: zCarot