Цитата(alvy @ Apr 15 2011, 08:06)

Имеется KSZ8841-16MVLI. Задача - передать через нее UDP пакет. С самим пакетом проблем нет - заголовки, контрольные суммы в заголовках - все проверено на приемной стороне Wireshark'ом. Проблема возникла с контрольной суммой CRC32, которая следует после данных, в конце пакета.
В даташите на микросхему есть регистр Transmit Control Register (банк 16, адрес 0), в котором, в частности, есть бит "TXCE Transmit CRC Enable". При инициализации записываю в этот бит 1. Но при отправке пакета в Wireshark'е поле контрольной суммы не появляется.
Сейчас временно формирую контрольную сумму в ПЛИС, но по идее ее должна формировать сама микросхема - у кого-нибудь получилось заставить ее это делать?
я с Wireshark'ом не работал. Но вот что хочу спросить. Вы смотрите "принятые правильно пакеты" или "поголовно все пакеты, в том числе и неправильные"? Ведь "CRC32, которая следует после данных, в конце пакета" в случае приема правильного пакета может быть отбрасывается? А если она не формируется, то все пакеты должны быть квалифицированы как "неправильные"...
Если же Вы делаете "контрольную сумму в ПЛИС", то это возможно трактуется как данные... Проверьте сколько байт данных считывается в этом случае...
Так?