leía mal el ISR y eso provocaba que se resetea la placa sin que realmente haya
overflow del buffer. Con un asqueroso hack (poniendo un retardo antes de leer el
ISR _solo_ en ese lugar) parece mejorar considerablemente. Lo sigue haciendo,
pero MUY esporádicamente...
static unsigned int etherdev_poll(void)
{
unsigned int len = 0;
+ // Retardo mega-bizarro, si no lo pongo a veces leo basura del ISR
+ unsigned char j;
+ for (j = 0; j < 0xFF; ++j);
// Check if the rx buffer has overflowed.
if (etherdev_reg_read(ISR) & OVW)