реклама на сайте
подробности

 
 
> lwIP (PPP) проблема, странная
kan35
сообщение Oct 21 2011, 06:51
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Модем Quectel M72, FreeRTOS 7 на sm32.
Работаем через PPP протокол и сверху TCP/IP по виалоновскому протоколу.
При приемо-передаче небольших пакетов данных проблем не возникает. Но при передаче на устройство большого массива байтов прием сбоит. Стек принимает ровно 9 IP пакетов (по ~1400байт каждый), после чего netconn_recv перестает принимать пакеты (потому что модем их перестает выдавать). Память нигде не утекает, это контроллируется. На нехватку памяти не похоже. FreeRTOS находится в IDLE >92% времени. Такое ощущение что проблема на уровне IP, перешевелил все настроки, которые понимал и не понимал, но бесполезно - 9 пакетов и хоть умри. Тип и содержание файла не влияет на результат.
Из зависания выходит если начать новую передачу на устройство. При этом в лог сыпется такое:
Код
pppInProc[0]: got 1355 bytes
[b]pppInProc[0]: Dropping bad fcs 0x63B8 proto=0x0021[/b]
pppDrop: pbuf len=500
pppInProc[0]: got 1405 bytes
pppInput[0]: ip in pbuf len=492
pppifOutput[0]: proto=0x0021
pppInProc[0]: got 1405 bytes
pppInput[0]: ip in pbuf len=492
pppifOutput[0]: proto=0x0021

Тут видно, что начинается передача которая подвисла, но срывается FCS (но потом восстанавливается) и в конечном итоге, когда массив допередастся, система вновь приходит в штатное состояние.

Подскажите где могла собака порыться? Чую что какие то настройки надо подправить в lwipopt.h, но допетрить не могу. Спасибо!!!!!

Сообщение отредактировал kan35 - Oct 21 2011, 13:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kan35
сообщение Nov 2 2011, 19:38
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



GPRS не тормозит на самом деле, а стоит только отправить пакет с данными - модем начинает валить следующие 35 пакетов, потом опять подвисает и т д
Оператора менял, модем менял, возвращался к старым прошивкам - которые работали на 9 пакетов - они стали тоже по 35 пакетов принимать. Мистика!!!
Пакеты нарезаются по 1400 байтов у билайна, у мегафона по 1300, я это не регулирую вроде.
Остановка продолжается 60 секунд - ровно тот таймаут на netconn_recv. Потом я начинаю передачу и модем оживает.
Скажу прямо, я соединяюсь с сервером Wialon по их протоколу Wialon IPS. Функция, которую я отлаживаю - обновление прошивки, которая заключается в отправке файла на подсоединенное устройство - даже без подтверждений - бинарник тупо выплёвывается в устройство. Уже грешу на какое то нестандартное поведение сервера. Хотя если через гипертерминал я соединяюсь с сервером, то массив массив данных передается в гипертерминал четко за доли секунды.

Я бы не отказался от файла lwipopt.h с рабочей системы lwip-1.3.2.

Сообщение отредактировал kan35 - Nov 2 2011, 19:44
Go to the top of the page
 
+Quote Post
cpl
сообщение Nov 2 2011, 20:24
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Цитата(kan35 @ Nov 2 2011, 22:38) *
Я бы не отказался от файла lwipopt.h с рабочей системы lwip-1.3.2.

Держите.

Прикрепленные файлы
Прикрепленный файл  lwipopts.h.zip ( 2.77 килобайт ) Кол-во скачиваний: 43
 
Go to the top of the page
 
+Quote Post
kan35
сообщение Nov 3 2011, 07:08
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(cpl @ Nov 3 2011, 00:24) *
Держите.

ну что собственно, не помогло как ни странно:-)
Правда чтобы заработало я добавил:
Код
#define LWIP_SOCKET    0
#define LWIP_ARP    0
#define lwipINTERFACE_STACK_SIZE        1000
#define lwipINTERFACE_TASK_PRIORITY        1
#define LWIP_SO_RCVTIMEO                1// это пробовал и 0 и 1

Но TCP_MSS явно на что то влияет, так как при значении 600 я принимаю четко 75 пакетов. Уменьшил TCP_MSS до 100 - начал принимать 175 пакетов. Может быть проблема кроется в FreeRTOS, у вас какая версия? (у меня 7.0.0).
Go to the top of the page
 
+Quote Post
cpl
сообщение Nov 3 2011, 07:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Цитата(kan35 @ Nov 3 2011, 10:08) *
у вас какая версия? (у меня 7.0.0).


6.0.3
Go to the top of the page
 
+Quote Post
kan35
сообщение Nov 3 2011, 13:14
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(cpl @ Nov 3 2011, 11:38) *
6.0.3

а большие пакеты принимать пробовали?
скажем, от 100кб
Go to the top of the page
 
+Quote Post
cpl
сообщение Nov 3 2011, 13:46
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Цитата(kan35 @ Nov 3 2011, 16:14) *
а большие пакеты принимать пробовали?
скажем, от 100кб


Пакет 100кб ?!

Расматриваю приходящие даные как поток с последующей разборкой того что пришло.
Для теста всял большой текстовый файл 250кб и отправил с сервера через инет клиенту (своей железке)
минут 5 может больше приходили данные неприрывно, пока все не пришло, система живет.

У Вас значение TCP_MSS = 1500-40, зачем такое значение ?
и почему ?
Какой у Вас размер буфера для принятых данных из модема ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kan35   lwIP (PPP) проблема   Oct 21 2011, 06:51
- - kan35   Заменил модем на SIM300DZ - результат на 100% тот ...   Oct 21 2011, 13:19
- - cpl   Какой менеджер памяти в freertos используете ? ско...   Oct 27 2011, 18:28
|- - kan35   Цитата(cpl @ Oct 27 2011, 22:28) Какой ме...   Oct 29 2011, 07:44
|- - cpl   CTS-RTS модема обрабатываются корректно ? Попробуй...   Oct 30 2011, 20:13
|- - kan35   Цитата(cpl @ Oct 31 2011, 00:13) CTS-RTS ...   Oct 31 2011, 17:49
|- - cpl   Где в стеке поддержка XON XOFF, в lwip1.3.2 не наш...   Oct 31 2011, 20:02
|- - kan35   Цитата(cpl @ Nov 1 2011, 00:02) Где в сте...   Nov 2 2011, 04:48
- - kan35   Рано обрадовался. Началось совершенно непонятное. ...   Nov 2 2011, 08:46
|- - cpl   XON-XOFF Не применял, пока обхожусь CTS-RTS. Стек ...   Nov 2 2011, 09:37
|- - kan35   Цитата(cpl @ Nov 2 2011, 13:37) XON-XOFF ...   Nov 2 2011, 10:38
|- - cpl   Система не упала и ошибок не выдает значит все нор...   Nov 2 2011, 15:53
- - kan35   Я начал работать на аппноте от ST - там был ethern...   Nov 3 2011, 14:11
|- - cpl   Цитата(kan35 @ Nov 3 2011, 17:11) Еще не ...   Nov 3 2011, 14:29
- - kan35   нет, с FlowControl нет проблем и не было (просто т...   Nov 3 2011, 15:42
- - kan35   Проблема решена, оказывается дело не в стеке и даж...   Nov 17 2011, 11:48
- - cpl   Примите мои искрение поздравления.   Nov 17 2011, 13:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 09:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01433 секунд с 7
ELECTRONIX ©2004-2016