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

 
 
> приходят укороченные IP пакеты, а иногда и не полные, кто виноват?
zuy
сообщение Dec 7 2009, 14:16
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Имеется девайс с USB хостом, который через USB EDGE модем выходит в интернет и принимает данные.
Софт организован на связке FreeRTOS + LwIP.

Для упрощения отладки весь пакет софта, кроме драйвера USB хоста и модема был портирован на PC.
На PC софт работает, с модемом общается через COM порт и все ОК.
В реальном девайсе наблюдается следующая картина:
1. Если на PC пакеты шли в основном полной длины около 1062 байт, то на девайсе эти же пакеты принимаются с длиной 511 байт.
причем изменение длины стоит в самом загоровке IP внутри пакета. Т.е. я от сервера уже получаю более мелкие пакеты.
2. Некоторые пакеты приходят не завершенными. Я не вижу в конце пакета завершающего 0x7E. при этом следующая порция данных из модема присылает новый пакет.
т.е. не похоже, что я его не до конца вычитал.

Софт на PC и в девайсе идентичный, файлы прямо копируются из одного в другой.

Что может заставить сервер присылать укороченные пакеты?
Как это происходит?

И еще вопрос. А что происходит при аппаратном управлении потоком если провайдер передает данные, но клиент модема не может принять и сбрасывает CTS ?
модем и провайдер сами договорятся, что надо подождать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Master of Nature
сообщение Dec 7 2009, 22:30
Сообщение #2


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(zuy @ Dec 7 2009, 18:16) *
Имеется девайс с USB хостом, который через USB EDGE модем выходит в интернет и принимает данные.
Софт организован на связке FreeRTOS + LwIP.

Для упрощения отладки весь пакет софта, кроме драйвера USB хоста и модема был портирован на PC.
На PC софт работает, с модемом общается через COM порт и все ОК.
В реальном девайсе наблюдается следующая картина:
1. Если на PC пакеты шли в основном полной длины около 1062 байт, то на девайсе эти же пакеты принимаются с длиной 511 байт.
причем изменение длины стоит в самом загоровке IP внутри пакета. Т.е. я от сервера уже получаю более мелкие пакеты.
2. Некоторые пакеты приходят не завершенными. Я не вижу в конце пакета завершающего 0x7E. при этом следующая порция данных из модема присылает новый пакет.
т.е. не похоже, что я его не до конца вычитал.

Софт на PC и в девайсе идентичный, файлы прямо копируются из одного в другой.

Что может заставить сервер присылать укороченные пакеты?
Как это происходит?

Возможно проблема в том, что девайс с хостом просто не успевает справляться с потоком принимаемых данных и происходит переполнение входного буфера. Но т.к. данный считаются принятыми с точки зрения протокола, то высылается следующий пакет.
Уменьшение размеров пакетов, видимо, связано с той же причиной. Серверу сообщается, что вы не можете обработать пакеты длиной больше 511 байт.


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 11:38
Рейтинг@Mail.ru


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