ওয়াইফাই নেটওয়ার্কে স্বয়ংক্রিয়ভাবে পুনঃসংযোগ করতে কীভাবে ম্যাক পাবেন?


11

আমার কাছে একটি ম্যাক মিনি সার্ভার রয়েছে যা ওয়াইফাই নেটওয়ার্ক থেকে প্রতি কয়েক দিন বা তার পরে সংযোগ বিচ্ছিন্ন করে। প্রাথমিক বিচ্ছিন্নতার কারণে অন্যান্য প্যারামিটার থাকতে পারে (যেমন ওয়্যারলেস রাউটার পুনরায় বুট করা হচ্ছে) তবে ম্যাক স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ স্থাপন করে না।

এটি একটি বড় সমস্যা যেহেতু এটি একটি সার্ভার মেশিন যা কোনও ব্যক্তি শারীরিকভাবে মেশিনে না যায় এবং নেটওয়ার্কে ম্যানুয়ালি পুনরায় সংযোগ করার জন্য ওয়াইফাই মেনু ব্যবহার না করা অবধি হঠাৎ উপলভ্য হয় না। আমার উল্লেখ করা উচিত যে ওয়াইফাই নেটওয়ার্কটি ডাব্লুপিএ 2 হলেও ম্যানুয়ালি পুনরায় সংযোগ করতে পাসওয়ার্ডটি পুনরায় প্রবেশের সাথে জড়িত না তাই এটি স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ স্থাপন করার কোনও স্পষ্ট কারণ নেই।

আমি কীভাবে ম্যাককে একটি নির্দিষ্ট ওয়াইফাই নেটওয়ার্কের সাথে পর্যায়ক্রমে চেষ্টা করে পুনরায় সংযোগ করতে পারি?


প্রশ্নে নেটওয়ার্কটি কি পছন্দসই হিসাবে সংজ্ঞায়িত হয়েছে? আপনি কি সিস্টেমের পছন্দগুলি> নেটওয়ার্কটিতে চেক করেছেন যে "এই কম্পিউটারটিতে যোগদান করা কোনও নেটওয়ার্ক মনে রাখবেন" চেক করা হয়েছে এবং "লগ আউট করার সময় ওয়্যারলেস নেটওয়ার্কগুলি থেকে সংযোগ বিচ্ছিন্ন করা" চেক করা আছে? আপনি নেটওয়ার্ক সংযোগ মুছতে এবং পুনরায় তৈরি করার চেষ্টা করতে পারেন।
harrymc

"লগ আউট করার সময় ওয়্যারলেস নেটওয়ার্কগুলি থেকে সংযোগ বিচ্ছিন্ন" বিকল্পটি ঠিক কোথায়? এটি সিংহ চালাচ্ছে
জিজে

দৃশ্যত উন্নত সেটিংসে।
harrymc

আপনাকে ভৌতিক বা অন্য কোনও কিছু করার জন্য নয়, তবে ডাব্লুপিএ 2 এনক্রিপশনকে ক্র্যাক করার একমাত্র উপায় হ'ল প্রমাণীকরণের প্যাকেটগুলি স্ফান করা (যখন কোনও কম্পিউটার সংযুক্ত হয়) এবং এটি করার সর্বাধিক সাধারণ উপায় হ'ল মেশিনগুলির মধ্যে কোনওটিকে অ-প্রমাণীকরণ করা এবং যখন নেটওয়ার্কটি স্নিগ্ধ করা যায় এটি আবার সংযোগ স্থাপন করে।
নেট কোপ্পেনহেভার

উত্তর:


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>তার পাসওয়ার্ড দিয়ে প্রতিস্থাপন করুন । আপনি যদি নিজের নেটওয়ার্ক ডিভাইসগুলি পরিবর্তন না করেন তবে "এন 1" সঠিক হওয়া উচিত।

এখন আপনাকে যা করতে হবে তা হ'ল লুপ করুন বা সংযোগটি পরীক্ষা করতে কল করুন।

তবুও সংযোগটি হারিয়ে গেলে বিমানবন্দরটি স্বয়ংক্রিয়ভাবে পুনঃসংযোগ করা উচিত। সমস্ত নেটওয়ার্ক পছন্দগুলি পুনরায় সেট করার চেষ্টা করুন এবং দেখুন এটি কার্যকর কিনা।

