Wi-Fi নেটওয়ার্ক নির্বাচন

এই পৃষ্ঠাটি অ্যান্ড্রয়েড ১২-তে ওয়াই-ফাই নেটওয়ার্ক নির্বাচন এবং স্যুইচ করার জন্য ব্যবহৃত অ্যালগরিদম এবং পদ্ধতিগুলির রূপরেখা তুলে ধরেছে। অ্যান্ড্রয়েড ক্রমাগত সংযুক্ত নেটওয়ার্কের গুণমান মূল্যায়ন করে এবং উপলব্ধ নেটওয়ার্কগুলির গুণমান মূল্যায়ন করে।

একটি স্বয়ংক্রিয় সংযোগের জীবনকাল

এই বিভাগটি বর্ণনা করে যে কীভাবে একটি অ্যান্ড্রয়েড-চালিত ডিভাইস উপলব্ধ ওয়াই-ফাই নেটওয়ার্কগুলি মূল্যায়ন করে এবং তাদের সাথে সংযোগ স্থাপন করে।

  1. স্ক্রিনটি চালু না বন্ধ আছে তার উপর নির্ভর করে ডিভাইসটি নিম্নলিখিত যেকোনো একটি উপায়ে উপলব্ধ নেটওয়ার্কগুলির জন্য স্ক্যান করে।

    • স্ক্রিন অন (সংযুক্ত): অ্যান্ড্রয়েড কানেক্টিভিটি সাবসিস্টেম নিয়মিতভাবে মূল্যায়ন করে যে বর্তমান সংযোগটি স্ক্যানিং এড়ানোর জন্য যথেষ্ট ভাল কিনা (যেমন স্ক্রিন-অন স্ক্যানে সংজ্ঞায়িত করা হয়েছে)। যদি সংযোগটি স্ক্যানিং এড়ানোর জন্য যথেষ্ট ভাল না হয়, তাহলে সংযোগ সাবসিস্টেম উপলব্ধ নেটওয়ার্কগুলি সনাক্ত করার জন্য একটি স্ক্যান ট্রিগার করে। এই স্ক্যানগুলি অন্যান্য সিস্টেম উপাদান দ্বারাও ট্রিগার করা যেতে পারে, যেমন লোকেশন সিস্টেম বা একটি অ্যাপ (সেটিংস অ্যাপ সহ)।
    • স্ক্রিন চালু (সংযোগ বিচ্ছিন্ন): অ্যান্ড্রয়েড সংযোগ সাবসিস্টেম একটি সূচকীয় ব্যাকঅফ সময়সূচী অনুসরণ করে পর্যায়ক্রমিক স্ক্যান জারি করে। মডিউলটি সমস্ত প্রাপ্ত স্ক্যান ফলাফল মূল্যায়ন করে এবং সংযোগের জন্য সেরা নেটওয়ার্ক নির্বাচন করার চেষ্টা করে।
    • স্ক্রিন বন্ধ (সংযোগ বিচ্ছিন্ন): হোস্ট সিপিইউ স্ক্রিন বন্ধ হওয়ার সাথে সাথে পছন্দের নেটওয়ার্ক অফলোড (PNO) স্ক্যান ব্যবহার করে পছন্দের নেটওয়ার্কের তালিকা সহ ফার্মওয়্যার প্রোগ্রাম করে। পছন্দের নেটওয়ার্কগুলির মধ্যে কোনওটি খুঁজে পেলে ফার্মওয়্যার হোস্টকে জাগিয়ে তোলে। AOSP ধরে নেয় যে ডিভাইসে PNO সমর্থিত।

    WifiManager#allowAutojoinGlobal(boolean) পদ্ধতিটি স্বয়ংক্রিয় সংযোগগুলি অক্ষম করতে ব্যবহার করা যেতে পারে। এটি একটি বিশেষায়িত API যা ডিভাইস নির্মাতারা সীমিত পরিস্থিতিতে ব্যবহার করতে পারে (উদাহরণস্বরূপ, একটি নন-মোবাইল, পূর্ব-কনফিগার করা ডিভাইস)।

    যদি ডিভাইসটি সংযুক্ত থাকে এবং config_wifi_framework_enable_associated_network_selection ওভারলেটি false তে সেট করা থাকে, তাহলে কোনও সংযোগ স্ক্যান করা হয় না এবং স্ক্যানের ফলাফল নেটওয়ার্ক নির্বাচনকে ট্রিগার করে না। ডিভাইসটি সংযোগ বিচ্ছিন্ন থাকা অবস্থায় এই সেটিংটির কোনও প্রভাব থাকে না, যার অর্থ সংযোগ স্ক্যান এবং নেটওয়ার্ক নির্বাচন এখনও ঘটে।

  2. স্ক্যানের ফলাফল মূল্যায়ন করা হয়।

    • যদি ডিভাইসটি একটি Wi-Fi নেটওয়ার্কের সাথে সংযুক্ত থাকে, তাহলে ফ্রেমওয়ার্কটি মূল্যায়ন করে যে বর্তমান নেটওয়ার্কটি নেটওয়ার্ক নির্বাচন এড়িয়ে যাওয়ার জন্য যথেষ্ট ভাল কিনা।

      একটি নেটওয়ার্ককে এত ভালো হিসেবে সংজ্ঞায়িত করা হয় যে, নিম্নলিখিত প্রয়োজনীয়তাগুলির মধ্যে যেকোনো একটি পূরণ হলে নেটওয়ার্ক নির্বাচন এড়িয়ে যেতে পারে :

      • শেষ নেটওয়ার্ক নির্বাচনের পর থেকে ১০ সেকেন্ডেরও কম সময় অতিবাহিত হয়েছে।
      • ব্যবহারকারী সম্প্রতি নেটওয়ার্কের সাথে ম্যানুয়ালি সংযুক্ত হয়েছেন (যেখানে recently config_wifiSufficientDurationAfterUserSelectionMilliseconds ওভারলে ব্যবহার করে কনফিগার করা যাবে)।
      • ডিভাইসটি একটি অনলাইন সাইন আপ (OSU) সংযোগের সাথে সংযুক্ত।
      • নিম্নলিখিত সমস্ত প্রয়োজনীয়তা পূরণ করা হয়:

        • রিসিভড সিগন্যাল স্ট্রেংথ ইন্ডিকেশন (RSSI) প্রয়োজনীয় RSSI থ্রেশহোল্ডের চেয়ে বেশি অথবা সংযোগের উপর দিয়ে পর্যাপ্ত ট্র্যাফিক প্রবাহিত হচ্ছে (RSSI এবং ট্র্যাফিক থ্রেশহোল্ডের জন্য স্ক্রিন-অন স্ক্যান দেখুন)।
        • নেটওয়ার্কটি বৈধ (ইন্টারনেটের সাথে সংযুক্ত) অথবা ইন্টারনেট অ্যাক্সেস ছাড়াই ব্যবহারের জন্য ব্যবহারকারী-অনুমোদিত।
        • নেটওয়ার্কটি মিটারবিহীন।
    • যদি নেটওয়ার্কটি যথেষ্ট ভালো হয় যাতে নেটওয়ার্ক নির্বাচন এড়িয়ে যাওয়া যায় , তাহলে আর কোনও পদক্ষেপ নেওয়া হয় না।

    • যদি সংযুক্ত ওয়াই-ফাই নেটওয়ার্ক যথেষ্ট ভালো না হয়, অথবা ডিভাইসটি যদি কোনও নেটওয়ার্কের সাথে সংযুক্ত না থাকে, তাহলে ফ্রেমওয়ার্কটি ফিল্টার করা স্ক্যান ফলাফলের উপর ভিত্তি করে সংযোগ করার জন্য প্রার্থী ওয়াই-ফাই নেটওয়ার্কগুলির একটি তালিকা তৈরি করতে নেটওয়ার্ক মনোনীতকারীদের আহ্বান করে। নেটওয়ার্ক মনোনীতরা বিদ্যমান ওয়াই-ফাই কনফিগারেশনগুলি খুঁজে বের করে অথবা প্রার্থী নেটওয়ার্কগুলির জন্য নতুন কনফিগারেশন তৈরি করে।

    • স্ক্যানের ফলাফল ফিল্টার করা হয় BSSID গুলিকে অপসারণ করার জন্য যাদের RSSI এন্ট্রি RSSI এর চেয়ে কম ( config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz , এবং config_wifiFrameworkScoreEntryRssiThreshold6ghz ওভারলে ব্যবহার করে কনফিগার করা যায়)। অতিরিক্তভাবে, ব্লক করা BSSID গুলিকে ফিল্টার করা হয়। বারবার সংযোগ ব্যর্থতা, ঘন ঘন সংযোগ বিচ্ছিন্নতা এবং AP থেকে নির্দিষ্ট সময়ের জন্য সংযোগ না করার স্পষ্ট অনুরোধের (MBO-OCE) ভিত্তিতে BSSID গুলিকে ব্লক করা যেতে পারে। BSSID ব্লকিং SSID এবং BSSID ব্লকিং বিভাগে বর্ণনা করা হয়েছে।

    • যখন ডিভাইসটি দ্রুত গতিতে চলতে থাকে, তখন স্ক্যানের ফলাফলগুলি ঐচ্ছিকভাবে আরও ফিল্টার করা হয় যাতে BSSID গুলি অপসারণ করা যায় যাদের RSSI দ্রুত পরিবর্তিত হয় (এটি ইঙ্গিত দেয় যে তারা ডিভাইসের সাথে একই সাথে চলছে না)। এই অপ্টিমাইজেশনটি config_wifiHighMovementNetworkSelectionOptimizationEnabled (অপ্টিমাইজেশন সক্ষম বা নিষ্ক্রিয় করা) এবং config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs এবং config_wifiHighMovementNetworkSelectionOptimizationRssiDelta ওভারলে ব্যবহার করে কনফিগার করা যায়, যা স্ক্যান ফলাফলের স্থিতিশীলতার প্রয়োজনীয়তা কনফিগার করে (RSSI স্ক্যান ফলাফলের উপর পর্যাপ্তভাবে পরিবর্তিত হয়)।

  3. এই কাঠামোটি প্রতিটি SSID প্রার্থীর জন্য একটি স্কোর তৈরি করার জন্য প্রার্থী স্কোরার পরিচালনা করে। SSID প্রার্থীদের মধ্যে একাধিক BSSID প্রার্থী অন্তর্ভুক্ত থাকতে পারে (নেটওয়ার্ক মনোনীতকারীদের দ্বারা তৈরি)। সর্বোচ্চ স্কোর প্রাপ্ত প্রার্থী হলেন বিজয়ী প্রার্থী

  4. এই কাঠামোটি ব্যবহারকারী সংযোগ পছন্দ অ্যালগরিদম কার্যকর করে, যা প্রার্থী স্কোরারের বিজয়ী প্রার্থীকে ব্যবহার করার পরিবর্তে ব্যবহারকারী-নির্বাচিত নেটওয়ার্ককে নতুন বিজয়ী প্রার্থী করে তুলতে পারে।

  5. ফ্রেমওয়ার্কটি নির্ধারণ করে যে বিজয়ী প্রার্থী সংযুক্ত নেটওয়ার্কের সাথে মেলে কিনা। ম্যাচ হিসেবে বিবেচিত হতে হলে, নিম্নলিখিতগুলির মধ্যে একটি পূরণ করতে হবে:

    • বিজয়ী প্রার্থী এবং সংযুক্ত ওয়াই-ফাই নেটওয়ার্কের BSSID একই।
    • যদি ফার্মওয়্যার রোমিং উপলব্ধ থাকে (BSSID ব্লকলিস্ট ক্ষমতা সহ), বিজয়ী প্রার্থী এবং সংযুক্ত নেটওয়ার্কের SSID এবং নিরাপত্তার ধরণ একই থাকে।

    যদি বিজয়ী প্রার্থী সংযুক্ত নেটওয়ার্কের সাথে মেলে, তাহলে আর কোনও পদক্ষেপ নেওয়া হবে না। যদি বিজয়ী প্রার্থী নেটওয়ার্কের সাথে মেলে না, তাহলে ডিভাইসটি বিজয়ী প্রার্থীর সাথে সংযুক্ত হবে।

