Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Бага sim900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
groovy
Суть такая:

Использую встроенный UDP/IP стек в прозрачном режиме.

Раз в три минуты выхожу из прозрачного режима дерганием ноги DTR.
Произвожу обмен AT командами, в основном только AT+CMGL.
Выполняю ATO и возвращаюсь в прозрачный режим.

Примерно через раз после такого входа/выхода происходит смена номера исходящего порта в UDP пакетах.
Если не прыгать из режима в режим - номер порта держится долго, но иногда все равно меняется (при последнем тестировании продержался 40 минут, потом без видимых причин смениля).

Поскольку однозначно идентифицировать ноду по UDP можно только по связке IP:Port, некорректная смена этого самого порта приводит к разрыву логической сессии, что представляет собой существенную проблему для моего приложения.

В быструю развязку со стороны SimCom я не верю, так что буду пробовать что-нибудь другое.

Очень печально.
av-master
у меня 900-ка уже 2 месяца непрерывно долбит и вроде ниче.. нормально... из них месяц как за границей у клиента пашет. и выходит раз в 20 секунд, и возвращается... проблем незамечено. прошивка под 300-ку без изменений (кроме принудительного включения Transparant mode)
groovy
Дополнение:

Все вышеперечисленное происходит при AT+CSCLK=1.
По всей видимости происходит кросс-взаимодействие фич спящего режима и выхода из прозрачного режима по ноге DTR.
stream
На этой карточке оператор предоставляет белый IP-адрес?

Если нет, то задача изначально решена некорректно - работоспособность твоей конструкции будет зависить от особенностей настроек и глюков NAT оператора.
=F8=
Цитата(stream @ Oct 8 2010, 09:34) *
На этой карточке оператор предоставляет белый IP-адрес?

Если нет, то задача изначально решена некорректно - работоспособность твоей конструкции будет зависить от особенностей настроек и глюков NAT оператора.

+1. На глюк модуля не похоже.
groovy
QUOTE (stream @ Oct 8 2010, 10:34) *
На этой карточке оператор предоставляет белый IP-адрес?

Если нет, то задача изначально решена некорректно - работоспособность твоей конструкции будет зависить от особенностей настроек и глюков NAT оператора.


IP адреса бывают статические и динамические, внутренние и внешние, про белые-черные слышу впервые.

По делу: Не надо рубить с плеча. Берем модуль, подключаем его к винде через ее TCP/IP стек и долбим сервер. Почему source port не меняется?
Опять винда глючит?
ArtemKAD
Возможно эти
http://www.eserv.ru/WhatIsProxyServer http://www.computerra.ru/offline/1998/238/1170/
статьи помогут Вам увидеть свет в конце тунеля...
ЗЫ. ... скорее прожектор приближающегося поезда... wink.gif
alx125
Цитата(groovy @ Oct 10 2010, 18:42) *
IP адреса бывают статические и динамические, внутренние и внешние, про белые-черные слышу впервые.

По делу: Не надо рубить с плеча. Берем модуль, подключаем его к винде через ее TCP/IP стек и долбим сервер. Почему source port не меняется?
Опять винда глючит?


"белые-черные" - это слэнг (жаргон). Синоним "внутренние и внешние".
groovy
QUOTE (ArtemKAD @ Oct 11 2010, 01:13) *
Возможно эти
http://www.eserv.ru/WhatIsProxyServer http://www.computerra.ru/offline/1998/238/1170/
статьи помогут Вам увидеть свет в конце тунеля...
ЗЫ. ... скорее прожектор приближающегося поезда... wink.gif


Да вы батенька остряк, я же их писал.
ArtemKAD
Андрей Черезов? Вряд-ли - я бы Андрея узнал... Да и живет он не в Нижнем Новгороде.
rx3apf
Цитата(groovy @ Oct 10 2010, 19:42) *
По делу: Не надо рубить с плеча. Берем модуль, подключаем его к винде через ее TCP/IP стек и долбим сервер. Почему source port не меняется?
Опять винда глючит?

Я вообще экспериментировал с модемом Huawey 1550. Запустил TCP-COM в режиме UDP. Посылаю пакеты (вручную, по клавише в терминале) - порт держится один и тот же. Отвлекся на минуту, не больше - посылаю, а порт уже другой. Так что модуль тут не при чем, все законно. Бывает и с меньшим интервалом переключается, так, что даже ответ не проходит ("не туда" идет)...
id_Alx
AT+CLPORT не для этих случаев?

Вдогонку - UDP вообще нормально работает? Есть по одному SIM900 1137B06 и SIM900D 1137B05, симптомы работы по UDP одни и теже - отправляет нормально, принимать со странностями. Сразу после cipstart стабильно ничего не принимает, если с него же отослать один-два небольших пакета - начинает принимать, принимает относительно стабильно пока опять не отправишь с него что-нибудь, пропадание бессистемно. В основном тестировался в непрозрачном режиме, но пару тестов показали тоже и в прозрачном. От cipmux не зависит. SIM300D в аналогичных условиях без вопросов.
rx3apf
Цитата(id_Alx @ Oct 12 2010, 12:55) *
Вдогонку - UDP вообще нормально работает? Есть по одному SIM900 1137B06 и SIM900D 1137B05, симптомы работы по UDP одни и теже - отправляет нормально, принимать со странностями. Сразу после cipstart стабильно ничего не принимает, если с него же отослать один-два небольших пакета - начинает принимать, принимает относительно стабильно пока опять не отправишь с него что-нибудь, пропадание бессистемно. В основном тестировался в непрозрачном режиме, но пару тестов показали тоже и в прозрачном. От cipmux не зависит. SIM300D в аналогичных условиях без вопросов.

