Eu tenho um computador com Windows 7 e dois computadores com Linux (Ubuntu 16.04) (W1, L1 e L2) conectados via WiFi - infelizmente, não é possível uma conexão com fio. Os computadores Linux executam o chrony para sincronização de horário, o L1 é configurado como fonte no L2, que funciona perfeitamente bem. Os relógios devem estar tão próximos quanto possível, um deslocamento de 50 ms já começaria causando problemas. Mas para os sistemas Linux usando o chrony isso não é problema. Agora eu também tenho que sincronizar o tempo em W1 para L1 e, infelizmente, não há nenhum crrony disponível para o Windows. Então peguei este script aqui com o IP L1 como peer: link A sincronização única funciona, mas existem algumas falhas:
Existem maneiras de resolver esses problemas ou existem abordagens melhores? Infelizmente, não posso direcionar todos os relógios para alguns servidores de temporização de Internet de alta precisão ou tempo de GPS, pois pelo menos o sistema Windows nunca está conectado à Internet e os sistemas Linux também não podem confiar em sua conexão com a Internet. No começo eu pensei que o problema 1 poderia ser causado por chrony controlando o relógio L1, mas desativar a crrony após a sincronização inicial não parece ter nenhum efeito sobre este problema.
Aqui estão algumas fotos mostrando o problema. W1 constantemente envia mensagens para L2 com o tempo L1 atual, L2 adiciona seu registro de data e hora na chegada e o gráfico mostra a diferença entre os dois registros de data e hora como observado por L2.
EDIT:L1eL2sãoambosalimentadosporbateria-ambospelamesmafonte.ComoapenasabateriadoCMOSdeveserresponsávelpeloRTC,nãoachoqueissopossacausarproblemas.Noentanto,descobriu-sequeé.AlimentandoestescomputadoresporAC(assimAC->conversorAC/DC->computadoremvezdebateria->conversorDC/DC->computador)reduzsignificativamenteodesvio.Masaindanãoébomosuficiente:
EDIT2:Solução/soluçãoalternativaDesativeioserviçodetempodoWindows(w32time)einstalei