Как отправить ussd запрос с модема huawei

Обновлено: 06.07.2024

насколько я в этом понимаю, там не через модем, а через рил.
Принципиальной разницы нет, но не реализовано.

Кстати, боюсь, что универсально через AT-комманды, через модем будет не очень очевидно и просто. Вобщем, копать надо.


Added @ 15.07.2008, 22:21

Можно ли получить доступ к USSD через AT команды модема на сотовом телефоне.

а это очень просто, и я это не единожды делал.

Берем сотик и комп, соединяем шнурком и через обычную терминалку в компорт любые команды проходят, ответы возвращаются.

Теперь сотик и КПК. Проблема в "шнурке". Теоретически там тоже самое. Даже если через БТ, все равно сотик отдаст модем на ком-порт и все тоже самое.
Я пробовал простейшие AT-команды через терминалку с КПК - работало. Потом другим занялся, не доразобрался. Самому интересно, но руки не доходят.

Экспериментировал.
Нарыл АТ команду, которая вроде бы должна делать запрос баланса.

Но оно у меня не работает.
Во встроенной терминалке при звонке пишет ERROR

На простые команды типа АТЗ откликается ОК

Смотрел исходники DCIbalance
Там действительно РИЛ
GetProcAddress(SendService. ) что-то вроде этого

Я уже думал над возможностью переделывания этой проги.
И в той ветке задавал вопрос. Ответа пока нет.

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

>MalVal
Кстати MVbalance - твоя прога?

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

Added @ 16.07.2008, 21:22

>MalVal
Работает, проверял только в режиме ansi

Klev_,
тыб хоть определился чей плагин менять собрался :wink_kind:

>tz-lom
Если MalVal не согласится встроить эту мегаполезную фичу в свой плагин, то спросим DCI.
Или впишем в плагин DCIBalance эту функцию самостоятельно.

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

Сможешь ли ты встроить возможность запроса через АТ команды в свой тудей плагин.

это не сложно, попробуем.

Кстати, я чувствую что и на коммуникаторах этот способ работать тоже будет.
И никакой нотификейшн на экран вылезать не станет. И прибивать его прямой записью в память тоже не надо будет. это было проверено в первую очередь, на большинстве коммунов нет доступа к модему. А если и есть, рил все равно получит USSD и cprog вывведет балун. >MalVal
А как же тогда коммуны использовать в качестве модемов к компам?
Люди ведь пользуются и через провод и через блютуз.
И все прекрасно работает.

Выжимка из исходников
========

HANDLE CommHandle;
DCB DCB_;
OVERLAPPED Ovr;
COMSTAT Stat;
HANDLE hEvent;
BOOL Flag,StopResive;
DWORD Mask,TransMask,Errs;

//создание и иницализация порта
//создание порта и получение его хэндла
CommHandle = CreateFile(L"BTC1:",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,&Ovr);

//ставим маску - "по пришествии определенного символа"
SetCommMask(CommHandle,EV_RXFLAG); - Это на блютузе не работает

GetCommState(CommHandle,&DCB_);
DCB_.BaudRate=CBR_19200;
DCB_.Parity=NOPARITY;
DCB_.ByteSize=8;
DCB_.StopBits=ONESTOPBIT;
DCB_.EvtChar=0x0d;//задание символа для флага
//устанавливаем DCB
SetCommState(CommHandle,&DCB_);


WriteFile(CommHandle,A_,len_,&KolByte,&Ovr);
return KolByte;
>

//WaitCommEvent(CommHandle,&TransMask,&Ovr); // на блютузе это не сработает прога будет ждать очень долго.

if (Stat.cbInQue>=0) ClearCommError(CommHandle,&Errs,&Stat);//сбрасываем флаг

Kols = Stat.cbInQue;
ReadFile(CommHandle,B___,Kols,&Kols,&Ovr);//читаем

Здесь собственно мы уже имеем ответ сети.

Его можно отобразить, или найти в нем строчку начинающуюся с +CUSD:.
А дальше дело техники.
mbstowcs(dispbuf,Receive_,255);
SetWindowTextW(GetDlgItem(hWnd,IDC_EDIT2),dispbuf);

Кому надо, тот допишет обработку ошибок и пр.
Главное, что оно работает

Klev_,
подключаю ASUS P535 через БТ к компу как модем, запускаю на ББ терминалку, отсылаю с нее запрос баланса, в терминалку баланс не возвращается, а на коммуне балун с балансом.

И у разных OEM-ных устройств будут разные глюки.

ЗЫ, для тел+покет попробую реализовать, добавлю в MVBalance. Только тестировать счас не на чем.


Ну не глюки это. Это особенности работы. :-Р
Может надо посылать запрос немного другой. На конце не 15, а 0.

