Infelizmente, acho que apenas a Apple pode corrigir isso, espero que com uma atualização para o Yosemite (que supostamente já está sendo testada, mas a data de lançamento é desconhecida).
Até então, tudo o que posso oferecer é uma solução alternativa.
Encontre a sua "porta" WiFi
Primeiro, você precisa encontrar sua porta Wi-Fi. Em um MacBook Air, isso provavelmente é en0.
Em um Mac com Ethernet e Wi-Fi integrados, o Wi-Fi é provavelmente en1
.
Se você não tiver certeza, pode usar o seguinte:
WIFI=`/usr/sbin/networksetup -listnetworkserviceorder |\
egrep Device |\
fgrep Wi-Fi |\
sed 's#.*(Hardware Port: Wi-Fi, Device: ##g ; s#)##g'`
e então faça
echo "$WIFI"
para ver o que é.
Use o airport
comando
Desde o Snow Leopard (pelo menos), existe uma airport
ferramenta em:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
Vamos chamar isso $AIRPORT
resumidamente:
AIRPORT='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'
Portanto, se juntarmos isso, este deve ser o comando adequado para dizer ao seu Mac para aderir ao sinal Wi-Fi mais forte disponível:
${AIRPORT} ${WIFI} prefs JoinMode=Strongest JoinModeFallback=KeepLooking
que é apenas outra maneira de escrever isso:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 prefs JoinMode=Strongest JoinModeFallback=KeepLooking
Usar launchd
Você pode executar esse airport
comando automaticamente periodicamente com launchd
.
Reuni os arquivos necessários em https://github.com/tjluoma/airport-autojoin, mas a ideia é esta:
Use launchd
plist in /Library/LaunchDaemons/
(que deve pertencer a root: wheel)
Tenha esse launchd
plist watch /Library/Preferences/SystemConfiguration/
para mudanças
Execute o comando acima sempre que ocorrerem alterações.
Não estou enfrentando esse problema em Yosemite, portanto não posso garantir que isso seja corrigido, mas é o que eu faria para corrigi-lo se isso continuasse acontecendo comigo.
Consulte a página do GitHub para obter instruções mais detalhadas, incluindo remoção.