ওয়াই-ফাই/সেলুলার কোএক্স চ্যানেল পরিহার

অ্যান্ড্রয়েড 12-এ প্রবর্তিত Wi-Fi/সেলুলার কোএক্স চ্যানেল এড়িয়ে চলা বৈশিষ্ট্যটি সেলুলার চ্যানেল থেকে বা সেলুলার চ্যানেলগুলিতে হস্তক্ষেপ হতে পারে এমন ক্ষেত্রে অনিরাপদ Wi-Fi চ্যানেলগুলিকে চিহ্নিত করে এবং ব্যবহার করা এড়িয়ে যায়। এর মধ্যে ইন্টারফেস যেমন STA, SoftAp, Wi-Fi Direct (P2P), Wi-Fi Aware (NAN) অন্তর্ভুক্ত রয়েছে।

এই পৃষ্ঠাটি নিম্নলিখিত বিষয়ে আলোচনা করে:

  • সেলুলার মডেমকে অবশ্যই Android ফ্রেমওয়ার্কে রিপোর্ট করতে হবে
  • অ্যালগরিদমগুলি এড়ানোর জন্য Wi-Fi চ্যানেলগুলি গণনা করতে Wi-Fi ফ্রেমওয়ার্ক ব্যবহার করে৷
  • কনফিগারেশন টেবিল যা ডিভাইস নির্মাতাদের অবশ্যই Wi-Fi ফ্রেমওয়ার্কের জন্য প্রদান করতে হবে
  • চ্যানেল পরিহার বৈশিষ্ট্য সম্পর্কিত সিস্টেম API, কনফিগারেশন এবং HAL API
  • চ্যানেল পরিহার পরিচালনার জন্য ফ্রেমওয়ার্ক আচরণ
  • চ্যানেল পরিহার পরিচালনার জন্য চিপ বিক্রেতার আচরণ
  • চ্যানেল এড়ানোর জন্য বাস্তবায়নের বিবরণ
  • চ্যানেল পরিহার আচরণ বৈধ করার জন্য পরীক্ষা

পটভূমি

LTE, 5G NR, এবং লাইসেন্সড অ্যাসিস্টেড অ্যাক্সেস (LAA) এর মতো সেলুলার প্রযুক্তি সহ ডিভাইসগুলির জন্য, ব্যবহৃত সেলুলার চ্যানেলগুলি ব্যবহার করা Wi-Fi চ্যানেলে হস্তক্ষেপ করতে পারে৷ এটি ঘটে যখন সেলুলার এবং ওয়াই-ফাই চ্যানেলগুলি সংক্ষিপ্ত ফ্রিকোয়েন্সি পৃথকীকরণের মধ্যে থাকে (প্রতিবেশী চ্যানেল) বা যখন সুরেলা এবং ইন্টারমডুলেশন হস্তক্ষেপ থাকে।

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

এই দস্তাবেজটি হস্তক্ষেপকারী ট্রান্সমিটারকে আক্রমণকারী হিসাবে এবং প্রাপককে শিকার হিসাবে হস্তক্ষেপের সম্মুখীন বলে উল্লেখ করে। যে Wi-Fi চ্যানেলটি হয় আক্রমণকারী বা শিকার হয় তাকে একটি অনিরাপদ চ্যানেল হিসাবে উল্লেখ করা হয়৷

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

বৈশিষ্ট্যটি Wi-Fi চ্যানেলগুলি নিয়ন্ত্রণ করে চ্যানেল পরিহার করে। ওয়াই-ফাই চ্যানেল পরিহার স্কিমকে চারটি বিমূর্ত পদক্ষেপের একটি সিরিজ হিসাবে বর্ণনা করা যেতে পারে:

  1. মডেম রিপোর্ট সেলুলার ফ্রিকোয়েন্সি পরিবর্তন
  2. Coex পরিহার অ্যালগরিদম অনিরাপদ Wi-Fi চ্যানেল গণনা করে
  3. Coex পরিহার অ্যালগরিদম ওয়াই-ফাই পরিষেবাকে জানায়
  4. ফ্রেমওয়ার্ক বা ড্রাইভার যথাযথ ওয়াই-ফাই ক্রিয়া সম্পাদন করে

চ্যানেল পরিহার স্কিম

চিত্র 1. চ্যানেল এড়ানোর পরিকল্পনা

সেলুলার ফ্রিকোয়েন্সি পরিবর্তন রিপোর্ট করুন

