Перезагрузка Модема.

dmitya

Client
Регистрация
10.08.2013
Сообщения
179
Благодарностей
78
Баллы
28
Все юсб свистки работают через АТ команды.
Не занимайтесь извратом с интерфейсами, процессами и прочим...
Вся работа c USB модемами только через АТ команды и ком порт !!!
Актуально!

Через C# снипет пробую отправить АТ команду в порт, команда уходит, но такое ощущение, что поток не завершился, поэтому порт не дает ответ.
При повторной посылке команды, она добавляется к предыдущей строчке и опять тишина. Такое ощущение, что порту не хватает какого-то ПИНКА, чтобы НАЧАТЬ обработку АТ команды.
Каждая АТ команда завершается "\r\n".
Потоки на COM-порт перехватываю прогой Free Device Monitoring Studio.

При этом, если запустить родную "управляющую" программу для модема, то все AT команды уходят в порт как надо, доходят до модема и приходит ответ.

Что делать и как все починить?

Тестируемый код:
Код:
// Инициализируем COM порт по-умолчанию ----
SerialPort serial_port = new SerialPort();

serial_port.BaudRate =9600;
serial_port.DataBits = 8;
serial_port.StopBits = StopBits.One;
serial_port.Parity = Parity.None;
serial_port.Handshake = Handshake.None;
serial_port.RtsEnable = true;
serial_port.ReadTimeout = 500;
serial_port.WriteTimeout = 500;
// ----

string response = String.Empty;

serial_port.PortName = "COM14"; //назначаем конкретный COM порт
if (!serial_port.IsOpen) { //если порт НЕ открыт, то...
    try {
        serial_port.Open(); //... пробуем его открыть
    }
    catch (Exception e) {return "упс!";}
      
    if (serial_port.IsOpen) { //если всё окейно, то работаем
        System.Threading.Thread.Sleep(1000); //па-ааауза
        serial_port.Write("AT\r\n"); //отправляем простейшую AT команду
        System.Threading.Thread.Sleep(1000);
        try {
            response = serial_port.ReadExisting(); //пробуем читать ответ порта
        }
        catch (Exception e) {return "упс №2"; }
          
        if (response != String.Empty) {
            project.Variables["response"].Value = response; //если ответ не нулевой, то передаем его в проект
        }
        serial_port.Close(); //закрываем порт
    }
}
 
  • Спасибо
Реакции: ZHAG

Fronlot

Client
Регистрация
24.01.2015
Сообщения
46
Благодарностей
24
Баллы
28
Даа.. ребят, что-то вы дико заморачиваетесь))
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
интересная тема :dw:
кто как решил проблему?
 

brendmaster1

Новичок
Регистрация
16.06.2016
Сообщения
4
Благодарностей
0
Баллы
1
Надо перепрошить модем в хайлинк и прошить вебинтерфейс, вся инфа на 4pda есть, я оттуда брал. Потом пишется скрипт с обращением к telnet и все работает. Если что пишите подскажу.
 

uf0log

Client
Регистрация
29.05.2016
Сообщения
84
Благодарностей
20
Баллы
8
Парни, кто с фейсбуком по этой схеме работает, сколько акков держите на одном свистке?
 

Timoha

Новичок
Регистрация
18.11.2016
Сообщения
1
Благодарностей
0
Баллы
1
Надо перепрошить модем в хайлинк и прошить вебинтерфейс, вся инфа на 4pda есть, я оттуда брал. Потом пишется скрипт с обращением к telnet и все работает. Если что пишите подскажу.
brendmaster1, поделись опытом плиз.
 

ityshenko

Новичок
Регистрация
30.11.2016
Сообщения
13
Благодарностей
0
Баллы
3
Помогите очень нужно перегружать автоматически подключения через адаптер.
Скиньте скрипт плиз ??????)
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
вот точно загоняетесь...
Всё элементарно - каждый свисток устанавливается как сервис (служба).
Ищете имя службы, и создаете 1 батник
Код:
net stop /имя службы/
timeout 100500
net start /имя службы/
где имя службы - это имя службы :-)
100500 - время ожидания в секундах, необходимое для того, чтобы служба спокойно остановилась (во избежание ошибок при запуске службы)
 
  • Спасибо
Реакции: Kaliostro666 и Mikhail B.

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
вот точно загоняетесь...
Всё элементарно - каждый свисток устанавливается как сервис (служба).
Ищете имя службы, и создаете 1 батник
Код:
net stop /имя службы/
timeout 100500
net start /имя службы/
где имя службы - это имя службы :-)
100500 - время ожидания в секундах, необходимое для того, чтобы служба спокойно остановилась (во избежание ошибок при запуске службы)
А как узнать имя службы? По названиям службы, похожей службы не нашел. В процессе диспетчера задач висит OGO!Mobile.exe
 

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Еще можно код сохраняем с расширением .cmd
start e:\System\LAN\TechniquesForSimp\CNic.exe "LAN" -d
TIMEOUT /T 10 /NOBREAK
start e:\System\LAN\TechniquesForSimp\CNic.exe "LAN" -c

Предварительно нужно скачать CNic.exe.

