Emu68-genet-driver v1.2
El emu68-genet-driver v1.2 presenta una serie de mejoras y correcciones que buscan optimizar la gestión de la interfaz Ethernet Genet en Raspberry Pi 4 y Compute Module 4 (CM 4) dentro del entorno Emu68. Entre los cambios más destacados se encuentra la reescritura del anillo de transmisión (TX ring), implementando la función DMACopyFromBuff para colocar directamente los datos de transmisión en el anillo TX, lo que mejora la eficiencia al reducir copias innecesarias en memoria.
Asimismo, el código ha recibido una importante limpieza y refactorización para facilitar su mantenimiento y futura evolución. En el ámbito de recepción (RX), se ha añadido la inicialización del coalescing de paquetes, aunque actualmente esta funcionalidad es ineficaz debido a la ausencia de soporte de interrupciones expuestas al procesador M68k, por lo que queda pendiente su activación en próximas versiones.
Una mejora relevante es la incorporación del filtro de dirección de hardware para direcciones multicast, que se activa si hay menos de 15 direcciones multicast en uso, ayudando a reducir el tráfico innecesario. También se ha añadido soporte para el modo promiscuo, aunque este último, junto con la funcionalidad multicast, no ha sido testeado exhaustivamente debido a la falta de tiempo para identificar qué software en AmigaOS utiliza estas características. El desarrollador invita a la comunidad a reportar si conocen aplicaciones que hagan uso de estas funciones para poder validar su correcto funcionamiento.
Se ha corregido un error conocido como “MTU bug”, que afectaba al tamaño máximo de unidad de transmisión y que ahora debería permitir un manejo correcto de paquetes Ethernet sin fragmentación incorrecta.
Respecto a la compatibilidad con la pila de red Roadshow, el desarrollador ha identificado que solo entre el 25% y 30% de los buffers que Roadshow expone son capaces de usar DMA, por lo que el 70% restante requiere copias a buffers internos, lo que limita la eficiencia. No está claro si esta limitación es inherente a Roadshow o si podría solucionarse mediante ajustes en sus archivos de configuración. Como trabajo en progreso, se está explorando la posibilidad de habilitar DMACopyToBuff, lo que permitiría copiar datos hacia buffers DMA, aunque parece complejo lograrlo sin trucos avanzados debido a que la arquitectura SANA-II no encaja fácilmente con la forma en que funcionan las tarjetas de red modernas.
El desarrollador advierte que esta versión es una pre-release y puede no ser completamente estable. Aclara que algunos problemas detectados podrían deberse a fallos de hardware no relacionados con el driver, lo que invita a la comunidad a probar la versión y reportar cualquier incidencia para mejorar su robustez.
#amigaos #ComputeModule4 #conectividad #DMABuffers #DMACopyFromBuff #emu68GenetDriver #emuladorEmu68 #estabilidad #Ethernet #filtroHardwareMulticast #interrupcionesM68k #modoPromiscuo #MTUBug #preRelease #RaspberryPi4 #refactorización #roadshow #RXCoalescing #SANAII #TXRing #versión12