টেলিফোনি পরিষেবা বর্তমানে ব্যবহৃত সেলুলার চ্যানেলগুলির রিপোর্ট করে৷ যখন অপারেটিং সেলুলার ফ্রিকোয়েন্সি পরিবর্তিত হয়, মডেম এই তথ্যটি টেলিফোনি পরিষেবাতে IRadio::PhysicalChannelConfig এর মাধ্যমে রিপোর্ট করে। এই তথ্যের মধ্যে লাইসেন্সপ্রাপ্ত অ্যাসিস্টেড অ্যাক্সেস (LAA) এবং ক্যারিয়ার অ্যাগ্রিগেশন (CA) জন্য ইঙ্গিত অন্তর্ভুক্ত রয়েছে।

অ্যান্ড্রয়েড 12 থেকে, 1.6 IRadio::PhysicalChannelConfig এর নিম্নলিখিত ক্ষেত্রগুলি সহ-সংক্রান্ত সূত্রগুলির জন্য প্রয়োজনীয় তথ্য প্রদান করে যা মডেমকে অবশ্যই পূরণ করতে হবে।

struct PhysicalChannelConfig {
    /** Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING */
    CellConnectionStatus status;

    /** The radio technology for this physical channel */
    RadioTechnology rat;

    /** Downlink Absolute Radio Frequency Channel Number */
    int32_t channelNumberDownlink;

    /** Uplink Absolute Radio Frequency Channel Number */
    int32_t channelNumberUplink;

    /** Downlink cell bandwidth, in kHz */
    int32_t cellBandwidthDownlink;hte

    /** Uplink cell bandwidth, in kHz */
    int32_t cellBandwidthUplink;
}

অনিরাপদ ওয়াই-ফাই চ্যানেল গণনা করুন

যখন মোডেম সেলুলার ফ্রিকোয়েন্সি পরিবর্তনের রিপোর্ট করে, তখন কোএক্স চ্যানেল অ্যালগরিদম সেলুলার এবং ওয়াই-ফাই চ্যানেলগুলির মধ্যে হস্তক্ষেপ গণনা করে এবং নির্ধারণ করে যে কোন সেট ওয়াই-ফাই চ্যানেলগুলি অনিরাপদ৷

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

একটি সর্বোচ্চ পাওয়ার ক্যাপ লুকআপ টেবিলে সংজ্ঞায়িত করা যেতে পারে। যদি সর্বাধিক পাওয়ার ক্যাপ সংজ্ঞায়িত করা হয়, তবে একটি অনিরাপদ চ্যানেল সরবরাহ করা পাওয়ার ক্যাপ দিয়ে প্রেরণ করে। যদি কোনও পাওয়ার ক্যাপ না থাকে তবে চ্যানেলটি সম্পূর্ণ শক্তিতে প্রেরণ করে।

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

যদি 2.4 GHz বা 5 GHz ব্যান্ডের প্রতিটি চ্যানেলকে অনিরাপদ হিসাবে চিহ্নিত করা হয়, তাহলে লুকআপ টেবিলটি একটি ডিফল্ট 2.4 GHz চ্যানেল বা একটি ডিফল্ট 5 GHz চ্যানেল প্রতি হস্তক্ষেপকারী সেল ব্যান্ডকে সবচেয়ে নিরাপদ পছন্দ হিসাবে সংজ্ঞায়িত করতে পারে। এই ডিফল্ট চ্যানেলগুলিকে অনিরাপদ চ্যানেল হিসাবে রিপোর্ট করা হয় না যখন বাকি ব্যান্ডগুলি অনিরাপদ বলে রিপোর্ট করা হয়।

ওভাররাইড তালিকা

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

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

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

ওভাররাইড তালিকাটি প্রতিটি Wi-Fi ব্যান্ডের জন্য চ্যানেল নম্বর বা পূর্ব-নির্ধারিত বিভাগ কীওয়ার্ডগুলির একটি তালিকা দ্বারা প্রতিনিধিত্ব করা হয়:

2g বিভাগ:

  • all (সম্পূর্ণ 2.4 GHz ব্যান্ড)

5g বিভাগ:

  • all (সম্পূর্ণ 5 GHz ব্যান্ড)
  • 20mhz (5 GHz 20 MHz চ্যানেল)
  • 40mhz (5 GHz 40 MHz চ্যানেল)
  • 80mhz (5 GHz 80 MHz চ্যানেল)
  • 160mhz (5 GHz 160 MHz চ্যানেল)

প্রতিবেশী চ্যানেলের হস্তক্ষেপ

প্রতিবেশী চ্যানেলের হস্তক্ষেপ নির্ধারণ করতে, কোএক্স পরিহার অ্যালগরিদম নিশ্চিত করে যে একটি আক্রমণকারী এবং শিকার চ্যানেলের মধ্যে দূরত্ব ΔF একটি নির্দিষ্ট থ্রেশহোল্ডের অধীনে না যায়।

চ্যানেল হস্তক্ষেপ

চিত্র 2. আক্রমণকারী এবং শিকার চ্যানেলের মধ্যে দূরত্ব

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