কীভাবে আপনার নেটওয়ার্ক পছন্দগুলি পুনরায় সেট করবেন: বিমানবন্দরটি বন্ধ করুন। সিস্টেম পছন্দগুলি বন্ধ করুন। নেভিগেট করুন: /Library/Preferences/SystemConfiguration/ একটি অনুলিপি করুন, তারপরে নিম্নলিখিত ফাইলগুলি মুছুন:

com.apple.airport.preferences.plist
com.apple.network.*
com.apple.smb.server.plist
NetworkInterfaces.plist

ধন্যবাদ। কেন আপেলস্ক্রিপ্ট ব্যবহার করবেন? এটি নিজেকে শেল স্ক্রিপ্টে আরও বেশি toণদান বলে মনে হচ্ছে সম্ভবত এমন একটি প্রতি মিনিটে বা লঞ্চ ব্যবহার করে চলে।
জিজে

এছাড়াও, আপনি কীভাবে "সমস্ত নেটওয়ার্ক পছন্দগুলি পুনরায় সেট করবেন"?
জিজে

এটি একটি শেল স্ক্রিপ্ট দিয়ে করা যেতে পারে। যদিও আমি অ্যাপলস্ক্রিপ্টে আরও ভাল তাই আমি এটি অ্যাপ্লিক্রিপ্টে লিখেছি। আমি এটি শেল স্ক্রিপ্টে লিখতে পারি কিনা তা আমি দেখতে পাব। আমি নেটওয়ার্ক পছন্দগুলি পুনরায় সেট করার পোস্টটিও আপডেট করেছি।
ক্যাসিম ডরসেল

স্ক্রিপ্টটি উন্নত করে একটি শেল স্ক্রিপ্ট যুক্ত করেছে।
ক্যাসিম ডরসেল

আমি অত্যন্ত গুরুতর শেল স্ক্রিপ্ট ত্রুটিটি ঠিক করেছি তবে এটি সম্ভবত আরও কিছুটা রিফেক্টর হওয়া উচিত। আমার ম্যাকের grepউপরে উঠার পরে আমি দুটি হিট পেয়েছি এবং যখন এটি ডাউন হয় কেবলমাত্র একটি, তবে সম্ভবত অন্য কোনও কিছুর জন্য পরীক্ষা করা ভাল better কোনও কিছুর সংখ্যা গণনা করা খুব একটা অ্যান্টিপ্যাটার্ন।
ট্রিপলি

5

আমি কাসিম ডরসেলের উত্তরে মন্তব্য করতে চাই , তবে আমার তা করার মতো পর্যাপ্ত পয়েন্ট নেই।

আমার ম্যাক সার্ভারে আমার একই সমস্যা ছিল:

ওয়াই-ফাই ভিপিএন এবং ইথারনেটের সাথে ল্যানের সাথে সংযোগ স্থাপন করে, তাই যদি Wi-Fi সংযোগটি হারিয়ে যায় তবে ওএস এক্স স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ স্থাপন করে না।

কাসিম ডরসেলের উত্তর বিবেচনা করে:

  • আমি আমার ওয়াই-ফাই পাসওয়ার্ড পরিষ্কার করে সঞ্চিত রাখতে স্বাচ্ছন্দ্য বোধ করি নি (স্বীকার করতে পারছি এটি অত্যন্ত কম ঝুঁকিপূর্ণ তবে এখনও)।

  • আমি চাইছিলাম এটি Wi-Fi সক্ষম করে যদি এটি অক্ষম করা থাকে।

  • আমি এটি একটি স্থির আইপি ঠিকানা নির্ধারিত অবস্থায়, ওয়াই-ফাই সক্ষম করা হয়েছে এমন অবস্থায় পরিচালনা করতে চেয়েছিলাম, তবে এটি তখনও সংযুক্ত বা ভুল ওয়াই-ফাই নেটওয়ার্ক (এসএসআইডি) এর সাথে সংযুক্ত ছিল না।

সুতরাং আমি এই উদ্বেগগুলি সমাধান করতে তাঁর স্ক্রিপ্টটি পরিবর্তন করেছি ( <networkName>আপনার পছন্দসই নেটওয়ার্ক এসএসআইডি দিয়ে প্রতিস্থাপন করুন ):

#!/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পাসওয়ার্ড দিয়ে প্রতিস্থাপন করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.