ওয়াই-ফাই, ওয়াই-ফাই, ওয়াই-ফাই, ওয়াই-ফাই

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে একটি কাটলফিশ ডিভাইসে ওয়াই-ফাই নিয়ন্ত্রণ করতে হয়।

Wmediumd ব্যবহার করুন

Cuttlefish-এর Wi-Fi ফিচারটি ওয়্যারলেস মিডিয়ামকে সিমুলেট করার জন্য Wmediumd নামক একটি সিমুলেশন টুল ব্যবহার করে। Wmediumd দুটি Cuttlefish ইনস্ট্যান্সের মধ্যে অথবা একটি Cuttlefish ইনস্ট্যান্স এবং একটি OpenWRT ইনস্ট্যান্সের মধ্যে Wi-Fi প্যাকেটের ডেলিভারি পরিচালনা করে। Cuttlefish-এর জন্য Wmedium-কে /platform/external/wmediumd/ ইমপ্লিমেন্ট করা হয়েছে।

Wmediumd ইন্টারফেস নিয়ন্ত্রণ করতে, WmediumdService (অ্যান্ড্রয়েড ১৪ বা তার উচ্চতর সংস্করণ) অথবা wmedium_control (অ্যান্ড্রয়েড ১৩ বা তার নিম্নতর সংস্করণ) টুলটি ব্যবহার করুন।

WmediumdService

Android 14 বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলির জন্য, Wmedium টুলটি নিয়ন্ত্রণ করতে WmediumdService ব্যবহার করুন। REST API বা কমান্ড লাইন ইন্টারফেস (CLI) ব্যবহার করে কীভাবে এই পরিষেবাটি নিয়ন্ত্রণ করা যায় সে সম্পর্কে বিস্তারিত জানতে, Cuttlefish: Environment Control দেখুন।

নিচের সারণিতে WmediumdService এর মেথডগুলো তালিকাভুক্ত করা হয়েছে। মেথডগুলো সম্পর্কে বিস্তারিত তথ্যের জন্য wmediumd.proto দেখুন।

পদ্ধতি বর্ণনা
ListStations Wmediumd-এর সাথে সংযুক্ত সমস্ত স্টেশন তালিকাভুক্ত করুন।
LoadConfig প্রদত্ত ফাইলটি ব্যবহার করে Wmediumd কনফিগারেশন লোড করুন।
ReloadConfig বর্তমানে লোড করা Wmediumd কনফিগারেশন ফাইলটি পুনরায় লোড করুন।
SetCivicloc নির্দিষ্ট স্টেশনটির নাগরিক অবস্থান (যেমন, ডাক ঠিকানা) নির্ধারণ করুন।
SetLci নির্দিষ্ট স্টেশনটির LCI (অক্ষাংশ, দ্রাঘিমাংশ, উচ্চতা) নির্ধারণ করুন।
SetPosition দ্বিমাত্রিক স্থানে স্টেশনটির অবস্থান নির্ধারণ করুন।
SetSnr দুটি স্টেশনের মধ্যে সিগন্যাল-টু-নয়েজ রেশিও (SNR) এর মান (০-২৫৫) নির্ধারণ করুন।
SetTxpower নির্দিষ্ট স্টেশনটির ট্রান্সমিট পাওয়ার (TX পাওয়ার) সেট করুন।
StartPcap সম্প্রচারে পাঠানো সমস্ত ফ্রেম ক্যাপচার করা শুরু করুন এবং একটি .pcap ফাইলে সংরক্ষণ করুন।
StopPcap বর্তমান প্যাকেট ক্যাপচার বন্ধ করুন এবং চূড়ান্ত করুন।

wmediumd_control

Android 13 বা তার নিম্ন সংস্করণে চালিত ডিভাইসগুলির জন্য, Cuttlefish ডিভাইসের ওয়্যারলেস মাধ্যম নিয়ন্ত্রণ করতে wmediumd_control টুলটি ব্যবহার করুন। নিচের সারণিতে wmediumd_control এর সাবকমান্ডগুলি তালিকাভুক্ত করা হয়েছে।

