Add a timeout when waiting for transmit to finish.
Use setERXRDPT() to set receive pointer even for first packet.