একটি সংযুক্ত নেটওয়ার্কের মূল্যায়ন

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক বা ফার্মওয়্যার পর্যায়ক্রমে সংযুক্ত নেটওয়ার্কের মান মূল্যায়ন করে। এই বিভাগটি বর্ণনা করে যে স্ক্রিন চালু বা বন্ধ থাকা অবস্থায় সংযুক্ত নেটওয়ার্ক কীভাবে মূল্যায়ন করা হয়।

এই মূল্যায়নটি পূর্ববর্তী বিভাগগুলিতে আলোচিত নেটওয়ার্ক নির্বাচনের পাশাপাশি করা হয়।

স্ক্রিন চালু

অ্যান্ড্রয়েড ফ্রেমওয়ার্ক নিম্নলিখিত উপায়ে সংযুক্ত নেটওয়ার্ক মূল্যায়ন করে:

  1. ওয়াই-ফাই পরিষেবা প্রতি ৩ সেকেন্ডে RSSI এবং লিঙ্ক-লেয়ার পরিসংখ্যান পোল করে ( config_wifiPollRssiIntervalMilliseconds ওভারলে ব্যবহার করে কনফিগার করা যায়)।

    যদি config_wifiAdjustPollRssiIntervalEnabled ওভারলে ব্যবহার করে গতিশীল ব্যবধান সমন্বয় সক্ষম করা হয়, তাহলে ডিভাইসের গতিশীলতা অবস্থা এবং RSSI এর উপর ভিত্তি করে পোলিং ব্যবধান গতিশীলভাবে পরিবর্তিত হয়।

    • যখন ডিভাইসটি স্থির থাকে এবং RSSI -68 dBm ( config_wifiClientRssiMonitorThresholdDbm এবং config_wifiClientRssiMonitorHysteresisDb ওভারলে দ্বারা কনফিগার করা হয়) তখন পোলিং ব্যবধান 6 সেকেন্ড পর্যন্ত বাড়ানো হয় ( config_wifiPollRssiLongIntervalMilliseconds ওভারলে দ্বারা কনফিগার করা হয়)।
    • যখন ডিভাইসটি অ-স্থির থাকে অথবা RSSI -73 dBm ( config_wifiClientRssiMonitorThresholdDbm ওভারলে দ্বারা কনফিগার করা হয়) তখন পোলিং ব্যবধান 3 সেকেন্ডে কমিয়ে আনা হয় ( config_wifiPollRssiIntervalMilliseconds ওভারলে দ্বারা কনফিগার করা হয়)।
  2. ওয়াই-ফাই পরিষেবাটি RSSI এবং লিঙ্ক-লেয়ার পরিসংখ্যানের উপর ভিত্তি করে একটি সংযুক্ত স্কোর গণনা করে।

  3. ওয়াই-ফাই পরিষেবা স্কোরটি সংযোগ পরিষেবাতে প্রেরণ করে, যা স্কোরটি ব্যবহার করে নির্ধারণ করে যে কোনও ওয়াই-ফাই নেটওয়ার্কের সাথে সংযোগ স্থাপন করা হবে নাকি অন্য কোনও উপলব্ধ নেটওয়ার্ক প্রকারের সাথে, যেমন একটি মোবাইল নেটওয়ার্কের সাথে।

