एक से ज़्यादा डिवाइसों की कनेक्टिविटी की जांच करना

बैकग्राउंड

एक साथ कई Cuttlefish वर्चुअल डिवाइस चलाने के लिए, यह कमांड डालें:

launch_cvd --num_instances=n

जब --num_instances फ़्लैग का इस्तेमाल करके, दो या उससे ज़्यादा इंस्टेंस चलाए जाते हैं, तो इंस्टेंस, वाई-फ़ाई और ब्लूटूथ के लिए कनेक्टिविटी मीडियम शेयर करते हैं. इस सेटिंग की मदद से, Cuttlefish के इंस्टेंस, ब्लूटूथ और वाई-फ़ाई की मदद से एक-दूसरे को ढूंढ सकते हैं और उनसे कनेक्ट हो सकते हैं. इसके लिए, कोई अतिरिक्त कार्रवाई करने की ज़रूरत नहीं होती.

हालांकि, अगर --base_instance_num फ़्लैग और launch_cvd के कई इनवोकेशन का इस्तेमाल करके, कई इंस्टेंस चलाए जा रहे हैं, तो आपको वाई-फ़ाई मीडियम शेयर करने के लिए, wmediumd के vhost सर्वर का पाथ बताना होगा. साथ ही, एपी के लिए कई वीएम इंस्टेंस लॉन्च करने से भी रोकना होगा.

मल्टी-डिवाइस लॉन्च करने का उदाहरण

यहां दिए गए कमांड से पता चलता है कि launch_cvd को क्रम से चलाकर, वाई-फ़ाई मीडियम शेयर करने वाले Cuttlefish के दो इंस्टेंस कैसे लॉन्च किए जाते हैं.

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 के ब्लूटूथ को rootcanal की मदद से लागू किया जाता है. इसे Web UI कमांड लाइन कंसोल से कंट्रोल किया जा सकता है.

कंसोल में कई कमांड होते हैं. इनकी मदद से, मेहमान के तौर पर इस्तेमाल किए जा रहे डिवाइस पर ब्लूटूथ को कंट्रोल किया जा सकता है:

कमांड ब्यौरा
list मौजूदा डिवाइसों और फ़िज़िकल लेयर की सूची बनाना
add DEVICE_TYPE [ARGS] DEVICE_TYPE टाइप का नया डिवाइस बनाना
del DEVICE_INDEX डिवाइस मिटाना
add_phy PHY_TYPE PHY_TYPE के साथ नया फ़िज़िकल लेयर जोड़ना
del_phy PHY_INDEX फ़िज़िकल लेयर मिटाना
add_device_to_phy DEVICE_INDEX PHY_INDEX फ़िज़िकल लेयर में डिवाइस जोड़ना
del_device_from_phy DEVICE_INDEX PHY_INDEX फ़िज़िकल लेयर से `डिवाइस मिटाना
add_remote HOSTNAME PORT PHY_TYPE रिमोट Rootcanal को डिवाइस के तौर पर जोड़ना और उसे फ़िज़िकल लेयर में रजिस्टर करना
डिवाइस का टाइप और आर्ग्युमेंट
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 एक कमांड-लाइन टूल है. इसकी मदद से, वाई-फ़ाई कनेक्टिविटी मीडियम को कंट्रोल किया जाता है. इस टूल में, वाई-फ़ाई को मैनेज करने के लिए ये कमांड होते हैं:

कमांड ब्यौरा
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE दो स्टेशनों के बीच एसएनआर वैल्यू (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 या एडमिन वेबपेज का इस्तेमाल किया जा सकता है.

कनेक्शन टाइप तरीका
ssh
ssh root@192.168.96.2
एडमिन वेबपेज https://192.168.96.2