我有一台Mac Mini服务器,每隔几天左右就会从wifi网络断开连接。可能还有其他参数导致初始断开连接(例如,无线路由器正在重新启动),但Mac不会自动重新连接。
这是一个主要问题,因为它是一台服务器计算机,突然消失,直到有人亲自访问该计算机并使用wifi菜单手动重新连接到网络。我应该提到,尽管wifi网络是WPA2,但是手动重新连接并不涉及重新输入密码,因此没有明显的理由说明它不会自动重新连接。
如何使Mac定期尝试重新连接到指定的wifi网络?
我有一台Mac Mini服务器,每隔几天左右就会从wifi网络断开连接。可能还有其他参数导致初始断开连接(例如,无线路由器正在重新启动),但Mac不会自动重新连接。
这是一个主要问题,因为它是一台服务器计算机,突然消失,直到有人亲自访问该计算机并使用wifi菜单手动重新连接到网络。我应该提到,尽管wifi网络是WPA2,但是手动重新连接并不涉及重新输入密码,因此没有明显的理由说明它不会自动重新连接。
如何使Mac定期尝试重新连接到指定的wifi网络?
Answers:
这是一个Applescript和Shell脚本,用于检查是否已连接机场以及是否未连接机场。
if (do shell script "networksetup -getinfo Wi-Fi | grep -c 'IP address:'") = 1 then
do shell script "networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>"
end if
#!/bin/bash
if [ $(networksetup -getinfo Wi-Fi | grep -c 'IP address:') = '1' ]
then networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>
fi
用<networkName>
网络名称和<passwordToNetwork>
密码替换。如果您尚未更改网络设备,则“ en1”应该正确。
现在,您需要做的就是循环或调用它来检查连接。
但是,如果连接断开,机场应自动重新连接。也许尝试重置所有网络首选项,然后查看是否可行。
如何完全重置网络首选项:关闭机场。关闭系统偏好设置。导航至:/Library/Preferences/SystemConfiguration/
制作副本,然后删除以下文件:
com.apple.airport.preferences.plist
com.apple.network.*
com.apple.smb.server.plist
NetworkInterfaces.plist
grep
时有2个点击,关闭时只有1个,但是检查其他内容可能会更好。计算事物的数量几乎是一种反模式。
我想评论Kassym Dorsel的回答,但我没有足够的意见。
我的Mac服务器有相同的问题:
Wi-Fi连接到VPN,以太网连接到LAN,因此如果Wi-Fi连接丢失,则OS X不会自动重新连接。
考虑到Kassym Dorsel的答案:
我不愿意将Wi-Fi密码存储在明文中(诚然,这是极低的风险,但仍然如此)。
我想让它启用Wi-Fi(如果已禁用)。
我希望它处理分配了静态IP地址,启用了Wi-Fi的情况,但该状态仍未连接或连接到错误的Wi-Fi网络(SSID)。
因此,我修改了他的脚本来解决这些问题(<networkName>
用您首选的网络SSID 代替):
#!/bin/bash
# turn on Wi-Fi if it's turned 'Off'
if networksetup -getairportpower en1 | grep -q 'Off'
then networksetup -setairportpower en1 on
fi
# cycle Wi-Fi power if missing 'IP address'
if [ $(networksetup -getinfo Wi-Fi | grep -c 'IP address:') = '1' ]
then
networksetup -setairportpower en1 off
networksetup -setairportpower en1 on
fi
# initiate connection if not connected to the correct network
if networksetup -getairportnetwork en1 | grep -q '<networkName>'
then networksetup -setairportnetwork en1 '<networkName>'
fi
您可能会尝试使用该airport
实用程序(在较新的OS X版本中,它被隐藏在/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport
类似路径中)。
具体来说,JoinMode
和JoinModeFallback
首选项可能有用。在我的机器上,默认JoinModeFallback
设置为DoNothing
。将其更改为KeepLooking
一个有希望的开始。
运行时airport
不带参数即可查看其帮助。