वाई-फ़ाई

इस पेज पर, Cuttlefish डिवाइस पर वाई-फ़ाई को कंट्रोल करने का तरीका बताया गया है.

Wmediumd का इस्तेमाल करना

Cuttlefish में वाई-फ़ाई की सुविधा के लिए, Wmediumd का इस्तेमाल किया जाता है. यह एक सिम्युलेशन टूल है. इसका इस्तेमाल वायरलेस मीडियम को सिम्युलेट करने के लिए किया जाता है. Wmediumd, दो Cuttlefish इंस्टेंस या Cuttlefish इंस्टेंस और OpenWRT इंस्टेंस के बीच वाई-फ़ाई पैकेट की डिलीवरी को मैनेज करता है. Cuttlefish के लिए Wmedium को /platform/external/wmediumd/ में लागू किया गया है.

Wmediumd इंटरफ़ेस को कंट्रोल करने के लिए, WmediumdService (Android 14 या इसके बाद के वर्शन) या wmedium_control (Android 13 या इससे पहले के वर्शन) टूल का इस्तेमाल करें.

WmediumdService

Android 14 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, Wmedium टूल को कंट्रोल करने के लिए WmediumdService का इस्तेमाल करें. REST API या कमांड लाइन इंटरफ़ेस (सीएलआई) का इस्तेमाल करके, इस सेवा को कंट्रोल करने के तरीके के बारे में जानने के लिए, Cuttlefish: एनवायरमेंट कंट्रोल लेख पढ़ें.

यहां दी गई टेबल में, WmediumdService में मौजूद तरीकों के बारे में बताया गया है. तरीकों के बारे में ज़्यादा जानकारी के लिए, wmediumd.proto देखें.

माटिंग में इस्तेमाल हुए तरीके ब्यौरा
ListStations Wmediumd से जुड़े सभी स्टेशनों की सूची बनाएं.
LoadConfig इस विकल्प का इस्तेमाल करके, दी गई फ़ाइल के साथ Wmediumd कॉन्फ़िगरेशन लोड किया जाता है.
ReloadConfig पहले से लोड की गई Wmediumd कॉन्फ़िगरेशन फ़ाइल को फिर से लोड करें.
SetCivicloc किसी स्टेशन की नागरिक जगह (उदाहरण के लिए, पोस्टल पता) सेट करें.
SetLci किसी स्टेशन का एलसीआई (अक्षांश, देशांतर, ऊंचाई) सेट करें.
SetPosition स्टेशन की पोज़िशन को दो डाइमेंशन वाले स्पेस में सेट करें.
SetSnr दो स्टेशनों के बीच सिग्नल-टू-नॉइज़ रेशियो (एसएनआर) की वैल्यू (0-255) सेट करें.
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 किसी स्टेशन का एलसीआई (अक्षांश, देशांतर, ऊंचाई) सेट करें.
set_position MAC_ADDR X_POSITION Y_POSITION स्टेशन की पोज़िशन को दो डाइमेंशन वाले स्पेस में सेट करता है.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE दो स्टेशनों के बीच सिग्नल-टू-नॉइज़ रेशियो (एसएनआर) की वैल्यू (0-255) सेट करें.
start_pcap PCAP_FILE_PATH एयरवेव के ज़रिए ट्रांसमिट किए गए सभी फ़्रेम कैप्चर करना शुरू करें और उन्हें .pcap फ़ाइल में सेव करें.
stop_pcap मौजूदा पैकेट कैप्चर को रोकें और पूरा करें.

OpenWRT का इस्तेमाल करना

Cuttlefish में वाई-फ़ाई की सुविधा, वाई-फ़ाई ऐक्सेस पॉइंट (एपी) को वर्चुअलाइज़ करने के लिए OpenWRT का इस्तेमाल करने की सुविधा देती है. Cuttlefish के लिए OpenWRT को platform/external/openwrt-prebuilts/ पर लागू किया गया है.

OpenWRT से कनेक्ट करने के लिए, यहां दी गई टेबल में मौजूद जानकारी का इस्तेमाल करें. Cuttlefish लॉन्च करते समय, कोई विकल्प न जोड़ने पर डिवाइस आईडी cvd-1 होता है. साथ ही, OpenWRT WAN का आईपी पता 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

OpenwrtControlService

Android 14 या इसके बाद के वर्शन वाले डिवाइसों पर, वर्चुअलाइज़ किए गए वाई-फ़ाई एपी को कंट्रोल और कॉन्फ़िगर करने के लिए, OpenwrtControlService सेवा का इस्तेमाल करें. REST API या CLI का इस्तेमाल करके, इस सेवा को कंट्रोल करने के तरीके के बारे में जानने के लिए, Cuttlefish: एनवायरमेंट कंट्रोल लेख पढ़ें.

यहां दी गई टेबल में, OpenwrtControlService में मौजूद तरीकों के बारे में बताया गया है. तरीकों के बारे में ज़्यादा जानकारी के लिए, openwrt_control.proto देखें.

माटिंग में इस्तेमाल हुए तरीके ब्यौरा
LuciRpc OpenWRT में Luci वेब इंटरफ़ेस को RPC कॉल भेजें.
OpenwrtIpAddr OpenWRT WAN का आईपी पता पाएं. इस पते का इस्तेमाल करके, OpenWRT इंस्टेंस को SSH या वेब इंटरफ़ेस के ज़रिए कनेक्ट करें.