He estado trabajando en la depuración de KSZ8081RNB Ethernet chip durante tres semanas y aún así, no puedo encontrar dónde está el problema.
En primer lugar, la placa en la que estoy trabajando incluye un procesador IMX6UL y algunos chips para controlar algunos amplificadores, interfaz bluetooth ... El diseño actual está inspirado en la placa de evaluación (EVK) de NXP . Tengo una configuración alrededor de mi KSZ8081RNB que es la misma en mi tablero y en el EVK. Además, el cableado es igual entre el IMX6UL y el KSZ en las dos placas.
He hecho y subo un U-BOOT trabajando en el evk. Incluye la configuración para interactuar con el chip ethernet. Cuando uso un comando ping, todo funciona muy bien ... Puedo ver en mi servidor usando wireshark que tengo intercambio de ARP e ICMP. Todos los paquetes entran y salen del IMX6UL (he hecho algunos rastreos para estar seguros)
Ahora, volviendo a los problemas :)
En mi versión de la placa, he subido el mismo código y aparecen los síntomas: -algunos de los paquetes (ARP e ICMP) ingresan sin problemas: cuando lanzo el bucle de red y hago ping desde el mundo exterior, puedo ver que los paquetes ingresan correctamente (lo chequeé en el IMX6UL) PERO cuando llegue el momento de dar la respuesta, los paquetes ARP e ICMP se bloquean por algo ... A veces, los paquetes salen y el servidor los lee, a veces no.
Lo que he hecho: Verifico la energía en el KSZ, el tipo de conector RJ45, la configuración MDIO del KSZ, el reloj de 50MHz y su fluctuación. Nada parece explicar la irregularidad del proceso de ping ...
¿Tienes algunas ideas? ¿Comentarios? ¿Necesitas más información?