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

 
 
> stm32f4 ethernet потеря пакетов
Fobes
сообщение May 18 2016, 19:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 19-01-16
Пользователь №: 90 105



Всем доброго времени суток. Собственно заметил такую проблему. Отправляю пакеты в сеть на скорости в 4Мбита/c. использую low_level_output для отправки пакетов. при отправке нет никаких ошибок и не возникают вообще, но вот с повышением нагрузки, другими словами, если втыкаю плату в роутер, в котором уже около 4 мбит, то получаю что тупо теряются пакеты... в шарке их попросту нет, но ошибок при отправке никаких нет... физика: dp83848 ... что-то совсем в ступоре и не знаю даже куда копать... помогите идеями sad.gif
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 39)
LightElf
сообщение Jun 8 2016, 14:56
Сообщение #31


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

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (Fobes @ Jun 8 2016, 17:06) *
Втыкаем дискавери напрямую в комп и смотрим номера пакетов, ничего не теряется, все хорошо. Берем роутер, к роутеру подключаем комп и дискавери, также роутер подключен к интернету. Запускаем данные с дискавери и смотрим, потерь опять же нет. Но стоит дать какую-либо нагрузку, т.е. запустить торрент на компе, включить онлайн фильм, то пакеты начинают теряться, причем количество потерь увеличивается с наращиванием нагрузки... дискавери генерирует около 4Мбит в локальную сеть... Так понятнее ? Как-будто передача начинается в то время, когда роутер еще не разрешил ее... Есть идеи ?

Пакеты какого размера? Зависит ли проблема от длины пакета?
Предположения:
1) Роутер не справляется. Например у него в свиче нет аппаратной поддержки vlan, выполняется эмуляция на процессоре.
2) Ноут не справляется. wireshark переключает сетевушку в promiscous mode и начинает фильтровать пакеты софтверно. Торрент/фильм создают тучу пакетов и шарк захлебывается.
3) Ваш девайс анонсирует поддержку flow control, но реально pause frame не обрабатывает.
Go to the top of the page
 
+Quote Post
Fobes
сообщение Jun 8 2016, 15:40
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 19-01-16
Пользователь №: 90 105



Цитата(LightElf @ Jun 8 2016, 14:56) *
Пакеты какого размера? Зависит ли проблема от длины пакета?
Предположения:
1) Роутер не справляется. Например у него в свиче нет аппаратной поддержки vlan, выполняется эмуляция на процессоре.
2) Ноут не справляется. wireshark переключает сетевушку в promiscous mode и начинает фильтровать пакеты софтверно. Торрент/фильм создают тучу пакетов и шарк захлебывается.
3) Ваш девайс анонсирует поддержку flow control, но реально pause frame не обрабатывает.


Чистый пакет 125 байт с частотой 4 кГц'а. От длины не зависит. В роутер также втыкалось промышленное устройство, генерирующее такой же поток данных что и мое. При проверке, поток пром. устройства был полон, а мой по прежнему с дырками. Пакеты ловил не шарком, а другой программой, хотя все равно все на pcap'е писалось. Первые два варианта отпадают. А вот про третий интересно... можно более подробно ? Это режим когда два пакета одновременно отправиться не могут чтоли ?
Go to the top of the page
 
+Quote Post
pitt
сообщение Jun 8 2016, 17:22
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Очевидно, что проблемы с софтом, а не с железом. Попробуйте найти и поставить тупой хаб, может роутер слишком умный...


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 8 2016, 17:30
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(pitt @ Jun 8 2016, 20:22) *
Очевидно, что проблемы с софтом, а не с железом. Попробуйте найти и поставить тупой хаб, может роутер слишком умный...

Рубрика "вредные советы"? Ню-ню. Хаб точно от торрента захлебнётся - к гадалке не ходи.
Go to the top of the page
 
+Quote Post
pitt
сообщение Jun 8 2016, 18:54
Сообщение #35


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(scifi @ Jun 8 2016, 13:30) *
Рубрика "вредные советы"? Ню-ню. Хаб точно от торрента захлебнётся - к гадалке не ходи.