প্রতিবেশী হস্তক্ষেপের পরামিতি

  • wifiVictimMhz : একজন Wi-Fi শিকারের জন্য MHz দূরত্ব থ্রেশহোল্ড (সেল আপলিংক)
  • cellVictimMhz : একটি সেল ভিকটিম এর জন্য MHz দূরত্ব থ্রেশহোল্ড (সেল ডাউনলিংক)

অ্যালগরিদম প্রতিটি সক্রিয় সেল চ্যানেলের জন্য নিম্নরূপ আচরণ করে:

  1. চ্যানেলের ব্যান্ডের জন্য, একটি লুকআপ টেবিল এন্ট্রি খোঁজার চেষ্টা করে। যদি কোনো টেবিল এন্ট্রি পাওয়া না যায়, সেই সেল চ্যানেলের জন্য কোনো অনিরাপদ চ্যানেল ছাড়াই ফেরত আসে।
  2. সেলুলার ব্যান্ডের উপর ভিত্তি করে, কোন Wi-Fi ব্যান্ডটি ঝুঁকির মধ্যে রয়েছে এবং ব্যান্ডের কোন দিক থেকে হস্তক্ষেপ আসে তা সনাক্ত করে (উদাহরণস্বরূপ, নিম্ন 2.4 GHz চ্যানেল, উচ্চ 2.4 GHz চ্যানেল, নিম্ন 5 GHz চ্যানেল)।
  3. যদি wifiVictimMhz উপস্থিত থাকে এবং সেল চ্যানেলে আপলিংক থাকে এবং

    1. ওয়াই-ফাই ব্যান্ডের নিচের অংশ ঝুঁকিতে থাকলে

      1. সেল আপলিংকের সর্বোচ্চ ফ্রিকোয়েন্সিতে wifiVictimMhz যোগ করে অনিরাপদ চ্যানেলের উপরের সীমা খুঁজে পায়।
      2. প্রথম 20 Mhz Wi-Fi চ্যানেলটি খুঁজে পায় যার নিম্ন প্রান্তটি সীমাকে ওভারল্যাপ করে৷
      3. ওয়াই-ফাই চ্যানেল চিহ্নিত করে, প্রতিটি বড় ব্যান্ডউইথ চ্যানেল যেখানে এটি রয়েছে (উদাহরণস্বরূপ, 40 Mhz, 80 Mhz), এবং একই ব্যান্ডের প্রতিটি নিম্ন চ্যানেলকে অনিরাপদ চ্যানেল হিসেবে চিহ্নিত করে।
    2. যদি Wi-Fi ব্যান্ডের উপরের অংশ ঝুঁকিতে থাকে

      1. সেল আপলিংকের সর্বনিম্ন ফ্রিকোয়েন্সিতে wifiVictimMhz বিয়োগ করে অনিরাপদ চ্যানেলের নিম্ন সীমা খুঁজে পায়।
      2. প্রথম ওয়াই-ফাই চ্যানেলের সন্ধান করে যার উপরের প্রান্তটি সীমাকে ওভারল্যাপ করে৷
      3. Wi-Fi চ্যানেল চিহ্নিত করে, প্রতিটি বড় চ্যানেল যাতে এটি রয়েছে (উদাহরণস্বরূপ, 40M hz, 80 Mhz), এবং একই ব্যান্ডের প্রতিটি উচ্চতর চ্যানেলকে অনিরাপদ চ্যানেল হিসেবে চিহ্নিত করে৷
  4. যদি cellVictimMhz উপস্থিত থাকে এবং সেল চ্যানেলে ডাউনলিংক থাকে।

    1. থ্রেশহোল্ড হিসাবে cellVictimMhz ব্যবহার করে ধাপ 3 সম্পাদন করে এবং সেল আপলিংকের পরিবর্তে সেল ডাউনলিংকের সাথে তুলনা করে।
  5. গণনা করা অনিরাপদ চ্যানেলগুলিতে টেবিল এন্ট্রির পাওয়ার ক্যাপ প্রয়োগ করে।

অনিরাপদ চ্যানেল গণনা

চিত্র 3. প্রতিবেশী চ্যানেলের হস্তক্ষেপের জন্য অনিরাপদ চ্যানেল গণনা

হারমোনিক বা ইন্টারমডুলেশন বিকৃতি

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

$$ overlap = \frac{min(distortion_{high}, victim_{high}) - max(distortion_{low}, victim_{low})}{victim_{bandwidth}} $$

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

$$ harmonic_{high} = N * uplink_{high} $$
$$ harmonic_{low} = N * uplink_{low} $$

অনিরাপদ চ্যানেল গণনা সুরেলা বিকৃতি

চিত্র 4. সুরেলা বিকৃতির জন্য অনিরাপদ চ্যানেল গণনা

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