Дописал слегка DCIBAlance.
Оно работает только с АТ командами. РИЛа нету.

Настроено для работы с МТС на телефоне нокиа 6233, ВМ5.
Поиска +CUSD нету. Ответ берется с 45-го символа от начала строки.

Работает. Глюков не заметил. Обработки ошибок нет.

влез не в тему
на девайте toshiba g900 стоит какой то корявый USSD.exe обработчик, который запускается при старте системы
с ним: при установке плагинов MVBalance или dciBalance баланс не обновляется, зато в весь экран вылазит окно в котором ответ
без него (убив ярлык в автозапуске): dciBalance показывает (от MalVal еще не пробовал), но зато никакой запрос с диалера не пашет

Подскажите как оставить функциональность плагинов и запрос USSD с диалера?

Полагал, что такая композиция полностью идентична мобильному телефону . но, что-то не так

Есть модем Huawei E398 LTE/UMTS/GSM.
Подключение поднимается с помощью wvdial.

Поставил gsm-ussd.
/dev/ttyUSB0 занят wvdial'ом.
на /dev/ttyUSB1 /dev/ttyUSB2 не хочет работать.



Dron ★★★★★ ( 15.10.14 04:21:38 )
Последнее исправление: Dron 15.10.14 04:22:14 (всего исправлений: 1)

Что делает cat /dev/ttyUSB1?



Jurik_Phys ★★★★★ ( 15.10.14 06:28:33 )
Последнее исправление: Jurik_Phys 15.10.14 06:28:50 (всего исправлений: 1)


Ну с телефонами близких я тоже так сделал.
А тут сборная солянка из Мегафона / Ростелекома + оформление на юрика.
И вообще я хочу баланс в Zabbix вывести, а то достало гадать - это модем не работает или просто проплатить забыли.

ABW ★★★★★ ( 15.10.14 07:29:58 )
Последнее исправление: ABW 15.10.14 07:31:41 (всего исправлений: 1)



Сейчас не виснет.

Не пойму только кодировку.




Подключил модем к ноуту и запустил modem-manager-gui.

Ну вот, opsos отвечает:

Т.о., он должен выдать тебе на stdout


А, может быть, есть ещё какая-то консольная утилита для USSD-запросов?

Там же в Arch-е в AUR был ещё huawei-ussd, тоже perl и кривой по-своему.
Но поскольку он делался под российскую реальность, может и прокатить. Там на самом деле надо и для исходящего, и для входящего устройства указывать /dev/ttyUSB2.
А если не получится, сделай мне отладочный вывод gsm-ussd, как выше, для вариантов с кракозяблами, может быть, смогу свой скрипт доработать.


тогда почитай как работает modem-manager и его api, там d-bus, а его мессаги можно и из консольки слать.

Чтобы настроить модем для интернета в Московской области, используются определенные команды. С их помощью устройство можно разблокировать, проверить его состояние и выполнить много других важных операций. AT команды для модема используются много лет и постепенно дополняются, так как появляются новые стандарты связи.

19t1.jpg

Что такое AT-команда

AT означает attention. Использовать такие команды впервые начали в фирме Hayes. Это произошло в период, когда компания выпустила Smartmodem 300 baud. Короткие текстовые комбинации оказались довольно удобными, поэтому другие производители взяли их себе на вооружение.

AT команды для GSM модемов также успешно используются. Для этого стандарта attention стало идеальным решением. Были доработаны команды модемов GSM07.07 и GSM07.05. Многие разработчики добавляют дополнительные AT, однако основа остается той же. Расширяются лишь возможности, благодаря чему можно использовать отдельные функции.

Подключение к устройству и ввод кодов attention

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

Для подключения можно воспользоваться несколькими методами:

  • Используя программу Hyperterminal, которая входит в состав служебных программ в некоторых версиях Windows.
  • С помощью терминала для ОС из категории *nix.
  • Посредством программ, которые предлагают производители. Для модемов Huawei это Huawei Modem Terminal или ее вариация My Huawei Terminal.
  • Применяя различные программы, которые создают независимые разработчики. Среди таких PuTTY и «Терминал».

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

Получить такие данные пользователи Виндовс могут, кликнув с помощью правой кнопки на тачпаде или мышке на раздел «Мой компьютер». После этого требуется кликнуть на «Свойства». В открывшемся окне следует нажать на вкладку «Диспетчер устройств». Среди списка оборудования, которое уже установлено, выбирается модем, после чего вводятся его свойства. В пункте «Модем» следует ввести скорость работы и COM-порт. Все данные лучше всего записать. У USB-модемов используется виртуальный вариант подключения (через эмулятор) посредством порта COM.