উপ-কমান্ড বর্ণনা
list_stations Wmediumd-এর সাথে সংযুক্ত সমস্ত স্টেশন তালিকাভুক্ত করুন।
reload_config [ CONFIG_FILE_PATH ] CONFIG_FILE_PATH ব্যবহার করে Wmediumd কনফিগারেশন পুনরায় লোড করুন। যদি CONFIG_FILE_PATH বাদ দেওয়া হয়, তাহলে বর্তমানে লোড করা কনফিগারেশন ফাইলটি পুনরায় লোড করুন।
set_civicloc MAC_ADDR CIVICLOC নির্দিষ্ট স্টেশনটির নাগরিক অবস্থান (যেমন, ডাক ঠিকানা) নির্ধারণ করুন।
set_lci MAC_ADDR LCI নির্দিষ্ট স্টেশনটির LCI (অক্ষাংশ, দ্রাঘিমাংশ, উচ্চতা) নির্ধারণ করুন।
set_position MAC_ADDR X_POSITION Y_POSITION দ্বিমাত্রিক স্থানে স্টেশনটির অবস্থান নির্ধারণ করুন।
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE দুটি স্টেশনের মধ্যে সিগন্যাল-টু-নয়েজ রেশিও (SNR) এর মান (০-২৫৫) নির্ধারণ করুন।
start_pcap PCAP_FILE_PATH সম্প্রচারে পাঠানো সমস্ত ফ্রেম ক্যাপচার করা শুরু করুন এবং একটি .pcap ফাইলে সংরক্ষণ করুন।
stop_pcap বর্তমান প্যাকেট ক্যাপচার বন্ধ করুন এবং চূড়ান্ত করুন।

OpenWRT ব্যবহার করুন

কাটলফিশের ওয়াই-ফাই ফিচারটি ওয়াই-ফাই অ্যাক্সেস পয়েন্ট (AP) ভার্চুয়ালাইজ করার জন্য OpenWRT ব্যবহার সমর্থন করে। কাটলফিশের জন্য OpenWRT ইমপ্লিমেন্টেশনটি platform/external/openwrt-prebuilts/ -এ রয়েছে।

OpenWRT-এর সাথে সংযোগ করতে, নিচের সারণিতে দেওয়া তথ্য ব্যবহার করুন। Cuttlefish চালু করার সময় যদি আপনি কোনো অপশন যোগ না করেন, তাহলে ডিভাইস আইডি হবে cvd-1 এবং OpenWRT WAN IP অ্যাড্রেস হবে 192.168.94.2 অথবা 192.168.96.2

সংযোগের ধরণ গন্তব্য
এসএসএইচ root@ OPENWRT_WAN_IP_ADDRESS
ওয়েবপেজ https://localhost:1443/devices/ DEVICE_ID /openwrt
ওয়েবপেজ (ঐতিহ্যবাহী) https:// OPENWRT_WAN_IP_ADDRESS

ওপেনডব্লিউআরটি কন্ট্রোল সার্ভিস

Android 14 বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলিতে, ভার্চুয়ালাইজড Wi-Fi AP-গুলি নিয়ন্ত্রণ ও কনফিগার করতে OpenwrtControlService সার্ভিসটি ব্যবহার করুন। REST API বা CLI ব্যবহার করে কীভাবে এই সার্ভিসটি নিয়ন্ত্রণ করা যায়, সে সম্পর্কে বিস্তারিত জানতে Cuttlefish: Environment Control দেখুন।

নিচের সারণিতে OpenwrtControlService এর মেথডগুলো তালিকাভুক্ত করা হয়েছে। মেথডগুলো সম্পর্কে বিস্তারিত তথ্যের জন্য openwrt_control.proto দেখুন।

পদ্ধতি বর্ণনা
LuciRpc OpenWRT-এর Luci ওয়েব ইন্টারফেসে RPC কল পাঠান।
OpenwrtIpAddr OpenWRT-এর WAN IP অ্যাড্রেসটি নিন। SSH বা ওয়েব ইন্টারফেসের মাধ্যমে কোনো OpenWRT ইনস্ট্যান্সে সংযোগ করতে এই অ্যাড্রেসটি ব্যবহার করুন।