27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
একাধিক ডিভাইসের সংযোগ পরীক্ষা করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
পটভূমি
একাধিক Cuttlefish ভার্চুয়াল ডিভাইস চালানো নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে করা যেতে পারে:
launch_cvd --num_instances=n
আপনি যখন --num_instances
পতাকা ব্যবহার করে দুই বা ততোধিক দৃষ্টান্ত চালাচ্ছেন, দৃষ্টান্তগুলি Wi-Fi এবং ব্লুটুথের জন্য সংযোগের মাধ্যম ভাগ করে নেয়৷ এই সেটিংটি অতিরিক্ত ক্রিয়া ছাড়াই ব্লুটুথ এবং ওয়াই-ফাই এর মাধ্যমে Cuttlefish দৃষ্টান্তগুলিকে আবিষ্কার এবং একে অপরের সাথে সংযোগ করার অনুমতি দেয়।
যাইহোক, যদি আপনি --base_instance_num
পতাকা এবং একাধিক launch_cvd
আমন্ত্রণ ব্যবহার করে একাধিক দৃষ্টান্ত সম্পাদন করছেন, তাহলে Wi-Fi মাধ্যম শেয়ার করার জন্য আপনাকে wmediumd
এর vhost সার্ভার পাথ নির্দিষ্ট করতে হবে এবং AP-এর জন্য একাধিক VM দৃষ্টান্ত চালু করা প্রতিরোধ করতে হবে।
মাল্টি-ডিভাইস লঞ্চের উদাহরণ
নিম্নলিখিত কমান্ডগুলি দেখায় কিভাবে দুটি কাটলফিশ ইন্সট্যান্স চালু করতে হয় যেগুলি launch_cvd
এর সিরিয়াল এক্সিকিউশন ব্যবহার করে Wi-Fi মাধ্যম ভাগ করে।
launch_cvd
launch_cvd --base_instance_num=2 \
--vhost_user_mac80211_hwsim=$HOME/cuttlefish_runtime.1/internal/vhost_user_mac80211 \
--ap_kernel_image="" --ap_rootfs_image="" #Prevent launching multiple VM instances for AP
ব্লুটুথ
Cuttlefish ব্লুটুথ বাস্তবায়ন রুটক্যানাল দ্বারা সমর্থিত এবং ওয়েব UI কমান্ড লাইন কনসোল দ্বারা নিয়ন্ত্রিত করা যেতে পারে।
কনসোলে, বেশ কয়েকটি কমান্ড রয়েছে যা গেস্ট ডিভাইসে ব্লুটুথ নিয়ন্ত্রণের অনুমতি দেয়:
আদেশ | বর্ণনা |
---|
list | বর্তমান ডিভাইস এবং পদার্থের তালিকা করুন |
DEVICE_TYPE [ARGS] add | DEVICE_TYPE ধরনের নতুন ডিভাইস তৈরি করুন |
del DEVICE_INDEX | একটি ডিভাইস মুছুন |
add_phy PHY_TYPE | PHY_TYPE সাথে নতুন ফাই যোগ করুন৷ |
del_phy PHY_INDEX | একটি phy মুছুন |
DEVICE_INDEX PHY_INDEX add_device_to_phy | phy-এ একটি ডিভাইস যোগ করুন |
del_device_from_phy DEVICE_INDEX PHY_INDEX | phy থেকে একটি `ডিভাইস মুছুন |
add_remote HOSTNAME PORT PHY_TYPE | ডিভাইস হিসাবে একটি দূরবর্তী রুটক্যানাল যোগ করুন এবং এটি ফাইতে নিবন্ধন করুন |
ডিভাইসের ধরন এবং args |
---|
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL] |
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH] |
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL] |
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL] |
sniffer |
ওয়াই-ফাই
wmediumd_control
wmediumd_control
হল একটি কমান্ড-লাইন টুল যা Wi-Fi সংযোগের মাধ্যম নিয়ন্ত্রণ করে। Wi-Fi ম্যানিপুলেট করার জন্য টুলটিতে নিম্নলিখিত কমান্ড রয়েছে:
আদেশ | বর্ণনা |
---|
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE | দুটি স্টেশনের মধ্যে SNR মান (0~255) সেট করুন |
start_pcap PCAP_FILE_PATH | বাতাসে প্রেরণ করা সমস্ত ফ্রেম ক্যাপচার করা শুরু করুন এবং এটি .pcap ফাইলে সংরক্ষণ করুন |
stop_pcap | বর্তমান প্যাকেট ক্যাপচার বন্ধ করুন এবং চূড়ান্ত করুন |
list_stations | wmediumd এর সাথে সংযুক্ত সমস্ত স্টেশনের তালিকা করুন |
reload_config [CONFIG_FILE_PATH] | CONFIG_FILE_PATH দিয়ে wmediumd কনফিগারেশন পুনরায় লোড করুন, যদি CONFIG_FILE_PATH বাদ দেওয়া হয়, বর্তমানে লোড করা কনফিগারেশন ফাইলটি পুনরায় লোড করুন |
set_position MAC_ADDR X_POSITION Y_POSITION | দ্বি-মাত্রিক স্থানে স্টেশনের অবস্থান নির্ধারণ করুন |
OpenWRT
আপনি যদি OpenWRT (অ্যাক্সেস পয়েন্ট) এর সাথে সংযোগ করতে চান তবে আপনি ssh
বা অ্যাডমিন ওয়েবপেজ ব্যবহার করতে পারেন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Test connectivity of multiple devices\n\nBackground\n----------\n\nRunning multiple Cuttlefish virtual devices can be done by executing the\nfollowing command: \n\n```\nlaunch_cvd --num_instances=n\n```\n\nWhen you are running two or more instances using `--num_instances` flag,\ninstances share the connectivity medium for Wi-Fi and Bluetooth. This setting\nallows the Cuttlefish instances to discover and connect to each other via\nBluetooth and Wi-Fi without additional action.\n\nHowever, if you are executing multiple instances by using the\n`--base_instance_num` flag and multiple `launch_cvd` invocations, you need\nto specify `wmediumd`'s vhost server path to share Wi-Fi medium, and also\nprevent launching multiple VM instances for AP.\n\nMulti-device launch example\n---------------------------\n\nThe following commands show how to launch two Cuttlefish instances that share\nthe Wi-Fi medium using serial execution of `launch_cvd`. \n\n```\nlaunch_cvd\n``` \n\n```\nlaunch_cvd --base_instance_num=2 \\\n --vhost_user_mac80211_hwsim=$HOME/cuttlefish_runtime.1/internal/vhost_user_mac80211 \\\n --ap_kernel_image=\"\" --ap_rootfs_image=\"\" #Prevent launching multiple VM instances for AP\n```\n\nBluetooth\n---------\n\nThe Cuttlefish bluetooth implementation is supported by rootcanal and can be\ncontrolled with the Web UI command line console.\n\nIn the console, there are several commands that allow for the control of\nbluetooth on the guest device:\n\n| Command | Description |\n|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|\n| `list` | List current devices and phys |\n| `add` \u003cvar translate=\"no\"\u003eDEVICE_TYPE\u003c/var\u003e \u003cvar translate=\"no\"\u003e[ARGS]\u003c/var\u003e | Create new device of type \u003cvar translate=\"no\"\u003eDEVICE_TYPE\u003c/var\u003e |\n| `del` \u003cvar translate=\"no\"\u003eDEVICE_INDEX\u003c/var\u003e | Delete a device |\n| `add_phy` \u003cvar translate=\"no\"\u003ePHY_TYPE\u003c/var\u003e | Add new phy with \u003cvar translate=\"no\"\u003ePHY_TYPE\u003c/var\u003e |\n| `del_phy` \u003cvar translate=\"no\"\u003ePHY_INDEX\u003c/var\u003e | Delete a phy |\n| `add_device_to_phy` \u003cvar translate=\"no\"\u003eDEVICE_INDEX\u003c/var\u003e \u003cvar translate=\"no\"\u003ePHY_INDEX\u003c/var\u003e | Add a device to phy |\n| `del_device_from_phy` \u003cvar translate=\"no\"\u003eDEVICE_INDEX\u003c/var\u003e \u003cvar translate=\"no\"\u003ePHY_INDEX\u003c/var\u003e | Delete a \\`device from phy |\n| `add_remote` \u003cvar translate=\"no\"\u003eHOSTNAME\u003c/var\u003e \u003cvar translate=\"no\"\u003ePORT PHY_TYPE\u003c/var\u003e | Add a remote Rootcanal as device and register it to phy |\n\n| Device type and args |\n|-------------------------------------------------------------------------------------------------------------------------------------------|\n| `beacon` \u003cvar translate=\"no\"\u003e[MAC_ADDRESS]\u003c/var\u003e \u003cvar translate=\"no\"\u003e[ADVERTISE_INTERVAL]\u003c/var\u003e |\n| `scripted_beacon` \u003cvar translate=\"no\"\u003e[MAC_ADDRESS]\u003c/var\u003e \u003cvar translate=\"no\"\u003e[CONFIG_PATH]\u003c/var\u003e \u003cvar translate=\"no\"\u003e[EVENTS_PATH]\u003c/var\u003e |\n| `keyboard` \u003cvar translate=\"no\"\u003e[MAC_ADDRESS]\u003c/var\u003e \u003cvar translate=\"no\"\u003e[ADVERTISE_INTERVAL]\u003c/var\u003e |\n| `loopback` \u003cvar translate=\"no\"\u003e[MAC_ADDRESS]\u003c/var\u003e \u003cvar translate=\"no\"\u003e[ADVERTISE_INTERVAL]\u003c/var\u003e |\n| `sniffer` |\n\nWi-Fi\n-----\n\n### wmediumd_control\n\n`wmediumd_control` is a command-line tool that controls Wi-Fi connectivity\nmedium. The tool has the following commands to manipulate Wi-Fi:\n\n| Command | Description |\n|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `set_snr` \u003cvar translate=\"no\"\u003eMAC_ADDR1\u003c/var\u003e \u003cvar translate=\"no\"\u003eMAC_ADDR2\u003c/var\u003e \u003cvar translate=\"no\"\u003eSNR_VALUE\u003c/var\u003e | Set SNR value (0\\~255) between two stations |\n| `start_pcap` \u003cvar translate=\"no\"\u003ePCAP_FILE_PATH\u003c/var\u003e | Start capturing all frames transmitted to air and stores it to .pcap file |\n| `stop_pcap` | Stop and finalize current packet capture |\n| `list_stations` | List all stations attached to wmediumd |\n| `reload_config` \u003cvar translate=\"no\"\u003e[CONFIG_FILE_PATH]\u003c/var\u003e | Reload wmediumd configuration with \u003cvar translate=\"no\"\u003eCONFIG_FILE_PATH\u003c/var\u003e, if \u003cvar translate=\"no\"\u003eCONFIG_FILE_PATH\u003c/var\u003e is omitted, reload currently loaded config file |\n| `set_position` \u003cvar translate=\"no\"\u003eMAC_ADDR\u003c/var\u003e \u003cvar translate=\"no\"\u003eX_POSITION\u003c/var\u003e \u003cvar translate=\"no\"\u003eY_POSITION\u003c/var\u003e | Set position of the station in two-dimensional space |\n\n### OpenWRT\n\nIf you want to connect to OpenWRT (Access Point), you can use either `ssh` or\nthe admin webpage.\n\n| Connection Type | Method |\n|-----------------|-------------------------------|\n| ssh | ``` ssh root@192.168.96.2 ``` |\n| Admin webpage | \u003chttps://192.168.96.2\u003e |"]]