Далее запускается программа-эмулятор. Для подключения понадобятся известная информация. Гипертерминал есть только в Windows XP и более ранних. В Windows 7, Vista, 8 и 10 понадобится скачать стороннюю программу. После успешного подключения к модему должно появиться соответствующее окно-уведомление.

AT команда для модема Huawei e3372 или других моделей вводится лишь после перехода в режим офлайн. Перед каждым действием нужно ставить «AT». Такой префикс говорит устройству о необходимости войти в режим терминала.

Как было указано выше, для ввода требуется перед любой необходимой командой набирать «AT». Далее следует «&», «+» или же «^». После этого набирается сама комбинация, в которой обозначены параметры. В завершение нужно нажать клавишу «Ввод» или Send в окне терминала.

Для проверки реакции модема на AT-команды можно просто набрать «AT». Параметры вводить необязательно. После этого появится Recieve: AT, Send: AT или Status/Recieve: OK. В таком случае можно вводить команды и настраивать устройство.

Otkryit-soedinenie-INTERNET-dlya-nastroyki-podklyucheniya-Huawei-HG532e.jpg

Как настроить модем Huawei через терминал

Рассмотрим, как нужно пользоваться my Huawei terminal. Все команды для модемов этого производителя стандартные. Однако в одной модели определенная AT может быть, в другой нет. Настройка потребуется, если модем используется с роутером и возникают неполадки между оборудованием. Также необходимость настройки с помощью команд может возникнуть, когда устройство работает только с симкой определенного оператора.

Когда модем подключается к ПК, он иногда определяется как CD-привод, модем и флешка. Чтобы устройство работало без сбоев, можно деактивировать эмуляцию карты памяти и CD-Rom.

Для этого нужно:

  • Выполнить запуск «Гипертерминала».
  • Ввести новое удобное имя. При запуске программа предложит набрать последнее и выбрать иконку. Если системой не будет предложено создать соединение, потребуется воспользоваться меню «Файл».
  • Настроить подключение (рабочую скорость и номер порта).
  • Для E1750 и E1550 вводят U2DIAG=0. При настройке устройств E352, E353, E367, E392 и E171 вводится команда SETPORT=«A1;1,2». Перед любой комбинацией вводят AT^.
  • Перезагрузка модема Huawei выполняется с помощью комбинации AT^CFUN=1.

Этот метод позволяет решить проблемы при совместном применении роутеров. Предложенный алгоритм поможет перевести Huawei e3372h и другие в режим только модема. Иногда возникает потребность отказаться от определенного оператора или разблокировать возможность использовать модем с другими провайдерами.

Чтобы разблокировать устройство, нужно ввести CARDUNLOCK=«nck md5 hash». Эта команда позволяет сбросить попытки подключения на 10. Снять блокировку поставщика услуг позволит команда CARDLOCK=«код nck». Необходимый код можно рассчитать, воспользовавшись онлайн-калькулятором и IMEI модема.

Команда CARDLOCK? нужна для проверки блокировки. На эту команду устройство сообщит CARDLOCK: A,B,0. Буква A говорит о бинарной блокировке (1 – блок присутствует, 0 – его нет), B – о количестве возможных попыток разблокироваться. В новом модеме их 10.

Востребованные команды

Среди основных универсальных AT-кодов, поддерживаемых большинством моделей модемов Huawei, ZTE, Siemens и других производителей,

стоит выделить:

  • ATI – помогает посмотреть все данные об устройстве.
  • CFUN=1 – нужна, чтобы применить настройки и перезагрузиться, не отключаясь от ПК. После завершения процесса перезагрузки оборудование перерегистрируется в сети. «0» переводит в режим ожидания или экономного потребления энергии, «1» – в онлайн-режим, а «4» – в офлайн. «6» позволяет выполнить сброс, а «7» деактивировать радиомодуль.
  • CLAC – одна из важных команд, которая выводит на дисплей терминала все AT, которые поддерживает устройство.
  • VERSION? – позволяет посмотреть прошивку модема.
  • U2DIAG? – команда, которая нужна для демонстрации режима устройства.
  • GETPORTMODE – позволяет получить информацию обо всем оборудовании, которое есть в модеме. К таким относятся накопитель, сетевая карта, модем и другие.
  • HWVER – набрав команду, можно посмотреть «железо» устройства.

Перед каждой из перечисленных команд нужно набрать «AT^». Есть также AT, после которых вместо «^» ставят «+» (AT+).

К таким относятся:

  • CGMI – применяется, чтобы получить данные о производителе устройства.
  • CGMR – показывает, какая прошивка используется для модема.
  • CIMI – позволяет получить информацию о симке (посмотреть IMSI-номер).
  • CGSN – показывает IMEI.
  • CSQ – показывает уровень сигнала от поставщика услуг.
  • CGMM или GMM – информирует о названии модели устройства.

