Hi, I'm starting to get the hang of these ENC28J60 chips but I'm still having a few problems. Currently I have managed to go as far as sending a packet which my PC can receive. Now I'm trying to send data back to the chip but it's not working.

My problem appears to be when writing to the ERXST register pair. The write is successful and I can read the correct values back but the datasheet says writing to these registers will also update ERXWRPT. This doesn't appear to be happening. Whenever I read the registers back, ERXWRPT is always set to 0:0. This is causing received packets to be written to the wrong location.

Is there something else I must do to update ERXWRPT? I cannot modify it in my code as it is read only and I don't see anything in the datasheet that suggests I have to do anything other than write to ERXST.