Безперечне вирішення проблеми постійного обміну Wi-Fi у MacosX
Я знайшов систему, яка, нарешті, працює, і коли, рідше, обмін Wi-Fi переривається, їй вдається автоматично відновити її за хвилину.
Рішення - ~/Library/LaunchAgents/com.me.wifisharingup.plist
демон із наступним змістом:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.juanfal.wifisharingup</string>
<key>ProgramArguments</key>
<array>
<string>/Users/mi/bin/wifisharingup.sh</string>
</array>
<key>Nice</key>
<integer>1</integer>
<key>StartInterval</key>
<integer>60</integer>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/me/Library/Logs/wifisharingup.err</string>
<key>StandardOutPath</key>
<string>/Users/me/Library/Logs/wifisharingup.out</string>
</dict>
</plist>
Ви можете бачити, щохвилини він виконує простий сценарій, який випливає далі. Будьте обережні, щоб попередній пліст був власником кореня та запустіть його за допомогою:
sudo chown root com.me.wifisharingup.plist
sudo launchctl load /Users/me/Library/LaunchAgents/com.me.wifisharingup.plist
Сценарій, який він запускає щохвилини (не забудьте зробити його виконуваним):
#!/bin/sh
if [[ ! `ipconfig getifaddr en1` ]]; then
/usr/sbin/networksetup -setairportpower en1 off
/usr/sbin/networksetup -setairportpower en1 on
echo `date` >> "/Users/me/Library/Logs/wifisharingup.err"
else
touch "/Users/me/Library/Logs/wifisharingup.out"
fi
Я думаю, що простий періодичний (щохвилинний) дзвінок, щоб ipconfig getifaddr en1
оновити щось у тому, що є демоном обміну wifi. Як би там не було, в будь-який момент, коли спільний доступ через Wi-Fi не вдасться, він втрачає самостійно призначену IP-адресу, а потім, ipconfig getifaddr en1
не працює, тому мій скрипт повністю скидає wifi, завдяки чому він відновлює попередній статус і відновлює обмін Wi-Fi.
Він працює цілими днями в MacMini без клавіатури, миші чи монітора, але лише підключений до Ethernet і надає моїм гаджетам Wi-Fi доступ до світу.