а тут торрент отлаживается или что-то иное? А нагрузить линию можно и без торрента.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 8 2016, 19:46
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(pitt @ Jun 8 2016, 21:54) *
а тут торрент отлаживается или что-то иное?

Строго говоря, тут ничего не отлаживается. Тут пляски с бубном. laughing.gif
Go to the top of the page
 
+Quote Post
Fobes
сообщение Jun 8 2016, 20:15
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 19-01-16
Пользователь №: 90 105



Цитата(pitt @ Jun 8 2016, 17:22) *
Очевидно, что проблемы с софтом, а не с железом. Попробуйте найти и поставить тупой хаб, может роутер слишком умный...


Брал коммутатор за 30к, итог тот же...

Цитата(pitt @ Jun 8 2016, 18:54) *
а тут торрент отлаживается или что-то иное? А нагрузить линию можно и без торрента.

Само собой) Отлаживается потеря пакетов. Непонятно из-за чего происходящая.

А как происходит передача пакета из озу в phy ? Использую SPL и LwIp. Пакет пишется в дискриптор, потом его DMA уже переносит в физику ? А физика уже должна думать, отправлять сейчас или подождать, так ? Или задержка при одновременной отправке пакетов с нескольких сторон управляется mac уровнем ? Куда копать ? В настройку phy или с отправкой что-то не то ?

Сообщение отредактировал Fobes - Jun 8 2016, 20:16
Go to the top of the page
 
+Quote Post
pitt
сообщение Jun 8 2016, 21:57
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(Fobes @ Jun 8 2016, 16:15) *
В настройку phy или с отправкой что-то не то ?

если напрямую все в порядке, то с физикой нет проблем. Настройки phy смотреть можно, но это, скорее, настройки mac, а еще скорее, роутера. Потому и сказал взять тупой хаб.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
LightElf
сообщение Jun 9 2016, 13:08
Сообщение #39


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

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (Fobes @ Jun 8 2016, 18:40) *
Чистый пакет 125 байт с частотой 4 кГц'а. От длины не зависит. В роутер также втыкалось промышленное устройство, генерирующее такой же поток данных что и мое. При проверке, поток пром. устройства был полон, а мой по прежнему с дырками. Пакеты ловил не шарком, а другой программой, хотя все равно все на pcap'е писалось. Первые два варианта отпадают. А вот про третий интересно... можно более подробно ? Это режим когда два пакета одновременно отправиться не могут чтоли ?

Регистр PHY 4h, биты 10:11 сообщают партнеру, поддерживает ли устройство pause frames. Регистр ETH_MACFCR у STM32 управляет обработкой этих самых pause frames. Ессно регистры должны быть между собой согласованы. Т.е. ежели PHY сообщает партнеру о поддержке pause, то в MAC должна быть включена обработка таких пакетов. Иначе картина маслом: роутер занят, он отсылает девайсу команду заткнуться и перестает принимать от него пакеты. Девайс команду игнорирует и продолжает отправлять данные. Итого: пакеты теряются.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jun 9 2016, 13:17
Сообщение #40


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Fobes @ Jun 8 2016, 23:15) *
Пакет пишется в дискриптор, потом его DMA уже переносит в физику ? А физика уже должна думать, отправлять сейчас или подождать, так ? Или задержка при одновременной отправке пакетов с нескольких сторон управляется mac уровнем ? Куда копать ? В настройку phy или с отправкой что-то не то ?

Вообще физика - если это просто трансивер, то она работает насквозь, т.е она что получила от МАСа, то и выплюнула в линию. Она ничего не умеет, ни " думать, отправлять сейчас или подождать". Это может делать свитч, т.е. прансивер отсылает ему пакет, а он накапливает у себя пакет, если линия занята... Но это работает только в дуплексе от физики до свитча...
Из физики можно прочесть, свободна ли линия и дать команду на передачу. А если было столкновение в линии, то перезапустить пакет..


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

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

 


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


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