স্ক্রিন বন্ধ

ফ্রেমওয়ার্কটি সংযুক্ত নেটওয়ার্কে মূল্যায়ন শুরু করে না, তবে অন্যান্য উপাদান (উদাহরণস্বরূপ, অবস্থান পরিষেবা) দ্বারা স্ক্যান শুরু করা হলে নেটওয়ার্ক নির্বাচন প্রক্রিয়াটি এখনও ঘটতে পারে। ফার্মওয়্যার নেটওয়ার্কের মান মূল্যায়ন করে এবং যদি নেটওয়ার্কের মান খারাপ হয়, তাহলে ফার্মওয়্যারটি ঘোরাফেরা করতে পারে অথবা (অবশেষে) নেটওয়ার্ক থেকে বিচ্ছিন্ন হয়ে যেতে পারে এবং হোস্টকে জাগিয়ে তুলতে পারে।

কানেক্টিভিটি স্ক্যান

ডিভাইসটির স্ক্রিন চালু আছে কিনা, স্ক্রিন বন্ধ আছে কিনা এবং Wi-Fi এর সাথে সংযুক্ত আছে কিনা, অথবা স্ক্রিন বন্ধ আছে কিনা এবং Wi-Fi এর সাথে সংযুক্ত নেই কিনা তার উপর ভিত্তি করে স্ক্যানগুলি স্বয়ংক্রিয়ভাবে সম্পাদিত হয়।

স্ক্রিন চালু

স্ক্রিন চালু থাকাকালীন ফ্রেমওয়ার্কটি ক্রমবর্ধমান বিরতিতে স্ক্যান সিদ্ধান্তগুলি ট্রিগার করে। স্ক্যান সিদ্ধান্তের ব্যবধানগুলি config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec , এবং config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec ওভারলে (যা পূর্ণসংখ্যার অ্যারে) ব্যবহার করে কনফিগার করা হয়। ডিফল্টরূপে, স্ক্যানগুলি 20, 40, 80 এবং 160 সেকেন্ডের সূচকীয় ব্যাকঅফ ব্যবধান ব্যবহার করে ঘটে, পরবর্তী স্ক্যানগুলি সম্ভবত 160 সেকেন্ডের ব্যবধানে করা হয় (এগুলি এই ওভারলেগুলির ডিফল্ট মান)।

এক্সপোনেনশিয়াল ব্যাকঅফ স্ক্যান ব্যবধানগুলি রিসেট করা হয় এবং যখনই স্ক্রিনের অবস্থা পরিবর্তন হয়, অর্থাৎ যখন স্ক্রিনটি চালু বা বন্ধ করা হয় তখন 20 সেকেন্ডে পুনরায় চালু হয়।

(Android 13+) রানটাইমে যদি বিভিন্ন স্ক্যান ব্যবধানের প্রয়োজন হয়, তাহলে একটি OEM সুবিধাপ্রাপ্ত অ্যাপ WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API কল করে স্ক্রিন-অন স্ক্যান সময়সূচী গতিশীলভাবে সেট করতে পারে।

স্ক্যান চালানো বা এড়িয়ে যাওয়ার সিদ্ধান্ত বর্তমান নেটওয়ার্ক সংযোগটি স্ক্যানিং এড়িয়ে যাওয়ার জন্য যথেষ্ট ভাল কিনা তার উপর নির্ভর করে। নিম্নলিখিত প্রয়োজনীয়তাগুলির মধ্যে যেকোনো একটি পূরণ হলে স্ক্যানিং এড়িয়ে যাওয়ার জন্য একটি সংযোগ যথেষ্ট ভাল :

  • ডিভাইসটি একটি অনলাইন সাইন আপ (OSU) সংযোগের সাথে সংযুক্ত।
  • সংযোগস্থল দিয়ে পর্যাপ্ত যানবাহন চলাচল করছে (পরে ট্রাফিকের সীমা দেখুন)।
  • RSSI প্রয়োজনীয় RSSI থ্রেশহোল্ডের চেয়ে বেশি (পরে RSSI থ্রেশহোল্ড দেখুন), এবং নেটওয়ার্ক নির্বাচন সম্প্রতি করা হয়েছে (ডিফল্টরূপে ১০ মিনিট কিন্তু config_wifiConnectedHighRssiScanMinimumWindowSizeSec ওভারলে ব্যবহার করে কনফিগার করা যেতে পারে), এবং হয় নেটওয়ার্কটি বৈধ (ইন্টারনেটের সাথে সংযুক্ত) অথবা ইন্টারনেট অ্যাক্সেস ছাড়াই ব্যবহারের জন্য ব্যবহারকারী-অনুমোদিত।

RSSI এবং ট্র্যাফিক থ্রেশহোল্ড হল:

  • config_wifi_framework_wifi_score_low_rssi_threshold_24GHz ওভারলে দিয়ে কনফিগার করা 2.4 GHz ব্যান্ডের জন্য RSSI -73 dBm এর চেয়ে বেশি, অথবা config_wifi_framework_wifi_score_low_rssi_threshold_5GHz এবং config_wifiFrameworkScoreLowRssiThreshold6ghz ওভারলে দিয়ে কনফিগার করা 5 GHz এবং 6 GHz ব্যান্ডের জন্য -70 dBm এর চেয়ে বেশি।
  • config_wifiFrameworkMinPacketPerSecondActiveTraffic ওভারলে ব্যবহার করে কনফিগার করা ট্র্যাফিক (ট্রান্সমিট বা রিসিভ) প্রতি সেকেন্ডে ১৬টি প্যাকেটের (pps) চেয়ে বেশি।

