I just playing around with the ENC28J60 Ethernet controller from Microchip, but when I send packets with the controller, Wireshark reports a invalid checksum. The CRC field is always 0x00000000.
This is in my initialization for the MACON3 register:
write_reg(BANK2, MACON3, (1 << MACON3_FULDPX) |
(1 << MACON3_FRMLNEN) |
(1 << MACON3_TXCRCEN) |
(1 << MACON3_PADCFG0) |
(1 << MACON3_PADCFG1) |
(1 << MACON3_PADCFG2));
When I send a packet, I set the PCRCEN flag in the control byte.
I have read the errata document of the the ENC28J60, but I can't find any information about a invalid checksum calculation. The revision of my chip is B7.
Is there something missing?
User contributions licensed under CC BY-SA 3.0