
Eu tenho uma NIC RTL8125B-CG que, pelo que entendia página do produto deles, possui suporte de hardware para PTP. No entanto, sudo ethtool -T
não detecta nenhum recurso de carimbo de data/hora de HW.
Já tentei com o r8169
driver e com o r8125
driver da Realtek (amboseste do Githubeeste da página de download da Realtek), mas sem sucesso. No Makefile no código fonte, parece haverum sinalizador que indica que o suporte PTP não está habilitado por padrão, mas quando habilito esse sinalizador não consigo compilar (recebo o erro apresentado emesse assunto).
Alguém tem alguma experiência ou sabe o que posso fazer para ativar o suporte PTP?
Estou executando o Ubuntu 20.04 e o 5.11.0-36-generic
kernel.
Responder1
Veja o problema no Github para obter uma resposta:https://github.com/awesometic/realtek-r8125-dkms/issues/9
Resumindo, o problema com a compilação era que na versão mais recente do driver (9.006.04) a Realtek removeu a spinlock_t lock
variável membro de struct rtl8125_private
, mas não atualizou o arquivo PTP de acordo. Portanto, todas as rotinas spin_lock_irqsave
e spin_lock_irqrestore
não serão compiladas. Existem duas maneiras de corrigir isso:
- Comente todas as rotinas
spin_lock_irqsave
espin_lock_irqrestore
no arquivo PTP ou - Adicione novamente o
spinlock_t lock
membro no arquivostruct rtl8125_private
.
Este último é provavelmente mais seguro, pois não sabemos se os IRQs são vitais para o funcionamento do driver. Dito isto, tentei as duas soluções e ambas fizeram o driver compilar e relatar os recursos de HW do PTP, então não sei qual é o melhor.
No entanto, ainda acho que o driver tem muitos bugs, pois ainda não consigo usar o carimbo de data / hora do HW no modo escravo e tenho problemas para obter resultados confiáveis. Muitas vezes me deparo com o problema de ptp4l
tentar linuxptp
obter um carimbo de data/hora do driver. Tenho dois computadores diferentes com r8125
NICs e às vezes funciona em um computador e raramente no outro. Suspeito que a função PTP não tenha sido bem testada pela Realtek, embora isso seja apenas especulação da minha parte.