Wi-Fi

בדף הזה מוסבר איך לשלוט ב-Wi-Fi במכשיר Cuttlefish.

שימוש ב-Wmediumd

התכונה Cuttlefish Wi-Fi משתמשת ב-Wmediumd, כלי סימולציה, כדי לדמות את המדיום האלחוטי. ‫Wmediumd מנהל את המסירה של חבילות Wi-Fi בין שני מופעים של Cuttlefish או בין מופע של Cuttlefish לבין מופע של OpenWRT. ההטמעה של Wmedium for Cuttlefish מתבצעת ב-/platform/external/wmediumd/.

כדי לשלוט בממשק Wmediumd, משתמשים בכלי WmediumdService (Android 14 ומעלה) או בכלי wmedium_control (Android 13 ומטה).

WmediumdService

במכשירים עם Android בגרסה 14 ומעלה, משתמשים ב-WmediumdService כדי לשלוט בכלי Wmedium. למידע נוסף על שליטה בשירות הזה באמצעות API בארכיטקטורת REST או ממשק שורת הפקודה (CLI), אפשר לעיין במאמר Cuttlefish: Environment Control.

בטבלה הבאה מפורטות השיטות ב-WmediumdService. מידע מפורט על השיטות זמין במאמר wmediumd.proto.

שיטות תיאור
ListStations מציגים רשימה של כל התחנות שמצורפות ל-Wmediumd.
LoadConfig טוענים את ההגדרות של Wmediumd באמצעות קובץ נתון.
ReloadConfig טעינה מחדש של קובץ ההגדרות של Wmediumd שנטען כרגע.
SetCivicloc הגדרת מיקום אזרחי (לדוגמה, כתובת למשלוח דואר) של התחנה הספציפית.
SetLci הגדרת LCI (קו רוחב, קו אורך, גובה) של התחנה הספציפית.
SetPosition מגדירים את המיקום של התחנה במרחב דו-ממדי.
SetSnr מגדירים את ערך יחס האות לרעש (SNR) (0-255) בין שתי תחנות.
SetTxpower הגדרת עוצמת השידור (TX power) של התחנה הספציפית.
StartPcap מתחילים לתעד את כל המסגרות שמועברות לשידור ושומרים אותן בקובץ .pcap.
StopPcap עצירה וסיום של תיעוד החבילות הנוכחי.

wmediumd_control

במכשירים עם Android מגרסה 13 ומטה, אפשר להשתמש בכלי wmediumd_control כדי לשלוט במדיום האלחוטי במכשירי Cuttlefish. בטבלה הבאה מפורטות פקודות המשנה ב-wmediumd_control.

פקודות משנה תיאור
list_stations מציגים רשימה של כל התחנות שמצורפות ל-Wmediumd.
reload_config [CONFIG_FILE_PATH] טוענים מחדש את ההגדרה של Wmediumd באמצעות CONFIG_FILE_PATH . אם לא מציינים את 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) (0-255) בין שתי תחנות.
start_pcap PCAP_FILE_PATH מתחילים לתעד את כל הפריימים שמועברים לשידור ושומרים אותם בקובץ .pcap.
stop_pcap עצירה וסיום של תיעוד החבילות הנוכחי.

שימוש ב-OpenWRT

תכונת ה-Wi-Fi של Cuttlefish תומכת בשימוש ב-OpenWRT כדי ליצור נקודות גישה (AP) וירטואליות ל-Wi-Fi. ההטמעה של OpenWRT ב-Cuttlefish נמצאת בכתובת platform/external/openwrt-prebuilts/.

כדי להתחבר ל-OpenWRT, משתמשים במידע שבטבלה הבאה. אם לא מוסיפים אפשרויות כשמפעילים את Cuttlefish, מזהה המכשיר הוא cvd-1 וכתובת ה-IP של OpenWRT WAN היא 192.168.94.2 או 192.168.96.2.

סוג החיבור יעד
SSH root@OPENWRT_WAN_IP_ADDRESS
דף אינטרנט https://localhost:1443/devices/DEVICE_ID/openwrt
דף אינטרנט (מהדור הקודם) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

במכשירים עם Android בגרסה 14 ואילך, כדי לשלוט בנקודות גישה וירטואליות ל-Wi-Fi ולהגדיר אותן, צריך להשתמש בשירות OpenwrtControlService. לפרטים על שליטה בשירות הזה באמצעות API בארכיטקטורת REST או CLI, אפשר לעיין במאמר Cuttlefish: Environment Control.

בטבלה הבאה מפורטות השיטות ב-OpenwrtControlService. מידע מפורט על השיטות זמין במאמר openwrt_control.proto.

שיטות תיאור
LuciRpc שליחת קריאת RPC לממשק האינטרנט של Luci ב-OpenWRT.
OpenwrtIpAddr קבלת כתובת IP ברשת תקשורת מרחבית (WAN) של OpenWRT. אפשר להשתמש בכתובת הזו כדי לחבר מכונת OpenWRT באמצעות SSH או ממשק אינטרנט.