|
TCP/IP стек wIP в модулях Wavecom, Получение кода ошибки |
|
|
|
Sep 13 2007, 09:14
|
Участник

Группа: Новичок
Сообщений: 36
Регистрация: 16-08-06
Пользователь №: 19 579

|
В новых модулях Wavecom, Q24PL, Q2686, используется TCP/IP стек wIP (а не eDLib, как в старых модулях Q2406B). При работе с этим новым стеком, с сокетами в режиме клиента, при возникновени ошибок можно получить тип ошибки. По описанию это делается функцией wip_getOpts(socket,WIP_COPT_ERROR, err1,WIP_COPT_END); Но при попытке ей воспользоваться в любом случае возвращается ошибка WIP_CERR_NOT_SUPPORTED, т.е. якобы WIP_COPT_ERROR - недопустимая опция. При том, что компиляция выполняется и эта опция в заголовочных файлах присутствует. Эта же функция, но возвращающая другие параметры, например, размер буфера записи wip_getOpts(socket,WIP_COPT_SND_BUFSIZE,allbuf,WIP_COPT_NWRITE, freebuf,WIP_COPT_END); успешно выполняется. В чем может быть дело? Код ошибки нужен, так как в зависимости от него будет приниматься решение, то-ли надо сразу переоткрывать сокет, то-ли сделать паузу, то-ли вообще все отвалилось и надо заново открывать GPRS-сессию.
|
|
|
|
|
 |
Ответов
|
Sep 14 2007, 08:13
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 24-07-06
Пользователь №: 19 039

|
Здравствуйте... К сожалению не могу помочь вам в решении вашей проблемы... Дело в том, что я тоже работаю с модемами Wavecom с TCP/IP стеком, только они давольно старые (1206В). Не подскажите ли вы как при установленном сокет соединении между 2 модемами его закрыть через комндный режим... То есть я установил соединение, получил Ok_Info_WaitingForData, далле ввожу +++ То еть выхожу в командный режим... А как теперь в командном режиме разорвать сокет-соединение или закрыть свой сокет (может есть какая-то команда)? AT#LTCPSTOP - не помогает...
|
|
|
|
|
Sep 14 2007, 11:20
|
Участник

Группа: Новичок
Сообщений: 36
Регистрация: 16-08-06
Пользователь №: 19 579

|
Цитата А как теперь в командном режиме разорвать сокет-соединение или закрыть свой сокет (может есть какая-то команда)? AT#LTCPSTOP - не помогает...  Я использую внутренний софт, там есть команды закрытия сокета. В старом стеке (eDLib) для открытия используется команда ed_SocketTCPStart, для останова ed_SocketTCPStop. В новом (wIP) открытие выполняется функцией wip_TCPClientCreate, для закрытия есть две функции, wip_close и wip_shutdown. Значит, команда для закрытие сокета внешним приложением тоже должна быть. Проблема может быть вызвана еще тем, что переход из режима передачи данных в командный выполняется не сразу, а то и вообще по каким-то причинам не выполняется. Во всяком случае при обычной модемной связи там точно есть какая-то пауза. У меня сделано так. Вся реализация обмена по TCP делается внутренним софтом, зашиваемым в модуль, а внешний микроконтроллер только принимает и передает данные с помощью созданных для этой цели AT-команд.
|
|
|
|
|
Sep 17 2007, 04:56
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 24-07-06
Пользователь №: 19 039

|
Цитата(Eddy_Og @ Sep 14 2007, 15:20)  Значит, команда для закрытие сокета внешним приложением тоже должна быть. Вот очень хотелось бы узнать какая АТ-команда выполняет данную операцию... Вы, случайно, не знаете? Цитата(Eddy_Og @ Sep 14 2007, 15:20)  Проблема может быть вызвана еще тем, что переход из режима передачи данных в командный выполняется не сразу, а то и вообще по каким-то причинам не выполняется. Во всяком случае при обычной модемной связи там точно есть какая-то пауза. Нет с этим проблем точно нет, после +++ ОК приходит где-то через 1-4 секунды (в чём причина такого разброса времени я пока не знаю, но точно могу скзать, что это как-то связано с объёмом переданной информации за сеанс)...
Сообщение отредактировал Yuriy_Rus - Sep 17 2007, 04:57
|
|
|
|
|
Sep 17 2007, 09:47
|
Участник

