Wi-Fi 네트워크에서 며칠 정도 연결이 끊어지는 Mac Mini 서버가 있습니다. 초기 연결 해제의 원인이되는 다른 매개 변수가있을 수 있지만 (예 : 무선 라우터 재부팅) Mac은 자동으로 다시 연결되지 않습니다.
누군가가 실제로 기계에 접속할 때까지 Wi-Fi 메뉴를 사용하여 네트워크에 수동으로 다시 연결할 때까지 갑자기 사용할 수없는 서버 시스템이기 때문에 중요한 문제입니다. Wi-Fi 네트워크는 WPA2이지만 수동으로 다시 연결하면 암호를 다시 입력하지 않아도되므로 자동으로 다시 연결되지 않는 분명한 이유는 없습니다.
Mac이 정기적으로 지정된 Wi-Fi 네트워크에 연결하고 다시 연결하도록하려면 어떻게해야합니까?
답변
다음은 공항이 연결되어 있고 연결되어 있지 않은지 확인하기위한 Applescript 및 셸 스크립트입니다.
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
답변
Kassym Dorsel의 답변 에 대해 의견을 말하고 싶지만 그렇게 할 충분한 포인트가 없습니다.
Mac 서버에서도 같은 문제가 발생했습니다.
Wi-Fi는 VPN에 연결되고 이더넷은 LAN에 연결되므로 Wi-Fi 연결이 끊어지면 OS X가 자동으로 다시 연결되지 않습니다.
Kassym Dorsel의 답변을 고려할 때 :
-
나는 Wi-Fi 암호를 깨끗하게 보관하는 것이 편안하지 않았다.
-
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
도움을 받으려면 논증없이 실행하십시오 .
답변
다음은 간단한 리팩토링입니다.
#!/bin/bash
networksetup -getinfo Wi-Fi | grep -q Subnet: ||
networksetup -setairportnetwork en1 "$ssid" "$password"
$ssid
실제 네트워크 SSID $password
와이 네트워크의 비밀번호로 교체하십시오 .