У меня есть Mac Mini Server, который каждые несколько дней отключается от сети Wi-Fi. Могут быть и другие параметры, вызывающие первоначальное отключение (например, перезагрузка беспроводного маршрутизатора), но Mac не подключается автоматически.
Это серьезная проблема, поскольку это серверный компьютер, который внезапно становится недоступным, пока кто-то физически не перейдет к компьютеру и не использует меню Wi-Fi для повторного подключения к сети вручную. Я должен отметить, что хотя сеть Wi-Fi является WPA2, повторное подключение вручную не требует повторного ввода пароля, поэтому нет никаких очевидных причин, по которым оно не восстанавливается автоматически.
Как я могу заставить Mac периодически пытаться подключиться к определенной сети Wi-Fi?
Ответы:
Вот скрипт Applescript и shell, чтобы проверить, подключен ли Airport, а если нет, подключить его.
Замените
<networkName>
на имя сети и<passwordToNetwork>
ее пароль. «En1» должно быть правильным, если вы не меняли свои сетевые устройства.Теперь все, что вам нужно сделать, это зациклить или вызвать его, чтобы проверить соединение.
Тем не менее аэропорт должен автоматически переподключиться, если связь потеряна. Может быть, попробуйте сбросить все настройки сети и посмотреть, работает ли это.
Как полностью сбросить настройки сети: отключите аэропорт. Закройте Системные настройки. Перейдите к:
/Library/Preferences/SystemConfiguration/
Сделайте копию, затем удалите следующие файлы:источник
grep
когда он работает, и только один, когда он выключен, но, вероятно, было бы лучше проверить что-то еще; подсчет количества чего-либо - это в значительной степени антипаттерн.Я хотел бы прокомментировать ответ Касима Дорселя , но у меня недостаточно очков для этого.
У меня была такая же проблема с моим сервером Mac:
Wi-Fi подключается к VPN и Ethernet к локальной сети, поэтому, если соединение Wi-Fi потеряно, OS X не подключается автоматически.
Учитывая ответ Касима Дорселя:
Мне было неудобно хранить свой пароль Wi-Fi в открытом виде (правда, это крайне низкий риск, но все же).
Я хотел, чтобы он включил Wi-Fi, если он был отключен.
Я хотел, чтобы он обрабатывал условие, когда статический IP-адрес был назначен, Wi-Fi был включен, но он все еще не был подключен или подключен к неправильной сети Wi-Fi (SSID).
Поэтому я изменил его сценарий для решения этих проблем (замените его
<networkName>
предпочитаемым сетевым SSID):источник
Вы можете попробовать поиграть с
airport
утилитой (в новых версиях OS X она скрыта/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport
или похожим путем).В частности,
JoinMode
иJoinModeFallback
предпочтения могут быть полезными. На моей машинеJoinModeFallback
установленоDoNothing
по умолчанию. Изменение на этоKeepLooking
кажется многообещающим началом.Запустите
airport
без аргументов, чтобы увидеть его помощь.источник
Вот простой рефакторинг, который работает для меня.
Очевидно, замените
$ssid
фактическим SSID сети и$password
паролем для этой сети.источник