$$ intermod_{high} = |M*wifi_{high} + N*uplink_{high}| $$
$$ intermod_{low} = |M*wifi_{low} + N*uplink_{low}| $$

অনিরাপদ চ্যানেল গণনা ইন্টারমডুলেশন বিকৃতি

চিত্র 5. ইন্টারমডুলেশন বিকৃতির জন্য অনিরাপদ চ্যানেল গণনা

আপনি হস্তক্ষেপকারী সেল ব্যান্ড প্রতি লুকআপ টেবিলে $ M $, $ N $ এবং ওভারল্যাপ মানগুলি নির্দিষ্ট করতে পারেন। যদি একটি ব্যান্ডের জন্য কোন হস্তক্ষেপ না থাকে, তাহলে সেই ব্যান্ড এন্ট্রির জন্য টেবিল থেকে মানগুলি বাদ দেওয়া হয়। Wi-Fi 2.4 GHz এবং 5 GHz ব্যান্ডের জন্য এই মানগুলির দুটি সেট স্বাধীনভাবে সংজ্ঞায়িত করা যেতে পারে।

প্রতিবেশী হস্তক্ষেপ অ্যালগরিদমের মতো, অ্যালগরিদম হস্তক্ষেপকারী সেল ব্যান্ডের প্রতি সংজ্ঞায়িত একই পাওয়ার ক্যাপ মান পুনরায় ব্যবহার করে।