P.S. Самое простое решение, запуск программы в зенке а в самой программе активировать галочку чтобы автоматически подключалось к интернету. Ну и бат файлик отключения процесса.
Вот так решил проблему)
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
А как узнать имя службы?
Панель управления --> Администрирование --> Службы
Находите ту, что связана с вашим "свистком", правой кнопкой на ней, в контекстном меню --> Свойства
В появившемся окне самая верхняя надпись и есть имя службы
 
  • Спасибо
Реакции: Kaliostro666 и Mikhail B.

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
  • Спасибо
Реакции: Kaliostro666

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Панель управления --> Администрирование --> Службы
Находите ту, что связана с вашим "свистком", правой кнопкой на ней, в контекстном меню --> Свойства
В появившемся окне самая верхняя надпись и есть имя службы
Я не совсем понял что за свисток, нет никаких программ в которых можно найти по поиску? Там столько служб что фиг разберешься(
 

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Подскажи по каким параметрам искать я вообще ничего не могу найти
 

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Все настроил спс
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
  • Спасибо
Реакции: Kaliostro666 и ZHAG

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Я крутой ))) Вон как объяснять умею ))) Молча )))
МДА......................
Вот сцыль самый простой способ http://zennolab.com/discussion/threads/ehkshen-zapusk-programmy-kak-otkjuchat-i-vkljuchat-3g-modem-v-zennoposter.10630/page-2#post-240308

Ручками bat файл запускаю, всё работает быстро и нормально. Если через зенку экшином запускать, выполнение командной строки долго + ко всему вечное подключение по сети.
Помоги разобраться, по твоему методу мне в службах что искать надо? Софт модема или подключение какое то? Не знаю что уже в службах искать(
 

proffman

Client
Регистрация
24.01.2013
Сообщения
547
Благодарностей
51
Баллы
28
Может параметры нужно прописать какие то надо прописать?
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
вот откопал свой старый шаб ))
расширение .txt заменить на .bat (с таким расширением запрещают вложения делать)
 

Вложения

  • Спасибо
Реакции: Kaliostro666

slava1975

Client
Регистрация
12.09.2016
Сообщения
262
Благодарностей
17
Баллы
18
не работает,ip не меняется
 

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28

speaker

Client
Регистрация
13.10.2012
Сообщения
287
Благодарностей
45
Баллы
28
Все юсб свистки работают через АТ команды.
Нужно на ком порт просто послать нужную команду.
В зависимости от модели/производителя есть свои команды, но такие стандартные как перезагрузка свистка или реконнект они в большинстве случаев одинаковые.

Через Putty подключитеcь на ком порт и тестите АТ команды для вашего девайса.


На 99% готовый снипет тут https://msdn.microsoft.com/ru-ru/library/system.io.ports.serialport.datareceived(v=vs.110).aspx

google=>
c# serial port write
c# serial port write at command

https://3ginfo.ru/page53.html


п.с. Не занимайтесь извратом с интерфейсами, процессами и прочим...
Вся работа c USB модемами только через АТ команды и ком порт !!!
Приветствую, подскажите пожалуйста как правильно сделать С# код для Com5 и отправки команды модему "AT^RESET" ?
 

Buch

Client
Регистрация
15.02.2016
Сообщения
260
Благодарностей
75
Баллы
28

speaker

Client
Регистрация
13.10.2012
Сообщения
287
Благодарностей
45
Баллы
28

leha52rus

Client
Регистрация
01.06.2017
Сообщения
266
Благодарностей
91
Баллы
28
Друзья и я туда же,
upload_2017-7-9_17-53-50.png
Что происходит,почему не видит "rasdial"
Разобрался!
Теперь проблема в другом, после того как выполню команду
Код:
netsh interface set interface name="Моё подключение" Disable
netsh interface set interface name="Моё подключение" Enable
Модем первый раз автоматом коннектиться, а вот после второго сброса уходит в аут.
диод на модеме моргает с интервалом в 2-3 секунды и пока руками не подключишь его он не подключается, хотя в настройках стоит повторное соединение при потери связи.
Хелп...
 
Последнее редактирование:

Bober

Пользователь
Регистрация
17.01.2016
Сообщения
34
Благодарностей
20
Баллы
8
Всем привет! Написал статью о том как я поднимаю мобильные прокси. Если кому интересно можете почитать. Статью ещё дописываю, так сказать шлифую. Ловите линк
 
  • Спасибо
Реакции: Koqpe

ol1ver

Client
Регистрация
29.08.2013
Сообщения
332
Благодарностей
82
Баллы
28
а веб панели нету для вашего модема? там наверняка есть перезагрузка
 

Bober

Пользователь
Регистрация
17.01.2016
Сообщения
34
Благодарностей
20
Баллы
8
перезагрузка то есть по веб морде. но тут я говорю не о перезагрузке просто модема. а о моб проксях. скрипт не только перезагружает модем, но и подхватывает новый ip и поднимает на нём прокси
 

ol1ver

Client
Регистрация
29.08.2013
Сообщения
332
Благодарностей
82
Баллы
28
Хз поставь ардуино и щелкай реле - питание свистка :D
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)