Soporte PTP para NIC RTL8125B-CG en Ubuntu 20.04

Soporte PTP para NIC RTL8125B-CG en Ubuntu 20.04

Tengo una NIC RTL8125B-CG que, por lo que deduzco desu página de producto, tiene soporte de hardware para PTP. Sin embargo, sudo ethtool -Tno detecta ninguna capacidad de marca de tiempo de HW.

Lo intenté con el r8169controlador y con el r8125controlador de Realtek (amboseste de Githubyeste de la página de descarga de Realtek), pero sin éxito. En el Makefile del código fuente, parece haberuna bandera que indica que la compatibilidad con PTP no está habilitada de forma predeterminada, pero cuando habilito este indicador no puedo compilar (aparece el error presentado eneste problema).

¿Alguien tiene alguna experiencia o sabe qué puedo hacer para habilitar la compatibilidad con PTP?

Estoy ejecutando Ubuntu 20.04 y el 5.11.0-36-generickernel.

Respuesta1

Vea el problema en Github para obtener una respuesta:https://github.com/awesometic/realtek-r8125-dkms/issues/9

En resumen, el problema con la compilación fue que en la versión más reciente del controlador (9.006.04) Realtek eliminó la spinlock_t lockvariable miembro de struct rtl8125_private, pero no actualizó el archivo PTP en consecuencia. Por lo tanto, todas las rutinas spin_lock_irqsavey spin_lock_irqrestoreno se compilarán. Hay dos formas de solucionar este problema:

  1. Comente todas las rutinas spin_lock_irqsavey spin_lock_irqrestoreen el archivo PTP, o
  2. Vuelva a agregar el spinlock_t lockmiembro en el archivo struct rtl8125_private.

Probablemente esto último sea más seguro ya que no sabemos si las IRQ son vitales para el funcionamiento del conductor. Dicho esto, probé ambas soluciones y ambas hicieron que el controlador compilara e informara las capacidades de PTP HW, así que no sé cuál es la mejor.

Sin embargo, sigo pensando que el controlador tiene bastantes errores, ya que todavía no puedo usar la marca de tiempo HW en modo esclavo y tengo problemas para obtener resultados confiables. A menudo me encuentro con el problema de que ptp4lmuchas linuxptpveces intento obtener una marca de tiempo del controlador. Tengo dos computadoras diferentes con r8125NIC y a veces funciona en una computadora y muy raramente en la otra. Sospecho que Realtek no ha probado bien la función PTP, aunque esto es sólo una especulación de mi parte.

información relacionada