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

 
 
> STM32F207+LwIP+FREERTOS - ARP?
V_M_Luck
сообщение Aug 7 2012, 17:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Начинаю разбираться с Ethernet. Контроллер STM32F207. Иду по обычному пути - пример от ST LwIP+FREERTOS. Сделал простенькую задачу, в которой отправляю пакеты по UDP. В принципе работает.
НО. Если просто запустить проект, никаких пакетов на стороне PC не наблюдается (Wireshark). Вот если как-нибудь дернуть мой девайс со стороны компа (например ECHO запросить) - сразу все оживает. Поразбиравшись обнаружил, что при старте не заполняется ARP таблица. При чем ARP запрос формируется. Я проследил до low_level_output. Там все нормально. Смотрел счетчик ушедших паетов ETH_MMCTGFCR в EMAC - все соответствует количеству ARP запросов. Но Wireshark молчит.
Как-то так.
Может кто сталкивался - подскажите куда смотреть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Aug 13 2012, 13:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



К сожалению с STM32f2xx не знаком - боюсь увести в неверном направлении.
Насколько я понимаю у Вас не передается самый первый пакет?
В некоторых случаях проще повторить попытку передачи. Например, в uIP зачем-то посылается два пакета в сеть вместо одного.
Если есть осциллограф, то можно посмотреть ногу ETH_TXEN на наличие импульса отправки "неприходящего" пакета.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Aug 13 2012, 14:27
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Цитата(adnega @ Aug 13 2012, 16:17) *
К сожалению с STM32f2xx не знаком - боюсь увести в неверном направлении.
Насколько я понимаю у Вас не передается самый первый пакет?
В некоторых случаях проще повторить попытку передачи. Например, в uIP зачем-то посылается два пакета в сеть вместо одного.
Если есть осциллограф, то можно посмотреть ногу ETH_TXEN на наличие импульса отправки "неприходящего" пакета.

Спасибо, завтра гляну.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Aug 14 2012, 13:26
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Посмотрел. TXEN есть. На TXD0 смотрел - тоже чего то есть. Wireshark все еще ничего не видит.
Go to the top of the page
 
+Quote Post
adnega
сообщение Aug 14 2012, 16:18
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(V_M_Luck @ Aug 14 2012, 17:26) *
Посмотрел. TXEN есть. На TXD0 смотрел - тоже чего то есть. Wireshark все еще ничего не видит.

Странно.
У меня на F4 пакеты стабильно принимались, но отправка работала очень не стабильно (иногда без потерь, иногда 100% потерь). TXEN и TXD проявляли активность. Проблема была в том, что для этих ног GPIO были сконфигурированы со SPEED 2МГц. Поставил 100МГц - уже третий день ни одного ping-пакета не потеряно.
Проверьте на всякий случай свои настройки.
Кста, тоже пользуюсь wireshark (под Win XP) - проблем с потерей пакетов не замечал.
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Aug 15 2012, 09:37
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



У меня ножки на 50МГц настроены. Так интересно, что отправка работает стабильно. Всего, кроме ARP запросов. Может есть какой косяк в lwip в самой структуре ARP запроса?

Сообщение отредактировал V_M_Luck - Aug 15 2012, 09:38
Go to the top of the page
 
+Quote Post
Quasar
сообщение Aug 15 2012, 09:39
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(V_M_Luck @ Aug 15 2012, 13:37) *
У меня ножки на 50МГц настроены. Так интересно, что отправка работает стабильно всего, кроме ARP запросов. Может есть какой косяк в lwip в самой структуре ARP запроса?

Да вроде не известно о таком, выложите дамп этого запроса, глянем, но вряд ли там чего-то криминальное. А broadcast' ы в принципе от вашей железки улетают?
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Aug 15 2012, 10:56
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Цитата(Quasar @ Aug 15 2012, 12:39) *
Да вроде не известно о таком, выложите дамп этого запроса, глянем, но вряд ли там чего-то криминальное. А broadcast' ы в принципе от вашей железки улетают?