যখন ডিভাইসটি সংযুক্ত থাকে এবং স্ক্রিন চালু থাকে, তখন একটি সংযুক্ত স্কোরার পর্যায়ক্রমে RSSI এবং স্থানান্তরিত প্যাকেটের সংখ্যার মতো সংকেত দেখে Wi-Fi গুণমান পর্যবেক্ষণ করে। যদি Wi-Fi গুণমান খারাপ বলে নির্ধারিত হয় (যেমন পরে উল্লেখ করা হয়েছে) এবং ডিভাইসটি দ্বৈত সমবর্তী স্টেশন সমর্থন করে, তাহলে একটি স্ক্যান ট্রিগার করা হবে। config_wifiLowConnectedScoreThresholdToTriggerScanForMbb ওভারলে স্ক্যানিং ট্রিগার করে এমন স্কোর থ্রেশহোল্ড কনফিগার করতে ব্যবহার করা যেতে পারে। config_wifiLowConnectedScoreScanPeriodSeconds ওভারলে এই স্ক্যানগুলির সময়কাল কনফিগার করতে ব্যবহার করা যেতে পারে।

স্ক্রিন বন্ধ এবং ওয়াই-ফাই এর সাথে সংযুক্ত

যখন স্ক্রিন বন্ধ থাকে এবং ডিভাইসটি একটি Wi-Fi নেটওয়ার্কের সাথে সংযুক্ত থাকে, তখন ফার্মওয়্যার (Wi-Fi SoC) রোমিং স্ক্যান করে। স্ক্রিন বন্ধ থাকা অবস্থায় ফ্রেমওয়ার্ক কোনও স্ক্যান করে না।

স্ক্রিন বন্ধ এবং Wi-Fi এর সাথে সংযুক্ত নয় (সংযোগ বিচ্ছিন্ন অবস্থা)

যখন স্ক্রিন বন্ধ থাকে এবং Wi-Fi সংযোগ বিচ্ছিন্ন থাকে, তখন ফার্মওয়্যারটি SSID-এর জন্য PNO স্ক্যান করে। ফ্রেমওয়ার্কটি স্ক্যান করার জন্য SSID-এর একটি তালিকা এবং স্ক্যান করার জন্য চ্যানেলগুলির একটি তালিকা সহ ফার্মওয়্যারটিকে কনফিগার করে। যদি একটি কনফিগার করা SSID পাওয়া যায়, তাহলে ফার্মওয়্যারটি ফ্রেমওয়ার্কটি জাগিয়ে তোলে।

এই ফ্রেমওয়ার্কটি ফার্মওয়্যারের PNO স্ক্যান করার জন্য নির্ধারিত ব্যবধানটিও কনফিগার করে, ডিভাইসের গতিশীলতা অবস্থা ব্যবহার করে বিভিন্ন স্ক্যান ব্যবধান নির্বাচন করে। কম গতিশীলতা অবস্থায় (ডিভাইসটি স্থির থাকে), প্রথম তিনটি স্ক্যানের জন্য ব্যবধান 60 সেকেন্ড ( config_wifiStationaryPnoScanIntervalMillis ওভারলে দ্বারা নিয়ন্ত্রিত), এবং পরবর্তী স্ক্যানের জন্য 180 সেকেন্ড (ওভারলে একটি নির্দিষ্ট 3x গুণক)। উচ্চ গতিশীলতা অবস্থায়, প্রথম তিনটি স্ক্যানের জন্য ব্যবধান 20 সেকেন্ড ( config_wifiMovingPnoScanIntervalMillis ওভারলে দ্বারা নিয়ন্ত্রিত), এবং পরবর্তী স্ক্যানের জন্য 60 সেকেন্ড (ওভারলে একটি নির্দিষ্ট 3x গুণক)।

নেটওয়ার্ক মনোনীতকারী

নেটওয়ার্ক মনোনীতকারীরা নিম্নলিখিত নেটওয়ার্কগুলির জন্য কনফিগারেশন ( WifiConfiguration ) খুঁজে বের করে বা তৈরি করে:

  • উপলব্ধ (স্ক্যান ফলাফলের উপর ভিত্তি করে) অথবা সংযুক্ত নেটওয়ার্ক (যা কখনও কখনও ফ্লেকি স্ক্যান ফলাফল থেকে অনুপস্থিত থাকে)।
  • ন্যূনতম RSSI থাকতে হবে। 2.4 GHz ব্যান্ডের জন্য ন্যূনতম RSSI হল -80 dBm এবং 5 GHz এবং 6 GHz ব্যান্ডের জন্য -77 dBm, config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz , এবং config_wifiFrameworkScoreEntryRssiThreshold6ghz ওভারলে ব্যবহার করে কনফিগার করা যাবে।
  • উদাহরণস্বরূপ, পূর্ববর্তী সংযোগ ব্যর্থতার কারণে ব্লক করা হয়নি।
  • নেটওয়ার্কটি নির্দেশ করে না যে এটি অব্যবহারযোগ্য (উদাহরণস্বরূপ, MBO/OCE ব্যবহার করে)।
  • ডিভাইসে উপলব্ধ শংসাপত্র ব্যবহারের সাথে যুক্ত করা যেতে পারে।

নিম্নলিখিত নেটওয়ার্ক মনোনীতকারী ব্যবহার করা হয়:

  • সংরক্ষিত নেটওয়ার্ক মনোনীতকারী: সমস্ত সংরক্ষিত নেটওয়ার্ক মূল্যায়ন করে (সংরক্ষিত পাসপয়েন্ট সাবস্ক্রিপশন সহ)।
  • প্রস্তাবিত নেটওয়ার্ক মনোনীতকারী: প্রস্তাবিত API ব্যবহার করে অ্যাপ দ্বারা সরবরাহিত সমস্ত নেটওয়ার্ক মূল্যায়ন করে (প্রস্তাবিত পাসপয়েন্ট সাবস্ক্রিপশন সহ)।

প্রার্থীদের স্কোরার

