Como fazer com que um Mac reconecte automaticamente a uma rede wifi?

10

Eu tenho um Mac Mini Server que está desconectando a cada poucos dias da rede wifi. Pode haver outros parâmetros causando a desconexão inicial (como o roteador sem fio sendo reinicializado), mas o Mac não se reconecta automaticamente.

É um grande problema, já que é uma máquina servidor que fica subitamente indisponível até que alguém vá para a máquina fisicamente e use o menu wifi para se reconectar manualmente à rede. Devo mencionar que, embora a rede Wi-Fi seja WPA2, a reconexão manual não envolve a redigitação da senha, portanto não há razão óbvia para que ela não se reconecte automaticamente.

Como posso fazer com que o Mac tente periodicamente se reconectar a uma rede wifi especificada?

    
por GJ. 13.09.2011 / 18:58

3 respostas

10

Aqui está um Applescript e um script de shell para verificar se o Airport está conectado e se não conectá-lo.

if (do shell script "networksetup -getinfo Wi-Fi | grep -c 'IP address:'") = 1 then
    do shell script "networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>"
end if

#!/bin/bash
if [ $(networksetup -getinfo Wi-Fi | grep -c 'IP address:') = '1' ]
then $(networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>)
fi

Substitua pelo nome da rede e por sua senha. O "en1" deve estar correto se você não alterou seus dispositivos de rede.

Agora tudo que você precisa fazer é dar um loop ou ligar para verificar a conexão.

No entanto, o aeroporto deve se reconectar automaticamente se a conexão for perdida. Talvez tente redefinir todas as preferências de rede e ver se isso funciona.

Como redefinir completamente suas preferências de rede: Desligue o aeroporto. Feche as Preferências do Sistema. Navegue para: /Library/Preferences/SystemConfiguration/ Faça uma cópia e exclua os seguintes arquivos:

com.apple.airport.preferences.plist
com.apple.network.*
com.apple.smb.server.plist
NetworkInterfaces.plist
    
por 14.10.2011 / 01:19
3

Gostaria de comentar a resposta do Kassym Dorsel, mas não tenho pontos suficientes para isso ...

Eu tive o mesmo problema com o meu servidor Mac:

O Wi-Fi se conecta à VPN e à ethernet à LAN, portanto, se a conexão Wi-Fi for perdida, o OS X não se reconectará automaticamente.

Considerando a resposta de Kassym Dorsel:

  • Eu não estava confortável em ter minha senha de Wi-Fi armazenada em branco (admitidamente, é um risco extremamente baixo, mas ainda assim).

  • Eu queria ativar o wifi se ele tivesse sido desativado.

  • Eu queria que ele lidasse com a condição em que um IP estático fosse atribuído, o wifi estivesse habilitado, mas ele ainda não estivesse conectado ou conectado à rede WIFI errada (SSID).

Por isso, modifiquei o script dele para abordar essas preocupações (substitua pelo seu SSID de rede preferido):

    #!/bin/bash

    #turn on wifi if it's turned 'Off'
    if [ $(networksetup -getairportpower en1 | grep -c 'Off') = '1' ]
    then $(networksetup -setairportpower en1 on)
    fi

    #cycle wifi power if missing 'IP address'
    if [ $(networksetup -getinfo Wi-Fi | grep -c 'IP address:') = '1' ]
    then $(networksetup -setairportpower en1 off; network setup -setairportpower en1 on)
    fi

    #initiate connection if not connected to the correct network
    if [ $(networksetup -getairportnetwork en1 | grep -c '<networkName>') = 0]
    then $(networksetup -setairportnetwork en1 '<networkName>')
    fi
    
por 22.12.2015 / 16:57
2

Você pode tentar jogar com o utilitário airport (em versões mais recentes do OS X, ele está oculto em /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport ou em um caminho semelhante).

Especificamente, as preferências JoinMode e JoinModeFallback podem ser úteis. Na minha máquina, JoinModeFallback está definido como DoNothing por padrão. Alterá-lo para KeepLooking parece um começo promissor.

Execute airport sem argumentos para ver sua ajuda.

    
por 15.06.2016 / 18:06