Смотрел сразу после копирования в область DMA
Первым формируется вот это запрос:

FFFFFFFFFFFF - Destination MAC
30EC0068ADE1 - Мой MAC
0806 - ARP
0001 - HTYPE Ethernet
0800 - PTYPE IPv4
06 - HLEN
04 - PLEN
0001 - Operation
30EC0068ADE1 - SHA
C0A8000A- SPA (192.168.0.10)
000000000000 - THA
C0A8000A - TPA (192.168.0.10) ????

Почему-то SPA и TPA одинаковы. Я так думаю - проверка на конфликт адресов в подсети.
Далее идут запросы, в которых TPA = C0A8000B (192.168.0.11). Это как-раз адрес узла, на который идет отправка.

По поводу broadcast - вот он, единственный. И не уходит. Может где чего в MAC разрешить надо? Но что-то не нашел.

Цитата(Quasar @ Aug 15 2012, 12:34) *
А я так понимаю железка к компьютеру с Wireshrk'ом напрямую подключена? А если повторить попытку послать пакет, получается или нужен обязательно пакет от кого-то?

Извиняюсь, упустил пост.
Железка подключена напрямую. Повтор попыток отправки ничего не дает. Вот если с ПК придет ARP запрос, то с моего устройства уходит правильный ответ, MAC адрес ПК прописывается в ARP таблице и дальше все работает.
Go to the top of the page
 
+Quote Post
Quasar
сообщение Aug 15 2012, 11:03
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(V_M_Luck @ Aug 15 2012, 14:56) *
Почему-то SPA и TPA одинаковы. Я так думаю - проверка на конфликт адресов в подсети.
Далее идут запросы, в которых TPA = C0A8000B (192.168.0.11). Это как-раз адрес узла, на который идет отправка.

По поводу broadcast - вот он, единственный. И не уходит. Может где чего в MAC разрешить надо? Но что-то не нашел.


Я так понимаю проблема с отправкой броадкаста. Если обмен с одним из хостов уже начался, может ли железка начать обмен с другим хостом? Ну то есть, после этого она может послать ARP броадкаст другому хосту?

ARP вроде правильный.

Сообщение отредактировал IgorKossak - Aug 15 2012, 11:19
Причина редактирования: избыточное цитирование
Go to the top of the page
 
+Quote Post
V_M_Luck
сообщение Aug 15 2012, 14:15
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 26-11-05
Пользователь №: 11 420



Возможно. Но если я вижу активность на TXEN, значит из MAC все уходит. Получается, что на физике запрещена трансляция броадкастов? Такое может быть?
Физика KSZ8041TL.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- V_M_Luck   STM32F207+LwIP+FREERTOS - ARP?   Aug 7 2012, 17:02
- - V_M_Luck   Да, забыл добавить. Физика KSZ8041.   Aug 8 2012, 06:34
- - Quasar   Цитата(V_M_Luck @ Aug 7 2012, 21:02) Начи...   Aug 11 2012, 18:40
|- - V_M_Luck   Совершенно верно. Запрос не виден. Причем обратный...   Aug 13 2012, 06:41
|- - adnega   Цитата(V_M_Luck @ Aug 13 2012, 10:41) Сов...   Aug 13 2012, 07:31
|- - V_M_Luck   Цитата(adnega @ Aug 13 2012, 10:31) Errat...   Aug 13 2012, 12:48
||- - adnega   Цитата(V_M_Luck @ Aug 15 2012, 18:15) Воз...   Aug 15 2012, 14:40
|- - Quasar   Цитата(V_M_Luck @ Aug 14 2012, 17:26) Пос...   Aug 15 2012, 09:34
- - V_M_Luck   Если кому еще интересно, дело было в неисправной с...   Sep 28 2012, 08:03


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:36
Рейтинг@Mail.ru


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