প্রার্থী স্কোরাররা প্রতিটি প্রার্থীর জন্য মূল্যায়ন করে এবং একটি স্কোর প্রদান করে। ThroughputScorer (ডিফল্ট স্কোরার) এর স্কোর নিম্নলিখিত বিষয়গুলির উপর ভিত্তি করে:

  • RSSI-এর উপর ভিত্তি করে একটি বেস স্কোর গণনা করা হয় যেখানে RSSI 2.4 GHz ব্যান্ডের জন্য -73 dBm বা 5 GHz এবং 6 GHz ব্যান্ডের জন্য -70 dBm ( config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz , এবং config_wifiFrameworkScoreLowRssiThreshold6ghz ওভারলে দিয়ে কনফিগার করা হয়)।
  • প্রযুক্তি, চ্যানেল ফ্রিকোয়েন্সি, ব্যান্ডউইথ, RSSI, চ্যানেলের অবস্থা, স্থানিক স্ট্রিমগুলির সর্বাধিক সংখ্যা এবং অন্যান্য পরামিতি থেকে প্রাপ্ত থ্রুপুট অনুমানের উপর ভিত্তি করে স্কোর বুস্ট গণনা করা হয়। config_wifiFrameworkThroughputBonusNumerator এবং config_wifiFrameworkThroughputBonusDenominator ওভারলে ব্যবহার করে স্কোর বুস্ট কনফিগার করা যায় এবং config_wifiFrameworkThroughputBonusLimit ওভারলে ব্যবহার করে নির্দিষ্ট সর্বোচ্চ মানের মধ্যে সীমাবদ্ধ।
  • ব্যবহারকারী বা অ্যাপ দ্বারা সম্প্রতি নির্বাচিত একটি ক্যান্ডিডেট নেটওয়ার্ক config_wifiFrameworkLastSelectionMinutes ওভারলে ব্যবহার করে কনফিগারযোগ্য সময়কালের জন্য একটি বড় স্কোর বুস্ট পায় (সেই সময়কালের জন্য নেটওয়ার্কটি অ-ব্যবহারকারী-নির্বাচিত নেটওয়ার্কগুলির মাধ্যমে নির্বাচিত হওয়ার জন্য যাচাই করা হয়)।
  • বর্তমান নেটওয়ার্কের সাথে মেলে এমন একজন প্রার্থী config_wifiFrameworkCurrentNetworkBonusMin এবং config_wifiFrameworkCurrentNetworkBonusPercent ওভারলে দ্বারা কনফিগার করা স্কোর বুস্ট পায় (এটি তার RSSI এবং থ্রুপুট-ভিত্তিক স্কোরের শতাংশের উপর ভিত্তি করে অতিরিক্ত বোনাস পায়, যা কনফিগারযোগ্য সর্বনিম্ন পর্যন্ত)।
  • একটি নিরাপদ নেটওয়ার্ক একটি উন্মুক্ত নেটওয়ার্কের চেয়ে বেশি স্কোর পায়। বোনাসটি config_wifiFrameworkSecureNetworkBonus ওভারলে ব্যবহার করে কনফিগার করা হয়।
  • একটি মিটারবিহীন (বিনামূল্যে) নেটওয়ার্ক একটি মিটারবিহীন (প্রদেয়) নেটওয়ার্কের চেয়ে বেশি স্কোর পায়। বোনাসটি config_wifiFrameworkUnmeteredNetworkBonus ওভারলে ব্যবহার করে কনফিগার করা হয়।
  • একটি সংরক্ষিত নেটওয়ার্ক সাজেশন API ব্যবহার করে প্রস্তাবিত নেটওয়ার্কের চেয়ে বেশি স্কোর পায়। বোনাসটি config_wifiFrameworkSavedNetworkBonus ওভারলে ব্যবহার করে কনফিগার করা হয়।
  • অবিশ্বস্ত নেটওয়ার্কগুলি (যা সাজেশন API-এর অংশ হিসাবে অনুরোধ করা যেতে পারে) অন্য যেকোনো নেটওয়ার্কের তুলনায় কম স্কোর পায়।
  • যে নেটওয়ার্কে আগে ইন্টারনেট নেই বলে শনাক্ত করা হয়েছিল, যদি সেই ডিভাইসটি ইন্টারনেট অ্যাক্সেস আছে এমন অন্য কোনও নেটওয়ার্কের সাথে সংযুক্ত থাকে, তাহলে সেই নেটওয়ার্ক ০ স্কোর পাবে।

সংরক্ষিত বনাম পরামর্শ এবং মিটারবিহীন বনাম মিটারবিহীন (অর্থাৎ, ডিফল্ট ওভারলে মান) এর জন্য ডিফল্ট বোনাস সংরক্ষিত, প্রস্তাবিত, মিটারবিহীন এবং মিটারবিহীনের জন্য একটি কঠোর অগ্রাধিকার ক্রম তৈরি করে:

  1. সংরক্ষিত মিটারবিহীন নেটওয়ার্কগুলি
  2. প্রস্তাবিত মিটারবিহীন নেটওয়ার্কগুলি
  3. সংরক্ষিত মিটারযুক্ত নেটওয়ার্কগুলি
  4. প্রস্তাবিত মিটারযুক্ত নেটওয়ার্কগুলি

এর অর্থ হল, একটি সংরক্ষিত মিটারবিহীন (বিনামূল্যে) নেটওয়ার্ক সর্বদা একটি সংরক্ষিত মিটারবিহীন (প্রদেয়) নেটওয়ার্কের আগে নির্বাচিত হয়। সম্প্রতি নির্বাচিত (ব্যবহারকারী বা অ্যাপ দ্বারা) স্কোর বোনাস সেই কঠোর অগ্রাধিকারকে ওভাররাইড করতে পারে।

ফ্রেমওয়ার্কটিতে একাধিক ক্যান্ডিডেট স্কোরার ইনস্টল করা যেতে পারে কিন্তু একসাথে শুধুমাত্র একজন সক্রিয় থাকতে পারে। অন্যান্য স্কোরারগুলি মেট্রিক্সের জন্য ব্যবহার করা যেতে পারে (বিকল্প অ্যালগরিদম অনুসন্ধান করার জন্য)। অ্যান্ড্রয়েড ১১-এ, ডিফল্ট স্কোরার হল ThroughputScorer

SSID এবং BSSID ব্লকিং

ফ্রেমওয়ার্কটি SSID বা BSSID ব্লক করতে পারে, যার অর্থ এটি অস্থায়ী বা স্থায়ীভাবে সংযোগের জন্য বিবেচনা করবে না।

BSSID ব্লকিং

BSSID ব্লকিং দুটি ব্যর্থতা কাউন্টার, একটি ক্রমাগত ব্যর্থতা কাউন্টার এবং একটি স্ট্রিক কাউন্টার, নির্দিষ্ট ব্যর্থতার ধরণ অনুসারে রেখে কাজ করে (ব্যর্থতার ধরণগুলির তালিকা পরে দেখুন)। যখন একটি ব্যর্থতা ঘটে:

  • সংশ্লিষ্ট ব্যর্থতার ধরণের জন্য কাউন্টারটি বৃদ্ধি করা হয়েছে।
  • যদি সেই ধরণের ব্যর্থতার সীমায় পৌঁছে যায়:
    • BSSID ব্লক করা আছে।
    • ব্যর্থতার জন্য স্ট্রিক কাউন্টার বৃদ্ধি করা হয়েছে।

একটি BSSID ব্লক করার সময়কাল একটি কনফিগারযোগ্য বেস মান থেকে শুরু হয়। এই বেস মানটি RSSI এর উপর নির্ভর করে config_wifiBssidBlocklistMonitorBaseBlockDurationMs বা config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs ওভারলে দ্বারা নির্দিষ্ট করা হয়। এরপর সময়কাল config_wifiBssidBlocklistMonitorFailureStreakCap ওভারলে দ্বারা নির্দিষ্ট একটি কনফিগারযোগ্য উপরের সীমা পর্যন্ত সূচকীয়ভাবে বৃদ্ধি পায়। একই BSSID-তে ক্রমাগত ব্যর্থতা ঘটলে সময়কাল বৃদ্ধি পায়। সময়কাল হল ব্যর্থতা স্ট্রিক দ্বারা সূচকীয়ভাবে বৃদ্ধি করা বেস সময়কাল; উদাহরণস্বরূপ, 2 এর ব্যর্থতা স্ট্রিক বেস ব্লকের সময়কালের 4x বোঝায়।

