PIC32MX Ethernet Controller Pattern Matching bug?
I am trying to filter broadcast traffic using the PIC32 Ethernet Controller Pattern Matching feature. The problem I have run into is that I need to change the Pattern Matching occasionally at run-time. The first time I set it up, it works fine. However, when I change the Pattern Match Checksum register (ETHPMCS) to a different value, it does not work.
For example, on the first setup after processor boot, I write 0xd4db to the checksum register. I read back the checksum register and it reports the correct 0xd4db value. When I then set the checksum register to 0xd4dd, when I read the checksum register back, it reports 0xd4df. I am unsure if this is a silicon bug or something else. I have disabled the Ethernet RX (and disabled Pattern Match mode) as described in the datasheet.