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

 
 
> LPC + Ethernet
0000h
сообщение Jul 22 2012, 21:02
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 20-05-09
Пользователь №: 49 325



Имею отладочную плату для микроконтроллера LPC1768, на которой в числе прочих разъёмов и кнопок имеется ethernet-розетка (в качестве PHY напаяна DP83848). Выкурил datasheet'ы и reference manual на указанный ARM камень и PHY, в итоге - запустил ethernet: приём, передача, с прерываниями и без, как угодно. Плату подключаю в домашнюю локалку через маршрутизатор (DIR-320 c DHCP, IP-адрес платы статический). Так вот, проблема в том, что при отправке UDP-пакета на IP-адрес платы виндовый драйвер, естественно не зная MAC-адрес платы сначала посылает в сеть ARP-запрос, который моя плата прекрасно ловит и отправляет ответ (мониторю с помощью WireShark). Затем по логике должен следовать исходящий UDP-пакет, но его нет! Хотя в программе, отправляющей UDP-пакет, функция sendto возвращает как и положено кол-во отправленных байтов! Но пакета нет - ни монитор, ни плата никак не реагируют!
Что за... angry.gif Смотрю ARP-кэш - там только MAC-адрес маршрутизатора. Руками в кэш прописываю IP и MAC платы. Повторяю отправку UDP-пакета. И вот тут-то уже UDP проскочил и в WireShark, и в плате.
Знающие люди, подскажите почему ответ на ARP-запрос с компа не записался в кэш и почему драйвер винды так подло шутит, возвращая положительный ответ, хотя на самом деле ничего не отправлял?
Go to the top of the page
 
+Quote Post



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

 


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


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