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) ของสถานีที่ต้องการ
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 หรืออินเทอร์เฟซเว็บ