OK,
I've also tried reading the counters in code (using alt_emac.h and the structures in there) and I get the same results. For the attached PCAP files, I see 0 frames received, 12 transmitted on EMAC0, and 12 Frames received, 28 frames transmitted on EMAC1. These are all correct, except the 0 on RX for EMAC0. My PCAP files that show the traffic in/out are attached. (Note, the SSDP traffic on EMAC1 happened before I reset the EMAC counters so are not reflected, here).
I would love to attach my PCAP files (16 KB each) but when I try, I see only a folder icon (no file name) and the "Answer" button is grayed out until I delete the file. I cannot attach multiple files. Seems upload is not working. But it's 100% clear to me that the EMAC0 RX counters (I reported frames, but octets, IP packets, etc. on the RX side are all wrong - like 0 in this case).
The RX counters on EMAC0 do count, however... seems they count ARP packets. But that's all I can see will increment them. And, again, this is the ENET FRAME counter so it should increment on every frame, should it not? How can it tell what's what?
Let me know if there is a way to get you my PCAP files if you want them.
(Here's my code)
void ShowMacCtrs()
{
char message[PROGRESS_STORAGE_WIDTH];
struct ALT_EMAC_GMAC_s *MAC0 = (struct ALT_EMAC_GMAC_s *) 0xff700000;
struct ALT_EMAC_GMAC_s *MAC1 = (struct ALT_EMAC_GMAC_s *) 0xff702000;
show_message("MAC\tFrms RX\tFrms TX\n");
sprintf(message, "0:\t%d\t%d\n", MAC0->rxframecount_gb.cnt, MAC0->txframecount_gb.cnt );
show_message(message);
sprintf(message, "1:\t%d\t%d\n", MAC1->rxframecount_gb.cnt, MAC1->txframecount_gb.cnt );
show_message(message);
}
output looks like this:
MAC Frms RX Frms TX
0: 0 12
1: 12 28