Solusi pasti untuk berbagi wifi konstan mogok di MacosX
Saya telah menemukan sistem yang akhirnya berfungsi dan ketika, jarang berbagi wifi rusak, ia berhasil memulihkannya secara otomatis dalam satu menit.
Solusinya adalah ~/Library/LaunchAgents/com.me.wifisharingup.plist
daemon dengan konten berikut:
<?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>
Anda bisa lihat, setiap menit ia menjalankan skrip sederhana yang mengikuti. Hati-hati membuat plist sebelumnya dimiliki oleh root dan luncurkan dengan:
sudo chown root com.me.wifisharingup.plist
sudo launchctl load /Users/me/Library/LaunchAgents/com.me.wifisharingup.plist
Skrip yang diluncurkan setiap menit (jangan lupa untuk membuatnya dapat dieksekusi) adalah:
#!/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
Saya pikir panggilan sederhana secara berkala (setiap menit) untuk ipconfig getifaddr en1
menyegarkan sesuatu dalam apa adalah daemon berbagi wifi. Apa pun itu, kapan pun pembagian wifi gagal, ia kehilangan alamat IP yang ditetapkan sendiri, dan kemudian,ipconfig getifaddr en1
gagal, jadi skrip saya benar-benar mengatur ulang wifi, membuatnya membangun kembali status sebelumnya dan memulihkan berbagi wifi.
Ini telah bekerja selama berhari-hari sejauh ini di dalam MacMini tanpa keyboard, mouse atau monitor, tetapi hanya terhubung ke Ethernet dan memberikan akses gadget wifi saya ke dunia.