وای فای

در این صفحه نحوه کنترل Wi-Fi در دستگاه Cuttlefish توضیح داده شده است.

از Wmediumd استفاده کنید

ویژگی Wi-Fi Cuttlefish از Wmediumd، یک ابزار شبیه سازی، برای شبیه سازی رسانه بی سیم استفاده می کند. Wmediumd تحویل بسته های Wi-Fi را بین دو نمونه Cuttlefish یا بین یک نمونه Cuttlefish و یک نمونه OpenWRT مدیریت می کند. Wmedium for Cuttlefish در /platform/external/wmediumd/ پیاده سازی شده است.

برای کنترل رابط Wmediumd، از ابزار WmediumdService (اندروید 14 یا بالاتر) یا wmedium_control (اندروید 13 یا پایین تر) استفاده کنید.

WmediumdService

برای دستگاه‌هایی که اندروید 14 یا بالاتر دارند، از WmediumdService برای کنترل ابزار Wmedium استفاده کنید. برای جزئیات در مورد نحوه کنترل این سرویس با استفاده از REST API یا رابط خط فرمان (CLI)، به Cuttlefish: Environment Control مراجعه کنید.

جدول زیر روش های موجود در WmediumdService را فهرست می کند. برای اطلاعات دقیق در مورد روش ها، به wmediumd.proto مراجعه کنید.

روش ها توضیحات
ListStations لیست تمام ایستگاه های متصل به Wmediumd.
LoadConfig پیکربندی Wmediumd را با یک فایل مشخص بارگیری کنید.
ReloadConfig فایل پیکربندی Wmediumd بارگیری شده در حال حاضر را دوباره بارگیری کنید.
SetCivicloc مکان مدنی (به عنوان مثال، آدرس پستی) ایستگاه خاص را تنظیم کنید.
SetLci LCI (طول، طول و عرض جغرافیایی، ارتفاع) ایستگاه خاص را تنظیم کنید.
SetPosition تنظیم موقعیت ایستگاه در فضای دو بعدی.
SetSnr مقدار نسبت سیگنال به نویز (SNR) (0-255) را بین دو ایستگاه تنظیم کنید.
SetTxpower تنظیم توان انتقال (قدرت TX) ایستگاه خاص.
StartPcap شروع به گرفتن تمام فریم های ارسال شده به هوا کنید و آن را در یک فایل .pcap . ذخیره کنید.
StopPcap ضبط بسته فعلی را متوقف و نهایی کنید.

wmediumd_control

برای دستگاه‌هایی که اندروید 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 استفاده کنید

ویژگی Cuttlefish Wi-Fi از OpenWRT برای مجازی سازی نقاط دسترسی Wi-Fi (APs) پشتیبانی می کند. اجرای 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 یا بالاتر، برای کنترل و پیکربندی APهای Wi-Fi مجازی شده، از سرویس OpenwrtControlService استفاده کنید. برای جزئیات در مورد نحوه کنترل این سرویس با استفاده از REST API یا CLI، به Cuttlefish: Environment Control مراجعه کنید.

جدول زیر متدهای موجود در OpenwrtControlService را فهرست می کند. برای اطلاعات دقیق در مورد روش ها، به openwrt_control.proto مراجعه کنید.

روش ها توضیحات
LuciRpc تماس RPC را به رابط وب Luci در OpenWRT ارسال کنید.
OpenwrtIpAddr آدرس IP OpenWRT WAN را دریافت کنید. از این آدرس برای اتصال یک نمونه OpenWRT از طریق SSH یا یک رابط وب استفاده کنید.