Home > Dicas

Saiba driblar o bug de repouso do Mac Pro

Em alguns equipamentos, após selecionada a opção de "descanso", a máquina volta a funcionar; veja comlidar com o bug

Ted Landau - Macworld/EUA

30/08/2010 às 16h40

Foto:

Tenho tido problemas na hora de repousar. Não comigo, mas com meu Mac Pro. Em primeiro lugar, considere esta dica como um trabalho em progresso. 

O problema é que, após escolher o comando Repouso manualmente para o Mac Pro de 2009, é comum (porém não acontece sempre) o computador entrar em modo Repouso e imediatamente religar. Mas se a opção de Repouso for selecionada uma segunda vez, o Mac executará a tarefa de repousar com sucesso. 

Esse sintoma pode ser especialmente irritante se o usuário colocar a máquina em Repouso e deixar o escritório antes de observar se o Mac realmente desligou para tirar uma soneca. Ao retornar um tempo depois, o usuário descobre que computador está muito bem acordado. 

Por que isso está acontecendo? Investiguei muitas possíveis causas e a maioria foi descartada. Por exemplo, pude confirmar que isso não foi causado devido a um dispositivo Bluetooth que acordava o Mac e, pouco a pouco, as razões plausíveis foram reduzidas a dois fatores, possivelmente relacionados. 

O primeiro fator é o recurso de Despertar a Pedido do Mac OS X. Ele funciona em combinação com uma AirPort Base Station ou uma Time Capsule, e permite que outros dispositivos em rede possam temporariamente “acordar” um computador em repouso e desempenhar uma ação requisitada. Para habilitar esse recurso no Mac Pro, basta acessar o Preferences no Energy Saver System e selecionar “Wake for network access”. 

A Apple observa que mesmo sem um pedido específico de rede, “Macs que têm a opção Despertar a Pedido habilitada ligam por um curto período, sem acender o monitor, com o objetivo de manter os registros com o Bonjour Sleep Proxy”. O Mac deve então voltar ao modo repouso; uma mensagem de aviso sobre isso aparece quando esse recurso é ativado pela primeira vez no Energy Saver.

 

macrespouso01.jpg

A janela avisa que, quando o "Wake for network access" é habilitado, o Mac pode ocasionalmente ligar para informar outros dispositivos que está disponível na rede

 

De acordo com posts nos fóruns de discussão da Apple, esse processo de manutenção que religa o Mac acontece aproximadamente a cada duas horas. Ao checar o log do Console do Mac Pro isso foi confirmado; mensagens como as mostradas abaixo aparecem a cada duas horas quando o Mac  está em repouso:

 

8/25/10 2:22 20 PM Aug 25 kernel Wake reason = RTC


8/25/10 2:22 20 PM Aug 25 kernel RTC: maintenance alarm 2010/8/25 21:22:19, sleep 2010/8/25 19:35:08


8/25/10 2:22 20 PM Aug 25 kernel System Wake

 

RTC siginifica Real Time Clock. “Alarme de manutenção” é como o Console descreve as checagens periódicas do Despertar a Pedido. Se o recurso é desativado, essas mensagens desaparecem.

Essa opção, entretanto, não deveria fazer com que o Mac Pro religasse imediatamente após ser colocado em repouso. E não faz, pelo menos não sozinha. Isso revela o segundo fator: programação para despertar. Se o usuário for no painel de preferências do Energy Saver System e clicar no botão Schedule, um painel aparece e, a partir dela, é possível programar um horário para o Mac ligar automaticamente. Programei, por exemplo, meu Mac para ser ativado automaticamente todos os dias às 8:10 da manhã:

 

macrepouso02.jpg

Na janela, é possível configurar um horário e uma frequência para o Mac ligar e/ou desligar

 

No log do Console do Mac, esses processos de despertar automático correspondem a mensagem de alarme do RTC, mas não um “alarme de manutenção”. Aqui há um exemplo (note que 15:10:00 é o horário GMT para 8:10 da manhã):

 

8/27/10 8:10 01 AM Aug 27 kernel Wake reason = RTC


8/27/10 8:10 01 AM Aug 27 kernel RTC: alarm 2010/8/27 15:10:00, sleep 2010/8/27 14:49:48


8/27/10 8:10 01 AM Aug 27 kernel System Wake

 

Até agora, tudo parece normal. A mensagem crítica do Console é aquela que aparece depois do Mac Pro religar espontaneamente e erroneamente:

 

8/26/10 9:38 03 AM Aug 26 kernel Wake reason = RTC


8/26/10 9:38 03 AM Aug 26 kernel RTC: alarm 2010/8/26 15:10:00, sleep 2010/8/26 16:38:02


8/26/10 9:38 03 AM Aug 26 kernel System Wake

 

Parece a mesma mensagem de despertar automático, com uma exceção: a hora 15:10:00 é mais cedo do que 16:38:02, o horário que foi colocado manualmente para o Mac Pro iniciar o Repouso. Caso o Mac falasse, ele diria: “Ops, eu deveria acordar às 15:10. São 16:30 e estou dormindo; estou atrasado. É melhor acordar imediatamente”. E é isso que acontece. 

Depois de acordar, a programação é atualizada para que agora seja corretamente configurada para religar automaticamente às 15:10 do dia seguinte. É por isso que se o Mac é colocado em repouso por uma segunda vez, ele permanece dormindo. 

A pergunta é: como essa confusão de horário ocorre? A programação de data e hora do despertar é armazenada em um arquivo chamado com.apple.Autowake.plist, localizado em /Library/Preferences/SystemConfiguration. É possível que haja alguma coisa errada com esse arquivo e que ele não é sempre propriamente atualizado. No entanto, verifiquei o arquivo no Mac Pro e ele parece estar funcionando corretamente. Ainda assim, de acordo com alguns relatos que li, pode ser útil deletar esse arquivo e permitir que o Mac crie outro novo; isso não tentei ainda. 

Desliguei a opção de Despertar a Pedido há dois dias e desde então não tive um erro que religasse o Mac. Não tiro isso como prova definitiva, mas isso sugere que os dois fatores podem estar relacionados. Uma possibilidade é que há um bug que, quando tanto o Despertar a Pedido e quanto o despertar automático estão ativados e programados, o sintoma ocorre. Se isso acontece, significa que se a opção de Despertar a Pedido for reabilitada e a programação para despertar for desativada, o problema deve desaparecer.

Tags

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter por e-mail Newsletter por e-mail