Solution de contournement définitive à la constante de partage Wi-Fi en panne dans MacosX
J'ai trouvé un système qui fonctionne enfin et quand, moins fréquemment, le partage wifi s'arrête, il parvient à le récupérer automatiquement en une minute.
La solution est un ~/Library/LaunchAgents/com.me.wifisharingup.plist
démon avec le contenu suivant:
<?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>
Vous pouvez voir, chaque minute, il exécute le script simple qui suit. Veillez à ce que le plist précédent soit la propriété de la racine et lancez-le avec:
sudo chown root com.me.wifisharingup.plist
sudo launchctl load /Users/me/Library/LaunchAgents/com.me.wifisharingup.plist
Le script qu'il lance chaque minute (n'oubliez pas de le rendre exécutable) est:
#!/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
Je pense que le simple appel périodique (chaque minute) pour ipconfig getifaddr en1
rafraîchir quelque chose dans ce qu'est le démon de partage wifi. Quoi qu'il en soit, à tout moment le partage wifi échoue, il perd l'adresse IP auto-attribuée, puis ipconfig getifaddr en1
échoue, donc mon script réinitialise totalement le wifi, ce qui lui fait reconstruire son état précédent et récupère le partage wifi.
Cela fonctionne depuis des jours à l'intérieur d'un MacMini sans clavier, souris ou moniteur, mais uniquement branché sur Ethernet et donnant à mes gadgets wifi un accès au monde.