BSSID ব্লক করার থ্রেশহোল্ড ব্যর্থতার কারণের উপর নির্ভর করে এবং ওভারলে ব্যবহার করে প্রতিটি কাস্টমাইজযোগ্য:

  • AP MBO/OCE ব্যবহার করে অ্যাসোসিয়েশন প্রত্যাখ্যান করেছে । নতুন STA কোড পরিচালনা করতে অক্ষম : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
  • এই নেটওয়ার্কের মাধ্যমে ইন্টারনেট যাচাইকরণ ব্যর্থ হয়েছে: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
  • ভুল পাসওয়ার্ড প্রমাণীকরণ ব্যর্থতার কোড: config_wifiBssidBlocklistMonitorWrongPasswordThreshold
  • EAP নেটওয়ার্কগুলির জন্য EAP ব্যর্থতা প্রমাণীকরণ ব্যর্থতার কোড: config_wifiBssidBlocklistMonitorEapFailureThreshold
  • অ্যাসোসিয়েশন প্রত্যাখ্যান, অন্যান্য সাধারণ অ্যাসোসিয়েশন প্রত্যাখ্যান: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
  • অ্যাসোসিয়েশন টাইমআউট: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
  • প্রমাণীকরণ ব্যর্থতা, অন্যান্য সাধারণ প্রমাণীকরণ ব্যর্থতা: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
  • DHCP ব্যর্থতা, DHCP সরবরাহ করতে ব্যর্থতা: config_wifiBssidBlocklistMonitorDhcpFailureThreshold
  • অস্বাভাবিক সংযোগ বিচ্ছিন্ন, সংযোগ স্থাপনের পর খুব অল্প সময়ের মধ্যেই ডিভাইসটি নেটওয়ার্ক থেকে সংযোগ বিচ্ছিন্ন হয়ে গেছে: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold । সময় উইন্ডোটি config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs দিয়ে কনফিগার করা যায়।

BSSID ব্লকলিস্ট সাফ করার শর্তাবলী

ব্লকলিস্ট থেকে একটি BSSID মুছে ফেলা হয় যখন:

  • যখন Wi-Fi টগল করা হয়, তখন ব্লকলিস্ট থেকে সমস্ত BSSID মুছে ফেলা হয়।
  • যখন কোনও ব্যবহারকারী Wi-Fi পিকারে কোনও নেটওয়ার্কে ট্যাপ করেন, তখন ব্যবহারকারী-নির্বাচিত নেটওয়ার্কের সমস্ত BSSID ব্লকলিস্ট থেকে সরিয়ে ফেলা হয়।
  • যখন ব্লকের সময়কাল (টাইমআউট) শেষ হয়ে যায়, তখন BSSID গুলি ব্লকলিস্ট থেকে সরিয়ে ফেলা হয়।
  • সিস্টেম রিবুট হলে, সমস্ত ব্লকলিস্ট সাফ হয়ে যায়।
  • যখন কোনও নেটওয়ার্ক সরানো হয়, তখন সেই নেটওয়ার্কের সাথে সম্পর্কিত সমস্ত BSSID ব্লকলিস্ট থেকে সরানো হয়।

ব্যর্থতা এবং স্ট্রিক কাউন্টারগুলি শর্তগুলি পুনরায় সেট করে:

  • সিস্টেমটি পুনরায় বুট হলে, সমস্ত BSSID-এর জন্য কাউন্টারগুলি রিসেট করা হয়।
  • যখন একটি নেটওয়ার্ক সরানো হয়, তখন সেই নেটওয়ার্কের সাথে সম্পর্কিত BSSID-এর জন্য কাউন্টারগুলি পুনরায় সেট করা হয়।
  • যখন একটি L2 সংযোগ সফল হয়, তখন নিম্নলিখিত ত্রুটি কোডগুলির জন্য কাউন্টারগুলি পুনরায় সেট করা হয়:

    • REASON_AP_UNABLE_TO_HANDLE_NEW_STA
    • REASON_WRONG_PASSWORD
    • REASON_EAP_FAILURE
    • REASON_ASSOCIATION_REJECTION
    • REASON_ASSOCIATION_TIMEOUT
    • REASON_AUTHENTICATION_FAILURE
    • REASON_ABNORMAL_DISCONNECT (এই BSSID-এর সাথে ডিভাইসটি শেষবার ৩ ঘন্টারও বেশি সময় আগে সংযুক্ত হলেই শর্তসাপেক্ষে সাফ করা হবে)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • নেটওয়ার্ক যাচাইকরণ সফল হলে, নিম্নলিখিত ত্রুটি কোডের জন্য কাউন্টারগুলি পুনরায় সেট করা হয়:

    • REASON_NETWORK_VALIDATION_FAILURE
  • যখন DHCP প্রভিশনিং সফল হয়, তখন নিম্নলিখিত ত্রুটি কোডের জন্য কাউন্টারগুলি রিসেট করা হয়:

    • REASON_DHCP_FAILURE

SSID ব্লকিং

SSID ব্লকিং BSSID ব্লকিংয়ের মতোই কাজ করে। যখন সেই ধরণের সংযোগ ব্যর্থ হয় তখন প্রতিটি নেটওয়ার্কের জন্য একটি ব্যর্থতা কাউন্টার বৃদ্ধি পায়। যখন কোনও নির্দিষ্ট ধরণের ব্যর্থতার সংখ্যা একটি থ্রেশহোল্ড অতিক্রম করে, তখন একটি কনফিগারেশনের উপর ভিত্তি করে SSID স্থায়ীভাবে বা অস্থায়ীভাবে ব্লক করা হয়। প্রতিটি ব্যর্থতার ধরণের কনফিগারেশন WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS এ কোড করা হয় এবং নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে।

* সাময়িকভাবে অক্ষম নেটওয়ার্কগুলির জন্য, নেটওয়ার্কে ধারাবাহিক সংযোগ ব্যর্থতার সংখ্যার উপর ভিত্তি করে নিষ্ক্রিয়করণের সময়কাল গতিশীলভাবে পরিবর্তিত হয়। একটি নেটওয়ার্ক টানা পাঁচবার সংযোগ করতে ব্যর্থ হওয়ার পরে, প্রতিটি পরবর্তী ব্যর্থতার ফলে পূর্ববর্তী সময়ের চেয়ে দ্বিগুণ দীর্ঘ নিষ্ক্রিয়করণের সময়কাল তৈরি হয়। উদাহরণস্বরূপ, টানা পাঁচবার ব্যর্থতার সাথে একটি নেটওয়ার্ক 5 মিনিটের জন্য, তারপর ষষ্ঠবার ব্যর্থতার জন্য 10 মিনিট, সপ্তমবার ব্যর্থতার জন্য 20 মিনিট এবং আরও সর্বোচ্চ 18 ঘন্টার সীমা পর্যন্ত নিষ্ক্রিয় করা হয়।