Узнать о всех операторах, которые доступны, можно комбинацией AT+COPS?. На дисплее появятся режимы устройства для выбора оператора. Автоматическому будет соответствовать – 0, ручному – 1.

Если вручную подключиться не получается, следует выбрать 4. Пользователь может также узнать формат провайдера как в коротком, так и полном режиме. Появятся данные о доступе: неопознанная сеть – 0, есть доступ – 1, подключенная или текущая – 2, заблокированная или недоступная – 3.

Перечисленные выше команды – это далеко не все возможности управления модемом. Существует множество комбинаций. К тому же у каждого производителя могут быть свои определенные AT. Поэтому чтобы уточнить, какие команды можно использовать, стоит изучить инструкцию по эксплуатации своего модема и официальный сайт его производителя.

Осенняя скидка

Закажите интернет на дачу и начните пользоваться быстрым интернетом уже сегодня

AT команда служит для управления некоторыми функциями модема. Команды можно вводить специальными программами, это намного проще чем встроенным в Windows XP hyperterminal. Для этого можно использовать программы: My Huawei Terminal или DC-Unlocker. Перед использованием данных программ нужно закрыть все другие программы которые могут использовать модем. Для модемов Huawei нужно подключаться на COM порт "3G PC UI Interface", для модемов ZTE MF на COM порт "ZTE Proprietary USB Modem". Как пользоваться смотрим картинки, всё достаточно просто. Если команд несколько, сначала вводим одну - жмём Enter, потом следующую и опять жмём Enter.

DC-Unlocker client первая в Мире программа которая начала специализироваться на разблокировке беспроводных 2G\3G\4G модемов форм-фактора USB\PCMCIA. Со временем модельный ряд начал расширятся мобильными телефонами, смартфонами, WiFi роутерами .

DC-Unlocker

Качаем программу DC-Unlocker client и устанавливаем ее. После чего запускаем.
1. Далее меняем язык на русский. Нажимаем Options и выбираем Russian

DC-Unlocker

2. Выбираем производителя модема или роутера в нашем случаи это Huawei. Нажимаем на Лупу как показано на картинке и пойдет чтение информации. Внимание! родная программа от модема должна быть закрыта). После прочтения информации вы увидите Статус SIM блокировки - Блокировано

DC-Unlocker

3. Далее нам необходимо вести команду AT^CARDLOCK="NCK Code", где NCK Code - это код разблокировки который вы приобрели у нас. Например код 12860791 тогда наша команда будет иметь такой вид AT^CARDLOCK="12860791". Вставляем команду AT^CARDLOCK="12860791" внизу прочитанной информации и нажимаем кнопку ENTER клавиатуре.

DC-Unlocker

DC-Unlocker

5. Нажимаем еще раз на Лупу, чтобы прочитать заново информацию. И вы увидим, где Статус SIM блокировки - надпись Разблокирован

DC-Unlocker

Вот и все. Наше устройство успешно разблокировано.

Терминал — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.

Терминал

Huawei Terminal — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.

My Huawei Terminal

Запускаем My Huawei Terminal. В окне нужно выбрать HUAWEI Mobile Connect — 3G PC UI Interface Нажимаем Подключить (Connect)

My Huawei Terminal

My Huawei Terminal

AT^CARDLOCK="NCK Code", где NCK Code - это код разблокировки который вы приобрели у нас. Например код 43963141 тогда наша команда будет иметь такой вид AT^CARDLOCK="43963141". Вставляем команду AT^CARDLOCK="43963141" и нажимаем кнопку ENTER клавиатуре.

PuTTY

MMD X Mini Mobile Data

Так же в этой программе можно посмотреть другие параметры модема.

Ввод NCK кода разблокировки если модем не запрашивает.

Скачиваем программу Huawei Modem Tool v3.3, вставляем модем БЕЗ СИМ карты - если запуститься программа модема то закрываем, запускаем huawei modem tool и ждём пока определиться модем, вводим код разблокировки и нажимаем Send Unlock code. После этого модем разблокируется.

Смотрим картинку там всё подробно нарисовано.

Huawei Modem Tool v3.3

Внимание: После ввода команды, во всех трёх программах должен быть ответ ОК. Это значит что команда была принята.


Программа предназначена для разблокировки модемов Huawei E220, E62X, E630, E870, E169G, E27X, E618, E630+

huawei data card unlocker v1.1

Список доступных at команды модема Huawei и ZTE MF смотрим здесь: AT команды для модемов Huawei и для ZTE MF

Читайте также: