ENC28J60 rechaza paquetes de unidifusión: el filtro de unidifusión está activado, MAC está configurado y las direcciones coinciden

1

Estoy programando un controlador ENC28J60 en este momento, y he encontrado algo extraño al intentar recibir paquetes. Más específicamente, los paquetes de unidifusión.

Según la hoja de datos, cuando se habilita el filtro de unidifusión, cualquier paquete de unidifusión con una dirección MAC de destino que no coincida con la dirección MAC almacenada en los registros se descarta.

He escrito los siguientes filtros en ERXFCON:

  • CRCEN
  • UCEN
  • BCEN
  • MCEN

Eso significa que debería permitir unicasts con un MAC coincidente, difusiones, multidifusiones, mientras se rechazan los paquetes que no tienen un CRC coincidente.

Conecto el ENC al enrutador que tengo, y todo está bien, estoy recibiendo transmisiones. ¡Bonito! Entonces intento iniciar DHCP. El paquete DHCPDISCOVER se envía. Niza!

... ¿Pero dónde está el DHCPOFFER?

Mirando a wireshark muestra que el enrutador ha intentado enviarlo, al menos. He conectado mi computadora a un puerto duplicado. El MAC de destino del paquete DHCPOFFER de unidifusión de hecho coincide con la dirección MAC que he escrito en los registros. Y sin embargo, ENC decide rechazarlo. Por supuesto, esto no es un problema si deshabilito estos filtros por completo, pero luego debo dejar que mi software lo maneje, y ¿por qué debo hacer eso cuando el hardware es capaz de hacerlo?

En resumen, no estoy seguro de por qué la ENC rechaza los paquetes Unicode cuando todo parece estar en orden.

    
pregunta Someone

0 respuestas

Lea otras preguntas en las etiquetas