অ্যালগরিদম প্রতিটি সক্রিয় সেল চ্যানেলের জন্য নিম্নরূপ আচরণ করে:

  1. সেল চ্যানেলের ব্যান্ডের জন্য, এটি একটি লুকআপ টেবিল এন্ট্রি খোঁজার চেষ্টা করে। যদি কোন টেবিল এন্ট্রি পাওয়া না যায়, এই চ্যানেলের জন্য কোন অনিরাপদ চ্যানেল ছাড়াই ফেরত আসে।
  2. পরামিতি সংজ্ঞায়িত করা হলে হারমোনিক্স থেকে অনিরাপদ 2.4 GHz চ্যানেল খুঁজে বের করে।

    1. 2.4 GHz এর জন্য হারমোনিক ডিগ্রী N খুঁজে বের করে।
    2. এন এবং সেল আপলিংকের উপর ভিত্তি করে হারমোনিক উচ্চ ফ্রিকোয়েন্সি এবং হারমোনিক কম ফ্রিকোয়েন্সি গণনা করে।
    3. প্রথম 20 মেগাহার্টজ ওয়াই-ফাই চ্যানেলটি খুঁজে বের করে যা নীচে থেকে আসা হারমোনিকের নীচের সীমানার মধ্যে রয়েছে।
    4. Wi-Fi চ্যানেলে হারমোনিকের ওভারল্যাপ গণনা করে এবং ওভারল্যাপ 2.4 GHz Wi-Fi ওভারল্যাপ থ্রেশহোল্ড অতিক্রম করলে চ্যানেলটিকে অনিরাপদ হিসাবে চিহ্নিত করে৷
    5. প্রথম 20 মেগাহার্টজ ওয়াই-ফাই চ্যানেলটি খুঁজে পায় যা উপরে থেকে আসা হারমোনিকের উপরের সীমানার মধ্যে রয়েছে।
    6. Wi-Fi চ্যানেলে হারমোনিকের ওভারল্যাপ গণনা করে এবং ওভারল্যাপ 2.4 GHz Wi-Fi ওভারল্যাপ থ্রেশহোল্ড অতিক্রম করলে চ্যানেলটিকে অনিরাপদ হিসাবে চিহ্নিত করে৷
    7. প্রতিটি 20 মেগাহার্টজ চ্যানেলকে একটি অনিরাপদ চ্যানেল হিসেবে চিহ্নিত করে।
  3. হারমোনিক্স থেকে অনিরাপদ 5 GHz চ্যানেল খুঁজে বের করে যদি প্যারামিটার সংজ্ঞায়িত করা হয়।

    1. 5 GHz এর জন্য হারমোনিক ডিগ্রী N খুঁজে বের করে। যদি N 0 হয়, ধাপ 5 এ চলে যান।
    2. এন এবং সেল আপলিংকের উপর ভিত্তি করে হারমোনিক উচ্চ ফ্রিকোয়েন্সি এবং হারমোনিক কম ফ্রিকোয়েন্সি গণনা করে।
    3. অনিরাপদ 20 Mhz চ্যানেল খুঁজে বের করে।

      1. প্রথম 20 মেগাহার্টজ ওয়াই-ফাই চ্যানেলটি খুঁজে বের করে যা নীচে থেকে আসা হারমোনিকের নীচের সীমানার মধ্যে রয়েছে।
      2. Wi-Fi চ্যানেলে হারমোনিকের ওভারল্যাপ গণনা করে এবং ওভারল্যাপ 2.4 GHz Wi-Fi ওভারল্যাপ থ্রেশহোল্ড অতিক্রম করলে চ্যানেলটিকে অনিরাপদ হিসাবে চিহ্নিত করে৷
      3. প্রথম 20 মেগাহার্টজ ওয়াই-ফাই চ্যানেলটি খুঁজে পায় যা উপরে থেকে আসা হারমোনিকের উপরের সীমানার মধ্যে রয়েছে।
      4. Wi-Fi চ্যানেলে হারমোনিকের ওভারল্যাপ গণনা করে এবং ওভারল্যাপ 2.4 GHz Wi-Fi ওভারল্যাপ থ্রেশহোল্ড অতিক্রম করলে চ্যানেলটিকে অনিরাপদ হিসাবে চিহ্নিত করে৷
      5. নির্দিষ্ট পাওয়ার ক্যাপ সহ প্রতিটি 20 MHz চ্যানেলকে একটি অনিরাপদ চ্যানেল হিসাবে চিহ্নিত করে।
    4. অনিরাপদ 40 MHz, 80 MHz, 160 MHz চ্যানেল খুঁজে পায়

      1. ধাপ 3a পুনরাবৃত্তি করে কিন্তু 40 MHz, 80 MHz, 160 MHz সহ।
      2. হারমোনিক প্রান্তে চ্যানেলগুলির ওভারল্যাপগুলি গণনা করার পরিবর্তে, ছোট উপাদান চ্যানেলগুলি থেকে গণনা করা ওভারল্যাপগুলি পুনরায় ব্যবহার করে (উদাহরণস্বরূপ, যদি দুটি 20 মেগাহার্টজ চ্যানেল একটি 40 মেগাহার্টজ চ্যানেল তৈরি করে এবং 30% এবং 90% ওভারল্যাপ থাকে, তাহলে গড় 60% 40 Mhz চ্যানেলের জন্য % ওভারল্যাপ)।
  4. পরামিতি সংজ্ঞায়িত করা হলে ইন্টারমডুলেশন থেকে অনিরাপদ 2.4 GHz চ্যানেল খুঁজে বের করে।

    1. 2.4 GHz এর জন্য ইন্টারমডুলেশন সহগ N, M খুঁজে বের করে।
    2. প্রতিটি 2.4 GHz Wi-Fi চ্যানেলের জন্য:

      1. N, M, সেল আপলিংক, এবং Wi-Fi চ্যানেলের উপর ভিত্তি করে ইন্টারমডুলেশন লো ফ্রিকোয়েন্সি এবং ইন্টারমডুলেশন হাই ফ্রিকোয়েন্সি গণনা করে।
      2. সেল ডাউনলিংকের উপর ইন্টারমডুলেশনের ওভারল্যাপ গণনা করে এবং ওভারল্যাপ 2.4 GHz সেল ওভারল্যাপ থ্রেশহোল্ড অতিক্রম করলে চ্যানেলটিকে অনিরাপদ হিসাবে চিহ্নিত করে৷
  5. পরামিতি সংজ্ঞায়িত করা হলে ইন্টারমডুলেশন থেকে অনিরাপদ 5 GHz চ্যানেল খুঁজে বের করে।

    1. 5 GHz Wi-Fi চ্যানেল এবং 5 GHz সেল ওভারল্যাপ থ্রেশহোল্ড ব্যবহার করে ধাপ 4 পুনরাবৃত্তি করে৷
  6. গণনা করা অনিরাপদ চ্যানেলগুলিতে টেবিল এন্ট্রির পাওয়ার ক্যাপ প্রয়োগ করে।

চূড়ান্ত ফলাফল

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

অ্যালগরিদম নিম্নলিখিত হিসাবে আচরণ করে:

  1. যদি প্রতিটি 2.4 GHz Wi-Fi চ্যানেল একটি অনিরাপদ চ্যানেল হিসাবে চিহ্নিত করা হয়, সেট থেকে ডিফল্ট 2.4 GHz Wi-Fi চ্যানেল সরিয়ে দেয়।
  2. যদি প্রতি 5 GHz Wi-Fi চ্যানেল একটি অনিরাপদ চ্যানেল হিসাবে চিহ্নিত করা হয়, সেট থেকে ডিফল্ট 5 GHz Wi-Fi চ্যানেল সরিয়ে দেয়।
  3. অনিরাপদ চ্যানেলের চূড়ান্ত সেট ফেরত দেয়।

টেবিল বিন্যাস দেখুন

লুকআপ টেবিলগুলি ওভারলেয়েবল কনফিগারেশন স্ট্রিং config_wifiCoexTableFilepath এ অবস্থিত একটি XML ফাইলে উপস্থাপন করা হয় এবং নিম্নলিখিত XSD দ্বারা সংজ্ঞায়িত করা হয়।