ব্যর্থতার কোড বিবরণ থ্রেশহোল্ড বেসিক অক্ষমতার সময়কাল* অক্ষম করার ধরণ
DISABLED_DHCP_FAILURE DHCP সরবরাহ করতে ব্যর্থতা ৫ মিনিট অস্থায়ী
DISABLED_NO_INTERNET_TEMPORARY নেটওয়ার্ক যাচাইকরণ ব্যর্থ হয়েছে কিন্তু ব্যবহারকারী জানিয়েছেন যে তারা ভবিষ্যতে এই নেটওয়ার্কের সাথে সংযোগ স্থাপন চালিয়ে যেতে চান। ১০ মিনিট অস্থায়ী
DISABLED_AUTHENTICATION_NO_CREDENTIALS নেটওয়ার্কের সাথে সংযোগ স্থাপনের জন্য আবেদনকারীর কাছে কোনও প্রমাণপত্র নেই। নিষিদ্ধ স্থায়ী
DISABLED_NO_INTERNET_PERMANENT নেটওয়ার্ক যাচাইকরণ ব্যর্থতার জন্য ডিফল্ট নিষিদ্ধ স্থায়ী
DISABLED_BY_WIFI_MANAGER বন্ধ এবং অব্যবহৃত নিষিদ্ধ স্থায়ী
DISABLED_BY_WRONG_PASSWORD পাসওয়ার্ডটি ভুল, এবং এই নেটওয়ার্কটি কখনও সফলভাবে সংযুক্ত হয়নি নিষিদ্ধ স্থায়ী
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION সিম কার্ড সাবস্ক্রাইব না করলে EAP ব্যর্থতা নিষিদ্ধ স্থায়ী
DISABLED_ASSOCIATION_REJECTION অ্যাসোসিয়েশন প্রত্যাখ্যান ব্যর্থতা ৫ মিনিট অস্থায়ী
DISABLED_AUTHENTICATION_FAILURE অন্যান্য প্রমাণীকরণ ব্যর্থতা (অর্থাৎ, ভুল পাসওয়ার্ড বা EAP ব্যর্থতা নয়) ৫ মিনিট অস্থায়ী
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR প্রোভাইডার-নির্দিষ্ট (ব্যক্তিগত) EAP ব্যর্থতা। নিষিদ্ধ স্থায়ী
DISABLED_NETWORK_NOT_FOUND আবেদনকারী স্ক্যানের ফলাফলে এমন কোনও নেটওয়ার্ক খুঁজে পাননি যা সংযোগের জন্য কাঠামোর (নেটওয়ার্ক ক্ষমতা সহ) অনুরোধ করা নেটওয়ার্কের সাথে মেলে। ৫ মিনিট অস্থায়ী
DISABLED_CONSECUTIVE_FAILURES নেটওয়ার্কটি টানা পাঁচ বা তার বেশি বার সংযোগ করতে ব্যর্থ হয়েছে। এই ব্যর্থতার জন্য ব্যর্থতার ধরণে এই সারণীতে তালিকাভুক্ত ব্যর্থতার ধরণগুলি অন্তর্ভুক্ত রয়েছে তবে সীমাবদ্ধ নয়।
৫ মিনিট অস্থায়ী

একটি অস্থায়ীভাবে অক্ষম নেটওয়ার্ক পুনরায় সক্ষম করা হয় যখন:

  • নিষ্ক্রিয়করণের সময়কাল পেরিয়ে গেছে।
  • ব্যবহারকারী ম্যানুয়ালি সংযোগের জন্য নেটওয়ার্ক নির্বাচন করেন।
  • ব্যবহারকারী ওয়াই-ফাই টগল করে।
  • সিস্টেমটি রিবুট করা হচ্ছে।
  • খুব কম RSSI-তে নেটওয়ার্কটি নিষ্ক্রিয় করা হয়েছিল, কিন্তু পরে নেটওয়ার্কটি আবার মাঝারি বা উচ্চতর RSSI-তে সনাক্ত করা হয়।

একটি স্থায়ীভাবে অক্ষম নেটওয়ার্ক পুনরায় সক্ষম করা হয় যখন:

  • ব্যবহারকারী ম্যানুয়ালি সংযোগের জন্য নেটওয়ার্ক নির্বাচন করেন।

একটি নেটওয়ার্কের ব্যর্থতা কাউন্টারগুলি রিসেট করা হয় যখন:

  • নেটওয়ার্কটি সরানো হয়েছে।
  • ডিভাইসটি নেটওয়ার্কের সাথে সফলভাবে সংযুক্ত হয়েছে।
  • নিষ্ক্রিয়করণের সময়সীমা শেষ হওয়ার পর নেটওয়ার্কটি পুনরায় সক্ষম করা হয়েছে।
  • ব্যবহারকারী ম্যানুয়ালি সংযোগের জন্য নেটওয়ার্ক নির্বাচন করেন।
  • সিস্টেমটি রিবুট করা হচ্ছে।

স্কোর কার্ড

অ্যান্ড্রয়েড ১০-এ প্রবর্তিত স্কোর কার্ডগুলি BSSID সম্পর্কে ডিভাইসের পরিসংখ্যান রেকর্ড করে। IpMemoryStore পরিষেবা ব্যবহার করে স্কোর কার্ডগুলি বজায় রাখা হয়।

Android 11 নেটওয়ার্ক নির্বাচনে স্কোর কার্ড ব্যবহার করা হয় না।

ব্যবহারকারীর সংযোগ পছন্দ

অ্যান্ড্রয়েডের একটি ব্যবহারকারী সংযোগ পছন্দ অ্যালগরিদম রয়েছে যা নির্বাচন প্রক্রিয়াটিকে এমন Wi-Fi নেটওয়ার্কগুলিকে পছন্দ করতে দেয় যা একজন ব্যবহারকারী স্পষ্টভাবে সংযুক্ত করেছেন, উদাহরণস্বরূপ, একটি হোম নেটওয়ার্ক। ব্যবহারকারীরা পাবলিক নেটওয়ার্কের চেয়ে এই জাতীয় নেটওয়ার্কগুলিকে পছন্দ করতে পারেন এমনকি যখন পারফরম্যান্স একটি পাবলিক নেটওয়ার্কের চেয়ে কম হয় কারণ তারা হোম ডিভাইসগুলি নিয়ন্ত্রণ করার ক্ষমতার মতো অতিরিক্ত পরিষেবা প্রদান করে।

