वाईफ़ाई नेटवर्क से ऑटो-फिर से कनेक्ट करने के लिए मैक कैसे प्राप्त करें?


11

मेरे पास एक मैक मिनी सर्वर है जो हर कुछ दिनों में वाईफाई नेटवर्क से डिस्कनेक्ट हो रहा है। प्रारंभिक डिस्कनेक्ट (जैसे कि वायरलेस राउटर को रिबूट किया जा रहा है) के कारण अन्य पैरामीटर हो सकते हैं, लेकिन मैक स्वचालित रूप से पुन: कनेक्ट नहीं होता है।

यह एक बड़ी समस्या है क्योंकि यह एक सर्वर मशीन है जो अचानक अनुपलब्ध हो जाती है जब तक कि कोई व्यक्ति भौतिक रूप से मशीन पर नहीं जाता है और नेटवर्क पर मैन्युअल रूप से पुन: कनेक्ट करने के लिए वाईफाई मेनू का उपयोग करता है। मुझे यह उल्लेख करना चाहिए कि यद्यपि वाईफाई नेटवर्क WPA2 है, मैन्युअल रूप से पुन: कनेक्ट करना पासवर्ड को फिर से दर्ज करना शामिल नहीं करता है इसलिए कोई स्पष्ट कारण नहीं है कि यह स्वचालित रूप से फिर से कनेक्ट क्यों नहीं करता है।

मैं समय-समय पर मैक की कोशिश कैसे कर सकता हूं और एक निर्दिष्ट वाईफाई नेटवर्क को फिर से कनेक्ट कर सकता हूं?


प्रश्न में नेटवर्क को पसंदीदा के रूप में परिभाषित किया गया है? क्या आपने सिस्टम वरीयताएँ> नेटवर्क में जाँच की है कि "याद रखें कि कोई भी कंप्यूटर जो इस कंप्यूटर से जुड़ गया है" की जाँच की गई है और "वायरलेस नेटवर्क से डिस्कनेक्ट करें जब लॉग आउट किया गया हो" अनियंत्रित है? आप नेटवर्क कनेक्शन को हटाने और पुनः बनाने का भी प्रयास कर सकते हैं।
हरिकर्म

वास्तव में "लॉग आउट करते समय वायरलेस नेटवर्क से डिस्कनेक्ट करें" विकल्प कहां है? यह शेर चला रहा है।
जीजे

जाहिरा तौर पर उन्नत सेटिंग्स में।
harrymc 20

आपको पागल या कुछ भी नहीं बनाने के लिए, लेकिन WPA2 एन्क्रिप्शन को क्रैक करने का एकमात्र तरीका प्रमाणीकरण पैकेट (जब एक कंप्यूटर कनेक्ट होता है) को सूँघना है और ऐसा करने का सबसे आम तरीका है कि मशीनों में से एक को प्रमाणित करना और नेटवर्क को सूँघना यह फिर से जोड़ता है।
नैट कोपेनहेवर

जवाबों:


12

हवाई अड्डे से जुड़ा हुआ है और यदि इसे कनेक्ट नहीं करना है, तो यह जांचने के लिए एक अप्पस्क्रिप्ट और शेल स्क्रिप्ट है।

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जब यह ऊपर होता है और केवल एक जब यह नीचे होता है, लेकिन यह संभव है कि किसी और चीज़ के लिए जाँच करें; गिनती कुछ की संख्या बहुत अधिक एक एंटीपैटर्न है।
ट्रिपलए

5

मैं कासिम डोरसेल के जवाब पर टिप्पणी करना चाहता हूं , लेकिन मेरे पास ऐसा करने के लिए पर्याप्त बिंदु नहीं हैं।

मुझे अपने मैक सर्वर के साथ भी यही समस्या थी:

वाई-फाई वीपीएन और ईथरनेट को लैन से जोड़ता है, इसलिए यदि वाई-फाई कनेक्शन खो गया है, तो ओएस एक्स स्वचालित रूप से पुन: कनेक्ट नहीं करता है।

कासिम डोर्सेल के जवाब को ध्यान में रखते हुए:

  • मैं अपने वाई-फाई पासवर्ड को स्पष्ट में संग्रहीत करने में सहज नहीं था (वास्तव में यह बहुत कम जोखिम है, लेकिन फिर भी)।

  • मैं चाहता था कि अगर यह अक्षम हो गया होता तो वाई-फाई को सक्षम करता।

  • मैं चाहता था कि यह उस स्थिति को संभाल सके जहां एक स्थिर आईपी पता सौंपा गया था, वाई-फाई सक्षम था, लेकिन यह या तो अभी भी जुड़ा नहीं था या गलत वाई-फाई नेटवर्क (एसएसआईडी) से जुड़ा नहीं था।

इसलिए मैंने इन चिंताओं को दूर करने के लिए उनकी स्क्रिप्ट को संशोधित किया ( <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

स्वीकृत उत्तर के समान, मैंने सबसे अधिक समस्याग्रस्त शेल प्रोग्रामिंग समस्याओं को ठीक किया। यह अब लगभग सुरुचिपूर्ण है।
ट्रिपलए

2

आप airportउपयोगिता के साथ खेलने की कोशिश कर सकते हैं (नए ओएस एक्स संस्करणों में यह दूर /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airportया एक समान पथ में छिपा हुआ है )।

विशेष रूप से, JoinModeऔर JoinModeFallbackप्राथमिकताएँ उपयोगी हो सकती हैं। मेरी मशीन पर, डिफ़ॉल्ट रूप JoinModeFallbackसे सेट है DoNothing। इसे बदलने के लिए KeepLookingएक आशाजनक शुरुआत लगती है।

भागो airportअपनी सहायता देखने के लिए तर्क के बिना।


यह दिलचस्प और होनहार था, लेकिन अंत में मेरे लिए कुछ भी नहीं बदला। मैंने प्राथमिकताएं बदल दीं (मेरे पास "अनजान" और "कमबैक" के लिए कुछ भी नहीं था) लेकिन वाईफाई अभी भी फिर से कनेक्ट नहीं होगा।
ट्रिपल

0

यहाँ एक सरल रीफैक्टरिंग है जो मेरे लिए काम करता है।

#!/bin/bash
networksetup -getinfo Wi-Fi | grep -q Subnet: ||
networksetup -setairportnetwork en1 "$ssid" "$password"

जाहिर है, इस नेटवर्क के लिए $ssidवास्तविक नेटवर्क एसएसआईडी और $passwordपासवर्ड के साथ बदलें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.