<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            version="1.0">

  <xsd:element name="table">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="entry" minOccurs="1" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="entry">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="rat" type="ratType"/>
        <xsd:element name="band" type="xsd:int"/>
        <xsd:element name="powerCapDbm" type="xsd:int" minOccurs="0"/>
        <xsd:choice>
          <xsd:element ref="params"/>
          <xsd:element ref="override"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:simpleType name="ratType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="LTE"/>
      <xsd:enumeration value="NR"/>
    </xsd:restriction>
  </xsd:simpleType>

  <!-- Define coex algorithm parameters -->
  <xsd:element name="params">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="neighborThresholds" minOccurs="0"/>
        <xsd:element name="harmonicParams2g" type="harmonicParams" minOccurs="0"/>
        <xsd:element name="harmonicParams5g" type="harmonicParams" minOccurs="0"/>
        <xsd:element name="intermodParams2g" type="intermodParams" minOccurs="0"/>
        <xsd:element name="intermodParams5g" type="intermodParams" minOccurs="0"/>
        <xsd:element ref="defaultChannels" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="neighborThresholds">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="wifiVictimMhz" type="xsd:int" minOccurs="0"/>
        <xsd:element name="cellVictimMhz" type="xsd:int" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="harmonicParams">
    <xsd:sequence>
      <xsd:element name="N" type="xsd:int"/>
      <xsd:element name="overlap" type="xsd:int"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="intermodParams">
    <xsd:sequence>
      <xsd:element name="N" type="xsd:int"/>
      <xsd:element name="M" type="xsd:int"/>
      <xsd:element name="overlap" type="xsd:int"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="defaultChannels">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="default2g" type="xsd:int" minOccurs="0"/>
        <xsd:element name="default5g" type="xsd:int" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!-- Define algorithm override lists -->
  <xsd:element name="override">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="override2g" minOccurs="0"/>
        <xsd:element ref="override5g" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="override2g">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="category" type="overrideCategory2g" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="channel" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="override5g">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="category" type="overrideCategory5g" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="channel" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:simpleType name="overrideCategory2g">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="all"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="overrideCategory5g">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="all"/>
      <xsd:enumeration value="20Mhz"/>
      <xsd:enumeration value="40Mhz"/>
      <xsd:enumeration value="80Mhz"/>
      <xsd:enumeration value="160Mhz"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>

এক্সএমএল টেবিলের উদাহরণ

নিম্নলিখিত একটি উদাহরণ XML লুকআপ টেবিল:


<table>
  <!-- Entry using algorithm parameters -->
  <entry>
    <rat>LTE</rat>
    <band>40</band>
    <powerCapDbm>50</powerCapDbm>
    <params>
      <neighborThresholds>
        <wifiVictimMhz>25</wifiVictimMhz>
        <cellVictimMhz>40</cellVictimMhz>
      </neighborThresholds>

      <harmonicParams2g>
        <N>3</N>
        <overlap>50</overlap>
      </harmonicParams2g>

      <harmonicParams5g>
        <N>3</N>
        <overlap>50</overlap>
      </harmonicParams5g>

      <intermodParams2g>
        <N>-2</N>
        <M>1</M>
        <overlap>75</overlap>
      </intermodParams2g>

      <intermodParams5g>
        <N>-2</N>
        <M>1</M>
        <overlap>75</overlap>
      </intermodParams5g>

      <defaultChannels>
        <default2g>6</default2g>
        <default5g>36</default5g>
      </defaultChannels>
    </params>
  </entry>
  <!-- Entry using the override list -->
  <entry>
    <rat>LTE</rat>
    <band>41</band>
    <powerCapDbm>50</powerCapDbm>
    <override>
      <override2g>
        <channel>6</channel>
        <channel>11</channel>
        ...
      </override2g>
      <override5g>
        <category>40Mhz</category>
        <channel>34</channel>
        ...
      </override5g>
    </override>
  </entry>
</table>

বাহক সমষ্টি

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

অ্যালগরিদম PCELL, PSCELL, বা SCELL এর মধ্যে কোন পার্থক্য করে না এবং তাদের সমান হিসাবে বিবেচনা করে।

লাইসেন্স সহকারী অ্যাক্সেস

লাইসেন্স অ্যাসিস্টেড অ্যাক্সেস (LAA) ব্যান্ড #46 হিসাবে চিহ্নিত। অ্যালগরিদম এই ব্যান্ডটিকে অন্যান্য ব্যান্ডের মতই বিবেচনা করে। এই ক্ষেত্রে, পূর্ণ 5 গিগাহার্টজ চ্যানেলগুলি একটি ওভাররাইড তালিকা হিসাবে সন্ধান টেবিলে সেট করা যেতে পারে।

