หน้านี้จะอธิบายวิธีควบคุม 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 หรืออินเทอร์เฟซเว็บ |