Hello,
The problem is still persistent, I will describe what I did, and the result I get. On the image below you can see the configuration of both ENET and buffer descriptor for Tx and Rx.
The ENET0 is loop to the ENET1 with a cable. (Problem is present also in internal loopback)
The buffer descriptor are in enhanced
- Tx BD (AS_ENET0_TXBD) : Length is set to 60 (0x3C) and option L (Last in frame), TC (Transmit CRC) and R (ready) are set
- Rx BD (AS_ENET1_RXBD) : Only the option E (empty) is set
- The transmission and reception are configured in store and forward
- Then the register ENET_TDAR is set to 0x01000000 to inform the MAC to start the transmission
-> The field R of the TX BD is clear and the BDU (Last buffer descriptor update done.) is set by the MAC
-> No error flag are raised in the Tx BD
-> No interrupt flag are raised
-> ENET_RMON_T_PACKETS is equal to 1 (one packet has been send)
-> ENET_RMON_T_P64 is equal to 1 (one packet of 64 bytes has been send)
-> ENET_RMON_T_OCTETS is equal to 0x40 (64 bytes has been send)
-> ENET_IEEE_T_FRAME_OK is equal to 1 (one packet transmitted OK)
-> ENET_IEEE_T_OCTETS_OK is equal to 0x40 (64 bytes transmitted without error)
- Then the register ENET_RDAR is set to 0x01000000 to received the data
-> The field E of the Rx BD is clear, the field L set no set
-> The data length of the Rx BD is set to 0x05F0 (Value of MRBR register)
-> No error flag are raised in the Rx BD
-> No interrupt flag are raised
-> ENET_RMON_R_PACKETS is equal to 1 (one packet received)
-> ENET_RMON_R_P64 is equal to 1 (one packet of 64 Bytes received)
-> ENET_RMON_R_OCTETS is equal to 0x40 (64 Bytes received)
-> ENET_IEEE_R_FRAME_OK is equal to 1 (one frames received OK)
-> ENET_IEEE_R_OCTETS_OK is equal to 0x40 (64 Bytes received without error)

After that If a second message is send, the transmission will work but not the reception, it's like it's stuck.
I don't understand why the value write in the field Data length in the Rx BD is the value of the MRBR register whereas the counter show the reception of 1 frame of 64 bytes and no error are detected.
Best regards
Alexandre