ক্যারিয়ারের প্রয়োজনীয়তার উপর নির্ভর করে, চ্যানেল পরিহার অ্যালগরিদম সম্পূর্ণ 5 GHz Wi-Fi ব্যান্ডের জন্য SoftAP এবং Wi-Fi Direct (P2P) এর উপর বাধ্যতামূলক সীমাবদ্ধতা সেট করে। এই ব্যবহারের ক্ষেত্রে অ্যালগরিদম পরিচালনা করার জন্য, ক্যারিয়ার কনফিগার মান restrict_5g_softap_wifi_direct_for_laa সংজ্ঞায়িত করা আবশ্যক। যদি সেল চ্যানেলটি LAA-তে থাকে এবং restrict_5g_softap_wifi_direct_for_laa true হয়, তাহলে অ্যালগরিদম সম্পূর্ণ 5 Ghz ব্যান্ড সহ অনিরাপদ চ্যানেলের সেট ফিরিয়ে দেয় এবং SoftAP এবং Wi-Fi Direct (P2P) এর জন্য বাধ্যতামূলক সীমাবদ্ধতা ফ্ল্যাগ সেট করে।

ওয়াই-ফাই পরিষেবাকে জানান

coex চ্যানেল অ্যালগরিদম অনিরাপদ চ্যানেলগুলি গণনা করার পরে, আপনার সিস্টেম অ্যাপগুলিকে অনিরাপদ চ্যানেলগুলি এবং তাদের সীমাবদ্ধতাগুলি প্রদান করতে, Android ফ্রেমওয়ার্কে সংজ্ঞায়িত নিম্নলিখিত @SystemApi ডেটা কাঠামো ব্যবহার করুন৷

public final class CoexUnsafeChannel {
  public static final int POWER_CAP_NONE
  public @WifiAnnotations.WifiBandBasic int getBand();
  public int getChannel();
  // Returns the specified power cap in dBm, or POWER_CAP_NONE if not specified.
  public int getPowerCapDbm();
}

নিম্নলিখিত WifiManager @SystemApi পদ্ধতিগুলি ব্যবহার করুন এবং অনিরাপদ চ্যানেলগুলি পরিবর্তন হলে অ্যাপগুলিকে আপডেট মান পেতে সক্ষম করতে কলব্যাক করুন৷

public static final int COEX_RESTRICTION_WIFI_DIRECT;
public static final int COEX_RESTRICTION_SOFTAP;
public static final int COEX_RESTRICTION_WIFI_AWARE;

// Register a CoexCallback to listen on onCoexUnsafeChannelsChanged callbacks. The callback will be called whenever the unsafe channels change, as well as immediately after registering to get the current values.
public void registerCoexCallback(Executor executor, CoexCallback callback);
public void unregisterCoexCallback(CoexCallback callback);

public abstract static class CoexCallback {
  //Gets called whenever getCoexUnsafeChannels()/getCoexRestrictions() have updated values
  public void onCoexUnsafeChannelsChanged(List<CoexUnsafeChannels> unsafeChannels, int restrictions);
}

Wi-Fi ক্রিয়া সম্পাদন করুন

যখন Wi-Fi পরিষেবাটি অনিরাপদ চ্যানেলগুলির সেট সম্পর্কে তথ্য পায়, তখন সেই চ্যানেলগুলি এড়ানো হয় কিনা তা নিশ্চিত করার জন্য এটি যথাযথ পদক্ষেপ করে৷ এই বিভাগটি বিভিন্ন পরিস্থিতিতে Wi-Fi পরিষেবার আচরণ বর্ণনা করে৷

ড্রাইভারকে জানান

যেহেতু চ্যানেল এড়ানোর ক্ষেত্রে ড্রাইভারের একটি প্রধান ভূমিকা রয়েছে, তাই ড্রাইভার এবং ফার্মওয়্যারের কাছে অনিরাপদ চ্যানেলগুলিকে বোঝানো অপরিহার্য। এটি করতে, নিম্নলিখিত IWifiChip HAL API ব্যবহার করুন।

AIDL এর জন্য:

void setCoexUnsafeChannels(in CoexUnsafeChannel[] unsafeChannels,
  in int restrictions)

HIDL (1.5 বা উচ্চতর):

setCoexUnsafeChannels(vec<CoexUnsafeChannel> unsafeChannels,
  bitfield<IfaceType> restrictions);

সফটএপি

SoftAP অনিরাপদ চ্যানেল এড়ানোর জন্য প্রধান ব্যবহারের ক্ষেত্রে। নিম্নলিখিত বিভাগটি মূল SoftAp পরিস্থিতির রূপরেখা দেয় যেখানে ACS এর সাথে চ্যানেল এড়ানোর প্রয়োগ করা যেতে পারে। দৃশ্যাবলী চ্যানেল পরিহার অ্যালগরিদম এবং ড্রাইভার বা ফার্মওয়্যারের আচরণ বর্ণনা করে।

