Netbook continua perdendo tempo

2

Eu possuo um Lenovo S10 e ele executa o Arch Linux como o único sistema operacional. Por alguma razão estranha que ainda não consegui descobrir, continua perdendo tempo. No BIOS é tem as configurações certas embora.

No linux, o fuso horário está definido corretamente e tudo funciona bem por algumas horas. Se eu definir o horário certo e reiniciar o computador, ele mostrará as configurações de hora corretas. No entanto, se eu desligar o computador e ligá-lo novamente algumas horas depois, o tempo está todo confuso novamente.

Eu tentei usar o NTP e, enquanto ele corrige o problema temporariamente, nem sempre é uma opção, já que nem sempre está conectado à Internet.

Alguma idéia sobre como corrigir esse problema permanentemente?

    
por nmuntz 20.07.2009 / 19:43

7 respostas

5

Verifique se o seu cliente NTP também define o relógio do hardware (através do BIOS), e não apenas o relógio do software Linux.

Você pode verificar o relógio do hardware usando o programa hwclock (localizado em /usr/sbin ou /sbin ) e compará-lo ao relógio do software usando o comando date .

Explicação chata :

Seu computador possui um pequeno chip, chamado de "relógio de tempo real" ou RTC. Este relógio funciona com uma bateria e conta o tempo como um relógio de pulso. Quando o computador liga, o relógio é lido e é assim que o seu sistema operacional sabe que horas são quando é iniciado. Mas depois da primeira leitura, os sistemas operacionais não precisam usar o RTC - ele pode simplesmente continuar contando o tempo (segundos, horas e qualquer outro) sozinho. Sempre que o usuário perguntar a que horas é, ele pode simplesmente informar seu próprio horário (em vez do tempo que o RTC reporta).

O truque vem quando o RTC não tem a hora certa. Quando você tenta corrigir o relógio, é realmente o sistema operacional que faz isso para você. O sistema operacional só pode atualizar seu relógio interno, software. Nesse caso, quando você reinicializar, o tempo incorreto será carregado novamente a partir do RTC. Ainda me lembro disso nos dias do DOS. Você tinha que ir para o BIOS para mudar o relógio. ugh.

De qualquer forma, o último prego no caixão é o seguinte: o tempo lido no RTC é apenas um número. E o sistema operacional tem permissão para alterar esse número. Por exemplo, talvez seja necessário adicionar 3.600.000 milissegundos (1 hora) a esse número, para que os usuários do GMT + 1 se sintam à vontade. Outras vezes, há algo de errado com as configurações de fuso horário.

De qualquer maneira, configurar o relógio do hardware dentro do sistema operacional tende a corrigir isso, já que ele passa pelo mesmo processo de filtragem. Portanto, mesmo que seu sistema operacional adicione 5 minutos ao RTC, ele também subtrairá 5 minutos antes de atualizar o RTC.

Boa sorte!

    
por 27.07.2009 / 07:07
2

Existe uma questão de configuração que faz com que algumas pessoas possam causar esse problema. É o "É a hora do BIOS do sistema definida como UTC". Se você selecionou "Sim" para isso, o sistema sempre terá X de horas de folga quando inicializa, porque está demorando o tempo do BIOS e subtraindo X número de horas.

Você teria que verificar os documentos da sua distro para descobrir como alterar essa configuração, se for o caso.

    
por 20.07.2009 / 19:56
2

Parece que a bateria que mantém o relógio funcionando está morta. Tenho a sensação de que, se você substituir a bateria, o tempo continuará quando ela estiver desligada.

Como você mencionou no comentário que o BIOS tem o horário correto, pode ser um problema no processador, o que também faz sentido. O tempo no processador é diferente quando você o conecta à parede e quando não o faz. Pode ser que, se você estiver usando bateria, um segundo não seja calculado da mesma maneira, porque os ticks do processador são diferentes. Se ainda estiver na garantia, eu daria uma ligação e pediria ajuda.

    
por 20.07.2009 / 19:46
2

Se você tem certeza de que não é a bateria do sistema ou o sistema operacional que está causando o problema de tempo, sugiro que entre em contato com o fabricante enquanto ainda estiver na garantia. Você pode pensar que a Lenovo ainda cobrir quaisquer problemas de hardware. Você pode querer instalar o XP no sistema e replicar o problema antes de contatá-los para acelerar o processo. Muitos fabricantes suportarão apenas o sistema operacional fornecido no computador.

    
por 23.07.2009 / 14:45
2

Os relógios em execução com tempo incorreto parecem ser um problema comum com o ArchLinux a julgar pelo número de postagens em seus fóruns, como esse aqui .

O problema parece estar no arquivo /var/lib/hwclock/adjtime . Citando a postagem do fórum acima:

Look in /var/lib/hwclock/adjtime. If the first number on the first line is large (bigger than 10 or so), delete this file, set your clock again, and reboot. (The file will be recreated with a small number.)

This number is supposed to show how many seconds your hardware clock drifts each day. It's not too hard to accidentally compare the software clock with the hardware clock when they're not set up right yet, which tricks the system into believing your hardware clock is very inaccurate, and overcompensating.

Se isso não resolver seu problema, pode ser um problema de hibernação. Quando você diz

if i turn off the computer and turn it back on a few hours later, the time is all messed up again.

Você está desligando o sistema ou hibernando? Se é o último, então meu palpite é que o relógio está voltando a partir do momento em que você hibernou o netbook. Se o relógio está sempre lento, esta é provavelmente a resposta.

Se você tiver suspendido e retomado os scripts, eles deverão armazenar a hora do sistema no relógio de hardware durante a suspensão e, em seguida, restaurá-lo a partir do hardware em continuação. Você pode usar o comando hwclock para isso.

Eu não sei o ArchLinux, então não tenho certeza de onde estão esses scripts, mas você pode encontrar este artigo no ArchLinux Wiki útil .

    
por 29.07.2009 / 13:59
1

I have tried using NTP and while it fixes the problem temporarily, it is not always an option since its not always connected to the internet.

O NTP fará duas coisas. O primeiro é comparar continuamente seu tempo com servidores de horário de rede e ajustar conforme necessário.

A segunda coisa que o NTP fará é calcular um desvio preciso para o relógio do seu sistema. Então, mesmo quando você não está conectado, o NTP ainda pode continuar ajustando o seu relógio. Não será tão preciso quanto quando você estiver online, mas será melhor que nada. Não sei como isso se ajustará depois que o seu netbook tiver sido desligado por um tempo. Executar o ntpdate como parte da inicialização definirá a hora correta se você tiver uma conexão com a Internet.

    
por 23.07.2009 / 16:00
0

Eu tive problema semelhante no meu laptop com o Archlinux. Este tópico ajudou.

    
por 25.11.2009 / 23:39