Пропадающий Wi-Fi в Mac OS
Не знаю, кто виноват, мой Wi-Fi роутер или Mac OS X, но в домашней Wi-Fi сети у меня периодически пропадает коннект, хотя статус подключения не меняется. Но ничего не грузится и даже не пингуется. Если выключить Wi-Fi на Маке и тут же включить обратно, то всё конектится и работает нормально. До следующего такого провала.
Не найдя источника проблемы, решил написать AppleScript, который будет автоматически переподключать мне Wi-Fi.
Идея такова: постоянно пинговать ya.ru
и в случае провала переподключать Wi-Fi.
Вот скрипт:
repeat
try
-- пингуем до первого успешного отклика с таймаутом в 1 секунду, чтобы не ждать бесконечно
do shell script "ping -o -t1 ya.ru"
--log "OK"
on error
-- в консоль пишем время разрыва и переподключаемся к сети
log "[" & time string of (current date) & "] disconnected... AGAIN"
do shell script "networksetup -setairportpower en0 off"
do shell script "networksetup -setairportpower en0 on"
-- у вас интерфейс может быть не en0
end try
-- прост небольшая пауза в 2 секунды
delay 2
end repeat
У меня Wi-Fi интерфейс имеет нумерацию en0
. У вас может быть другая, потому выполните команду networksetup -listnetworkserviceorder
, чтобы это выяснить. Например, у меня вывод такой:
networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)
(2) Bluetooth PAN
(Hardware Port: Bluetooth PAN, Device: en3)
(3) Thunderbolt Bridge
(Hardware Port: Thunderbolt Bridge, Device: bridge0)
Видно, что Wi-Fi интерфейс имеет обозначение en0
.
Ну и всё, теперь, когда я нахожусь в “нестабильной” сети, я запускаю в терминале свой скрипт:
osascript ping-and-reconnect.scpt
И провалы коннекта остаются для меня незамеченными. Потом можно посмотреть вывод скрипта, где будет указано время для каждого “разрыва”.
Social networks
Zuck: Just ask
Zuck: I have over 4,000 emails, pictures, addresses, SNS
smb: What? How'd you manage that one?
Zuck: People just submitted it.
Zuck: I don't know why.
Zuck: They "trust me"
Zuck: Dumb fucks