Группа: Новичок
Сообщений: 36
Регистрация: 16-08-06
Пользователь №: 19 579

|
Цитата Вот очень хотелось бы узнать какая АТ-команда выполняет данную операцию... Вы, случайно, не знаете? Нет, за ненадобностью управлением внешними командами не интересовался. В фирменном PDF нету? Цитата Нет с этим проблем точно нет, после +++ ОК приходит где-то через 1-4 секунды (в чём причина такого разброса времени я пока не знаю, но точно могу скзать, что это как-то связано с объёмом переданной информации за сеанс)...  С обычной модемной связью то же самое, переход в командный режим из режима данных занимает несколько секунд. Поэтому когда потребовалось быстро обрывать модемное соединение, мы решили эту проблему иначе - аппаратно дергаем линии управления модемом.
|
|
|
|
|
Sep 18 2007, 06:13
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 24-07-06
Пользователь №: 19 039

|
Цитата(Eddy_Og @ Sep 17 2007, 13:47)  В фирменном PDF нету? Я изучил очень много документации по AT комндам и АТ командам только для Wavecom и его стека, но именно такой команды, к сожалению, не нашёл... Я, честно говря слабо себе представляю как вы работаете с модемами без интерфейса АТ команд, неужели ПО под данынй модем позволяет обойти все эти сложности?? Если вам не трудно, то расскажите, плс, более подробно как вы работаете с модемом через упомянутые вами функции?
|
|
|
|
|
Sep 18 2007, 10:08
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 24-07-06
Пользователь №: 19 039

|
Цитата(alexQ @ Sep 18 2007, 12:41)  такое ощущение что вы работаете с очень древним стэком от eDsoft. стэк на данный момент используется WIP. разработка самого вейвкома. там хоть через АТ команды, хоть через OpenAT приложение ...
через АТ команды можно сказать AT+WIPCLOSE=тип протокола, идентификатор сокета Честно говоря, в душе не знаю какой-тип стека в моём Wavecom 1206B. Знаю, что это очень старый модем, кот. если не ошибаюсь, снят с производства и заменён на 1306B. На самом модеме написано FASTRACK (подозреваю, что это вид модема). Также приклеена наклеечка Wismo within. Подозреваю, что Wismo - это и есть тип стека, но я совсем не уверен... Поправте меня, пожалуйста, если я ошибаюсь...  Вот в этом документе, если хотите, то можете посмотреть список TCP-команд, кот. я использую для установки сокет-соединения...
Developer_Guide_GSM_GPRS_IP_Commands_.pdf ( 638.49 килобайт )
Кол-во скачиваний: 738
Сообщение отредактировал Yuriy_Rus - Sep 18 2007, 10:19
|
|
|
|
Сообщений в этой теме
Eddy_Og TCP/IP стек wIP в модулях Wavecom Sep 13 2007, 09:14     Eddy_Og to Yuriy_Rus
ЦитатаЕсли вам не трудно, то расскаж... Sep 18 2007, 10:11      Yuriy_Rus Цитата(Eddy_Og @ Sep 18 2007, 14:11) to Y... Sep 18 2007, 10:37       Eddy_Og ЦитатаТО есть, насколько я понимаю, модуль посредс... Sep 19 2007, 05:26 alexQ 2Eddy_Og
>По ошибке с wip_getOpts(socket,WIP_C... Sep 19 2007, 06:27 Eddy_Og Цитатаесли ошибка с плюсом, то что-то не так с SMT... Sep 20 2007, 11:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|