Wi-Fi

หน้านี้จะอธิบายวิธีควบคุม Wi-Fi ในอุปกรณ์ Cuttlefish

ใช้ Wmediumd

ฟีเจอร์ Wi-Fi ของ Cuttlefish ใช้ Wmediumd ซึ่งเป็นเครื่องมือจำลอง เพื่อจำลองสื่อไร้สาย Wmediumd จัดการการนำส่งแพ็กเก็ต Wi-Fi ระหว่างอินสแตนซ์ Cuttlefish 2 รายการ หรือระหว่างอินสแตนซ์ Cuttlefish กับ อินสแตนซ์ OpenWRT มีการติดตั้งใช้งาน Wmedium สำหรับ Cuttlefish ใน /platform/external/wmediumd/

หากต้องการควบคุมอินเทอร์เฟซ Wmediumd ให้ใช้เครื่องมือ WmediumdService (Android 14 ขึ้นไป) หรือ wmedium_control (Android 13 ลงไป)

WmediumdService

สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป ให้ใช้ WmediumdService เพื่อควบคุมเครื่องมือ Wmedium ดูรายละเอียดเกี่ยวกับวิธีควบคุม บริการนี้โดยใช้ REST API หรืออินเทอร์เฟซบรรทัดคำสั่ง (CLI) ได้ที่ Cuttlefish: การควบคุมสภาพแวดล้อม

ตารางต่อไปนี้แสดงเมธอดใน WmediumdService ดูข้อมูลโดยละเอียดเกี่ยวกับวิธีการได้ที่ wmediumd.proto

วิธีการ คำอธิบาย
ListStations แสดงสถานีทั้งหมดที่เชื่อมต่อกับ Wmediumd
LoadConfig โหลดการกำหนดค่า Wmediumd ด้วยไฟล์ที่ระบุ
ReloadConfig โหลดไฟล์การกำหนดค่า Wmediumd ที่โหลดอยู่ในปัจจุบันซ้ำ
SetCivicloc ตั้งค่าสถานที่ตั้งทางพลเมือง (เช่น ที่อยู่ทางไปรษณีย์) ของสถานีที่เฉพาะเจาะจง
SetLci ตั้งค่า LCI (ละติจูด ลองจิจูด ระดับความสูง) ของสถานีที่เฉพาะเจาะจง
SetPosition กำหนดตำแหน่งของสถานีในพื้นที่ 2 มิติ
SetSnr ตั้งค่าอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) (0-255) ระหว่างสถานี 2 สถานี
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 กำหนดตำแหน่งของสถานีใน พื้นที่ 2 มิติ
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE ตั้งค่าอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) (0-255) ระหว่างสถานี 2 สถานี
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 ของ WAN ใน OpenWRT จะเป็น 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: การควบคุมสภาพแวดล้อม

ตารางต่อไปนี้แสดงเมธอดใน OpenwrtControlService ดูข้อมูลโดยละเอียดเกี่ยวกับวิธีการได้ที่ openwrt_control.proto

วิธีการ คำอธิบาย
LuciRpc ส่งการเรียก RPC ไปยังอินเทอร์เฟซเว็บ Luci ใน OpenWRT
OpenwrtIpAddr รับที่อยู่ IP ของ WAN สำหรับ OpenWRT ใช้ที่อยู่นี้เพื่อเชื่อมต่ออินสแตนซ์ OpenWRT ผ่าน SSH หรืออินเทอร์เฟซเว็บ