Пардон - если нет внешнего IP, то модуль и не может ничего принимать (откуда) ? Что-то кинули на сервер, сервер узнал IP и порт и может передавать модулю посылки. Все будет работать, до тех пор, пока у модуля не сменится порт. После этого - по новой. А порт может меняться довольно случайным образом, может долго один держаться, может через секунду смениться. И это не связано с самми модулем, это шуточки оператора. Если это не устраивает - покупайте внешний IP.
id_Alx
Модули используются в закрытой VPN сети с выделенной точкой доступа со статическими адресами для всех. SIM300D показывает входящие на него UDP пакеты с любых IP и портов, ситуация с SIM900 описана выше. Модуль не принимает (или принимает, но не показывает) UDP пакеты даже с хоста на который указан cipstart. Проверял как с модуля на модуль, так и с модуля на gprs-модем ПК.
rx3apf
Цитата(id_Alx @ Oct 20 2010, 11:49) *
Модули используются в закрытой VPN сети с выделенной точкой доступа со статическими адресами для всех. SIM300D показывает входящие на него UDP пакеты с любых IP и портов, ситуация с SIM900 описана выше.

Да, это несколько меняет дело и даже непонятно, с какой стороны копать... Я использую обычные "серые" адреса, вроде проблем нет (кроме обычных ограничений для такой структуры).
id_Alx
Цитата(rx3apf @ Oct 20 2010, 10:59) *
Я использую обычные "серые" адреса, вроде проблем нет (кроме обычных ограничений для такой структуры).

Испоьзуете по UDP? В каком режиме? Можете ли огласить тип/версию модема, строки инициализации и проверить - сразу после cipstart будет ли модем принимать данные?
rx3apf
Цитата(id_Alx @ Oct 20 2010, 13:15) *
Испоьзуете по UDP? В каком режиме? Можете ли огласить тип/версию модема, строки инициализации и проверить - сразу после cipstart будет ли модем принимать данные?

SIM900, B06 (работало и с B01), "прозрачный" режим. После cipstart ну никак не могу сразу принимать данные - говорю же, использую "серые" адреса, потому, пока сервер от меня ничего не получит, он не знает, куда посылать. Что-то послал с модема - все, можно передавать на модем (до тех пор, пока не сменится порт, что иногда бывает очень быстро).
groovy
Вообще с этой багой какой-то казус. Она стабильно вопспроизводится на модуле старого хардварного релиза. В частности S2-1040S-Z0902. Это самый первый сим900 который я купил. Позднее я купил еше 10 модулей версии S-1040S бещ дополнительной маркировки. На них проблемы не замечены, хотя они запаяны в одинаковые платы и перешиты на шестую прошивку. В голове не укладывается как это связано. Но старый модуль реально постоянно меняет порт. Новый держится часами.
rx3apf
Цитата(groovy @ Oct 20 2010, 16:21) *
Вообще с этой багой какой-то казус. Она стабильно вопспроизводится на модуле старого хардварного релиза. В частности S2-1040S-Z0902. Это самый первый сим900 который я купил. Позднее я купил еше 10 модулей версии S-1040S бещ дополнительной маркировки. На них проблемы не замечены, хотя они запаяны в одинаковые платы и перешиты на шестую прошивку. В голове не укладывается как это связано. Но старый модуль реально постоянно меняет порт. Новый держится часами.

Не связано это с модулем, я уверен на 100%. С серыми ip порты меняются (могут меняться, а могут долго держаться) и с виндовым стеком и совсем другими модемами. Зависит (как я понимаю) от конкретного оператора, от настроек и загруженности базовых станций, от времени суток, от положения звезд... В общем случае - порты меняются, причем довольно часто. Если это не устраивает - покупайте "белые" ip, фиксируйте порт. Вот только это дополнительные расходы и ограничения.
groovy
Общего случая тут нет, есть толко частные smile.gif
Я говорю про то что наблюдаю. Как работает NAT - осведомлен. Из этого совсем не следует что порт должен скакать. Даже наоборот, зафиксировав один раз и добавив запись в таблицу трансляции порт остается неизменным пока запись не умрет из-за длительного отсутствия обмена. Т.к. обмен у меня не прекращается - это не мой случай.
rx3apf
Цитата(groovy @ Oct 20 2010, 16:40) *
Общего случая тут нет, есть толко частные smile.gif
Я говорю про то что наблюдаю. Как работает NAT - осведомлен. Из этого совсем не следует что порт должен скакать.

Но и не следует то, что порт _обязан_ оставаться неизменным.
Цитата
Даже наоборот, зафиксировав один раз и добавив запись в таблицу трансляции порт остается неизменным пока запись не умрет из-за длительного отсутствия обмена.

Остается ? Так на что жалуетесь ? wink.gif
Цитата
Т.к. обмен у меня не прекращается - это не мой случай.

Обмен непрерывный или все ж есть паузы ? Если есть, то какие интервалы между посылками ? У меня меняется иной раз при паузе меньше минуты. И при работе через виндовый стек - тоже меняется. Непрерывный обмен в течении нескольких минут - не пробовал.
groovy
QUOTE (rx3apf @ Oct 20 2010, 17:19) *
Остается ? Так на что жалуетесь ? wink.gif


Как я уже написал выше, выяснилось что проблема специфична для одного конкретного модуля с ранним хардварным релизом.
Обмен идет раз в минуту.
rx3apf
Цитата(groovy @ Oct 20 2010, 23:48) *
Как я уже написал выше, выяснилось что проблема специфична для одного конкретного модуля с ранним хардварным релизом.
Обмен идет раз в минуту.

Раз в минуту - порт имеет полное право меняться. У меня и при меньших интервалах меняется.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.