ACS সক্ষম করে SoftAP শুরু করুন (কোন SoftAP এখনও চালু হয়নি)

  1. যদি চ্যানেলগুলি অনিরাপদ হয় এবং একটি SoftAP সীমাবদ্ধতা থাকে

    1. ফ্রেমওয়ার্ক ACS তালিকা থেকে অনিরাপদ চ্যানেলগুলিকে সরিয়ে দেয়।
    2. তালিকাটি খালি থাকলে, ফ্রেমওয়ার্ক SoftAP বন্ধ করে দেয়।
  2. যদি চ্যানেলগুলি অনিরাপদ হয় এবং কোন বিধিনিষেধ নেই

    1. বিক্রেতা ড্রাইভার বা ফার্মওয়্যার অনিরাপদ চ্যানেলগুলির চেয়ে নিরাপদ চ্যানেলগুলিকে অগ্রাধিকার দেয়৷

SoftAP ACS সক্ষম এবং অনিরাপদ চ্যানেল আপডেট করা হয়েছে

  1. যদি SoftAP চ্যানেল অনিরাপদ হয় এবং একটি SoftAP সীমাবদ্ধতা থাকে

    1. ফ্রেমওয়ার্ক অনিরাপদ চ্যানেলগুলি সরিয়ে ACS তালিকা আপডেট করে।
    2. তালিকাটি খালি থাকলে, ফ্রেমওয়ার্ক SoftAP বন্ধ করে দেয়।
  2. যদি SoftAP চ্যানেল অনিরাপদ হয় এবং কোন বিধিনিষেধ নেই

    1. কাঠামো দ্বারা কোন ব্যবস্থা নেওয়া হয় না। বিক্রেতা ড্রাইভার বা ফার্মওয়্যার অনিরাপদ চ্যানেলগুলি এড়াতে বা এড়ানো সম্ভব না হলে পাওয়ার ক্যাপ প্রয়োগ করে।

Wi-Fi ডাইরেক্ট (P2P)

  1. যদি Wi-Fi ডাইরেক্ট (P2P) সীমাবদ্ধতা সহ অনিরাপদ চ্যানেল থাকে।

    1. ফ্রেমওয়ার্ক wpa_supplicant HAL পদ্ধতি ISupplicantP2pIface::setDisallowedFrequencies() ব্যবহার করে অনিরাপদ চ্যানেলগুলি এড়াতে অনুরোধ করে।
  2. যদি সীমাবদ্ধতা ছাড়াই অনিরাপদ চ্যানেল থাকে।

    1. Wi-Fi ডাইরেক্ট (P2P) সীমাবদ্ধতা ছাড়া একটি অনিরাপদ চ্যানেল ব্যবহার করা হলে বিক্রেতা ড্রাইভার বা ফার্মওয়্যার পাওয়ার ক্যাপ প্রয়োগ করে।

Wi-Fi সচেতন (NAN)

ফ্রেমওয়ার্কটি Wi-Fi Aware (NAN) এর জন্য চ্যানেল নির্বাচনের সাথে জড়িত নয় এবং ফ্রেমওয়ার্কের কোনো ব্যবস্থা নেওয়া হয় না। বিক্রেতা ড্রাইভার বা ফার্মওয়্যার Wi-Fi সচেতন (NAN) চ্যানেল এড়ানোর জন্য দায়ী৷

অ্যালগরিদম অক্ষম করুন

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

public void setCoexUnsafeChannels(Set<CoexUnsafeChannel> coexUnsafeChannels,
  int coexRestrictions);

বাস্তবায়ন যাচাই করুন

আপনার Wi-Fi/সেলুলার কোএক্স চ্যানেল পরিহার বৈশিষ্ট্যের বাস্তবায়ন যাচাই করতে, নিম্নলিখিত পরীক্ষাগুলি ব্যবহার করুন৷

CTS পরীক্ষা

  • WifiManagerTest.java

    • testCoexMethodsShouldFailNoPermission()
    • testListenOnCoexUnsafeChannels()

ACTS পরীক্ষা

  • WifiManagerTest.py

    • test_set_get_coex_unsafe_channels()

ভিটিএস পরীক্ষা

  • যদি AIDL প্রয়োগ করা হয়: wifi_chip_aidl_test.cpp

    • TEST_P(WifiChipAidlTest, SetCoexUnsafeChannels)
  • যদি HIDL প্রয়োগ করা হয়: wifi_chip_hidl_test.cpp

    • TEST_P(WifiChipHidlTest, setCoexUnsafeChannels)