--- Quote Start ---
Is the link set up in half duplex mode when you are using a hub? In that case could it simply be that you have collisions?
--- Quote End ---
No, the link is always in full duplex mode.
As I said, the weirdest part is that the problem arises when rx and tx are not at the same time; indeed I don't see this anomaly if I receive the frame exactly when I'm transmitting another one (i.e. when rx_en and tx_en tse mac signals are both active).
I can now reproduce in a deterministic way these conditions:
- rx and tx contemporary: OK
- rx delayed about 15us from tx: OK if tx rate is more than 1 every 50ms. If I use a higher tx rate, some frames are lost.
In this last condition, if I transmit a frame every 5ms and the same frame loops back after 15us I obtain this cyclic behaviour: frame are transmitted correctly for about 1s then stop for about 0.5s, then again it works for 1s and so on. At the mac-phy level I don't see any anomaly, although I did't analyse actual data, but only checked the presence of tx_en and rx_en signals.
From this last result I think that there could be a problem with mac clock timing. This is a sort of frequency beating behavior.
Regards