ব্যবহারকারী যখন কোনও নেটওয়ার্ক নির্বাচন করেন তখন সমস্ত দৃশ্যমান ওয়াই-ফাই কনফিগারেশন এবং তাদের সিগন্যাল শক্তি চিহ্নিত করে একটি নেটওয়ার্কের জন্য ব্যবহারকারীর পছন্দ ক্যাপচার করা হয়। যদি স্বয়ংক্রিয় নির্বাচন প্রক্রিয়ার সময় চিহ্নিত ওয়াই-ফাই কনফিগারেশনগুলির মধ্যে একটি নির্বাচন করা হয় এবং একটি ব্যবহারকারী-নির্বাচিত নেটওয়ার্ক উপলব্ধ থাকে, তাহলে নিম্নলিখিত শর্তগুলি পূরণ হলে ব্যবহারকারী সংযোগ পছন্দ অ্যালগরিদম ব্যবহারকারী-নির্বাচিত নেটওয়ার্কের সাথে নির্বাচনকে ওভাররাইড করে:

  • ইউজার কানেক্ট চয়েস নেটওয়ার্কটি শেষবার ব্যবহারের সময় ইন্টারনেট অ্যাক্সেস ছিল।
  • ব্যবহারকারীর সংযোগ পছন্দের সিগন্যাল শক্তি এমন একটি যা মূলত একটি ত্রুটি মার্জিন দিয়ে নির্বাচিত হওয়ার চেয়ে খারাপ নয়। এই ত্রুটি মার্জিনটি config_wifiEstimateRssiErrorMarginDb ওভারলে ব্যবহার করে কনফিগার করা যেতে পারে।

রিবুট করার পরেও ব্যবহারকারীর সংযোগ পছন্দ নেটওয়ার্কটি টিকে থাকে। ব্যবহারকারীর সংযোগ পছন্দ সংরক্ষিত নেটওয়ার্ক, পাসপয়েন্ট নেটওয়ার্ক এবং পরামর্শ নেটওয়ার্কের জন্য কাজ করে।

দ্বৈত সমবর্তী স্টেশন

এই বিভাগটি Wi-Fi নেটওয়ার্ক নির্বাচনের বর্ণনা দেয় যখন একটি ডিভাইস একই সাথে দুটি Wi-Fi নেটওয়ার্কের সাথে সংযোগ স্থাপন সমর্থন করে।

বিরতির আগে তৈরি করুন

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

সমসাময়িক সীমাবদ্ধতা এবং ইন্টারনেট সংযোগ

যদি সমকালীন সীমাবদ্ধ এবং ইন্টারনেট সংযোগ ফাংশন সক্রিয় থাকে, তাহলে ডিভাইসটি একটি সেকেন্ডারি সীমাবদ্ধ Wi-Fi নেটওয়ার্কের সাথে সংযোগ করতে পারে যা কেবলমাত্র ডিভাইস প্রস্তুতকারকের দ্বারা কনফিগার করা নির্বাচিত অ্যাপগুলির জন্য উপলব্ধ। ডিভাইস নির্মাতাদের এটি কনফিগার করার নির্দেশাবলী সমকালীন সীমাবদ্ধ এবং ইন্টারনেট সংযোগে রয়েছে।

যখন নেটওয়ার্ক নির্বাচন অ্যালগরিদম OEM পেইড বা প্রাইভেট সাজেশনের সাথে মিলে যাওয়া স্ক্যান ফলাফল সনাক্ত করে, তখন এটি স্বয়ংক্রিয়ভাবে দ্বিতীয় নেটওয়ার্ক হিসাবে এর সাথে সংযুক্ত হয়। প্রাথমিক ওয়াই-ফাই নেটওয়ার্কের জন্য নেটওয়ার্ক নির্বাচন (যা নিয়মিত অ্যাপগুলিতে ইন্টারনেট সংযোগ সরবরাহ করে) সাধারণত সমান্তরালভাবে ঘটে।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)

  1. নিরাপদ নেটওয়ার্ক কি সবসময় উন্মুক্ত নেটওয়ার্কের চেয়ে অগ্রাধিকার পায়?

    না। সংরক্ষিত বনাম প্রস্তাবিত এবং মিটারযুক্ত বনাম মিটারবিহীন হল প্রাথমিক বিভাগ যেখানে নেটওয়ার্কগুলি মূল্যায়ন করা হয়। প্রতিটি বিভাগের মধ্যে, নিরাপদ নেটওয়ার্কগুলিকে উন্মুক্ত নেটওয়ার্কগুলির তুলনায় কিছু অগ্রাধিকার দেওয়া হয়, তবে সংযোগের মানের উপর অনেক বেশি গুরুত্ব দেওয়া হয়।

    কারণ হলো, ব্যবহারকারীর ডেটার প্রকৃত নিরাপত্তা এন্ড-টু-এন্ড এনক্রিপশন (উদাহরণস্বরূপ, TLS) দ্বারা নিশ্চিত করা হয়। সুরক্ষিত নেটওয়ার্কগুলি কেবল যোগাযোগের প্রথম স্তরটি এনক্রিপ্ট করে, এবং তারপরেও, প্রি-শেয়ারড কী সহ নেটওয়ার্কগুলির জন্য, তারা খুব বেশি গোপনীয়তা প্রদান করে না।

  2. প্রস্তাবিত নেটওয়ার্কের চেয়ে সংরক্ষিত নেটওয়ার্কগুলিকে কেন অগ্রাধিকার দেওয়া হয়?

    সংরক্ষিত বিনামূল্যে (মিটারবিহীন) নেটওয়ার্কগুলিকে প্রস্তাবিত বিনামূল্যের নেটওয়ার্কগুলির চেয়ে অগ্রাধিকার দেওয়া হয়, এবং সংরক্ষিত মিটারযুক্ত নেটওয়ার্কগুলিকে প্রস্তাবিত মিটারযুক্ত নেটওয়ার্কগুলির চেয়ে অগ্রাধিকার দেওয়া হয়।

    সংরক্ষিত নেটওয়ার্কগুলিকে প্রস্তাবিত নেটওয়ার্কের চেয়ে অগ্রাধিকার দেওয়া হয় কারণ এগুলি এমন নেটওয়ার্ক যা ব্যবহারকারী স্পষ্টভাবে ডিভাইসে যুক্ত করেছেন। এর অর্থ হল যখনই সম্ভব এই নেটওয়ার্কগুলির সাথে সংযোগ স্থাপন করা পছন্দ করা।

    মনে রাখবেন যে ব্যবহারকারীরা পৃথক সংরক্ষিত নেটওয়ার্কগুলির জন্য স্বয়ংক্রিয়-সংযোগ আচরণ নিষ্ক্রিয় করতে পারেন; অর্থাৎ, তারা নির্দেশ করতে পারেন যে এই নেটওয়ার্কগুলি কেবল ম্যানুয়ালি ব্যবহার করা হবে এবং ডিভাইস দ্বারা স্বয়ংক্রিয়ভাবে বিবেচনা করা হবে না।

  3. আমি কি কঠোর অগ্রাধিকার ক্রম পরিবর্তন করতে পারি নাকি সম্পূর্ণরূপে অপসারণ করতে পারি?

    পূর্ববর্তী বিভাগগুলিতে তালিকাভুক্ত বোনাস ওভারলেগুলি পরিবর্তন করে আপনি নেটওয়ার্ক নির্বাচনের সিদ্ধান্তগুলি পরিবর্তন করতে পারেন। তবে, ডিফল্ট মানগুলি পরিবর্তন করার পরামর্শ দেওয়া হয় না, কারণ একাধিক ব্যবহারের ক্ষেত্রে সতর্কতার সাথে বিবেচনা করার পরে এগুলি বেছে নেওয়া হয়েছে।