Я работаю над проектом FPGA ETHE RNET. Моя проблема заключается в следующем: пакет UDP / IP, отправленный с FPGA, перехватывается «wireshark», и он выдает мне следующее предупреждение: «BAD UDP LENGTH 26> IP PAYLOAD LENGTH Len = 18 (Malformed Packet)». BAD_UDP_LENGTH (PICTURE)
1004 * На самом деле, я пытаюсь отправить следующий пакет: 55555555555555D598EECB9B6EF400123456789008004500002EB3FE0000801108BDA9FE1504A9FE1503FA00FA00001A45630
00102030405060708090A0B0C0D0E0F1011 06A07518 1008 * Вы можете видеть, что последний байт данные
11 , и эта часть данных не отображается "wireshark".
Эта часть данных, очевидно, передается , как я видел это на осциллографе. Я пробовал количество различных генераторов пакетов Ethe rnet (PacketETH, EthernetUDP, C#), и все они генерировали одинаковые пакеты (я думаю, что нет проблем в пакетах или генераторах пакетов). Также я перехватил пакеты с помощью другого программного обеспечения для мониторинга сети «Omnipeek», которое дало мне тот же результат, что и «wireshark»:
ПОСЛЕДНИЙ БАЙТ НЕ ОТОБРАЖЕН Если отображается последний байт, я думаю, «wireshark» не выдаст мне эту ошибку.
Кто-нибудь знает, как решить эту проблему?
Here I will give you additional details :
1) Я использую Digilent Anvyl FPGA , которая имеет LAN8720A-CP-TR трансивер. Я написал код на VHDL, а также запустил симуляцию в ISIM, которая дала мне правильный результат, а именно: все биты отправляются последовательно с соответствующими значениями . Кроме того, я проверил результат моделирования в реальности, исследуя выводы передачи трансивера LAN8720A-CP-TR с помощью Digilent Electronics Explorer
2) Для генерации пакетов Ethe rnet я использую простую программу которую вы можете скачать здесь EthernetUDP (fpga4fun.com) вот изображение пакета, сгенерированного этой программой Изображение EthernetUDP