Wi-Fi

Trang này mô tả cách điều khiển Wi-Fi trên thiết bị Cuttlefish.

Sử dụng Wmediumd

Tính năng Wi-Fi của Cuttlefish sử dụng Wmediumd (một công cụ mô phỏng) để mô phỏng phương tiện không dây. Wmediumd quản lý việc phân phối các gói Wi-Fi giữa hai phiên bản Cuttlefish hoặc giữa một phiên bản Cuttlefish và một phiên bản OpenWRT. Wmedium cho Cuttlefish được triển khai trong /platform/external/wmediumd/.

Để kiểm soát giao diện Wmediumd, hãy sử dụng công cụ WmediumdService (Android 14 trở lên) hoặc wmedium_control (Android 13 trở xuống).

WmediumdService

Đối với các thiết bị chạy Android 14 trở lên, hãy dùng WmediumdService để điều khiển công cụ Wmedium. Để biết thông tin chi tiết về cách kiểm soát dịch vụ này bằng API REST hoặc giao diện dòng lệnh (CLI), hãy xem phần Cuttlefish: Kiểm soát môi trường.

Bảng sau đây liệt kê các phương thức trong WmediumdService. Để biết thông tin chi tiết về các phương thức, hãy xem wmediumd.proto.

Phương thức Mô tả
ListStations Liệt kê tất cả các trạm được gắn vào Wmediumd.
LoadConfig Tải cấu hình Wmediumd bằng một tệp nhất định.
ReloadConfig Tải lại tệp cấu hình Wmediumd hiện đang được tải.
SetCivicloc Đặt vị trí dân sự (ví dụ: địa chỉ bưu chính) của trạm sạc cụ thể.
SetLci Đặt LCI (vĩ độ, kinh độ, độ cao) của trạm cụ thể.
SetPosition Đặt vị trí của trạm trong không gian hai chiều.
SetSnr Đặt giá trị tỷ số tín hiệu trên nhiễu (SNR) (0-255) giữa hai trạm.
SetTxpower Đặt công suất truyền (TX power) của trạm cụ thể.
StartPcap Bắt đầu ghi lại tất cả các khung hình được truyền qua sóng và lưu trữ vào một tệp .pcap.
StopPcap Dừng và hoàn tất quá trình thu thập gói dữ liệu hiện tại.

wmediumd_control

Đối với các thiết bị chạy Android 13 trở xuống, hãy dùng công cụ wmediumd_control để kiểm soát phương tiện không dây trong các thiết bị Cuttlefish. Bảng sau đây liệt kê các lệnh con trong wmediumd_control.

Lệnh con Mô tả
list_stations Liệt kê tất cả các trạm được gắn vào Wmediumd.
reload_config [CONFIG_FILE_PATH] Tải lại cấu hình Wmediumd bằng CONFIG_FILE_PATH . Nếu bạn bỏ qua CONFIG_FILE_PATH, hãy tải lại tệp cấu hình hiện đang được tải.
set_civicloc MAC_ADDR CIVICLOC Đặt vị trí dân sự (ví dụ: địa chỉ bưu chính) của trạm sạc cụ thể.
set_lci MAC_ADDR LCI Đặt LCI (vĩ độ, kinh độ, độ cao) của trạm cụ thể.
set_position MAC_ADDR X_POSITION Y_POSITION Đặt vị trí của trạm trong không gian hai chiều.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Đặt giá trị tỷ số tín hiệu trên nhiễu (SNR) (0-255) giữa hai trạm.
start_pcap PCAP_FILE_PATH Bắt đầu ghi lại tất cả các khung hình được truyền qua sóng và lưu trữ vào tệp .pcap.
stop_pcap Dừng và hoàn tất quá trình thu thập gói dữ liệu hiện tại.

Sử dụng OpenWRT

Tính năng Wi-Fi của Cuttlefish hỗ trợ việc sử dụng OpenWRT để ảo hoá các điểm truy cập (AP) Wi-Fi. Việc triển khai OpenWRT cho Cuttlefish nằm ở platform/external/openwrt-prebuilts/.

Để kết nối với OpenWRT, hãy sử dụng thông tin trong bảng sau. Nếu bạn không thêm bất kỳ lựa chọn nào khi khởi chạy Cuttlefish, mã nhận dạng thiết bị sẽ là cvd-1 và địa chỉ IP WAN OpenWRT là 192.168.94.2 hoặc 192.168.96.2.

Loại kết nối Đích đến
SSH root@OPENWRT_WAN_IP_ADDRESS
Trang web https://localhost:1443/devices/DEVICE_ID/openwrt
Trang web (cũ) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

Đối với các thiết bị chạy Android 14 trở lên, để kiểm soát và định cấu hình các AP Wi-Fi ảo hoá, hãy sử dụng dịch vụ OpenwrtControlService. Để biết thông tin chi tiết về cách kiểm soát dịch vụ này bằng REST API hoặc CLI, hãy xem Cuttlefish: Environment Control (Cuttlefish: Kiểm soát môi trường).

Bảng sau đây liệt kê các phương thức trong OpenwrtControlService. Để biết thông tin chi tiết về các phương thức, hãy xem openwrt_control.proto.

Phương thức Mô tả
LuciRpc Gửi lệnh gọi RPC đến giao diện web Luci trong OpenWRT.
OpenwrtIpAddr Lấy địa chỉ IP WAN của OpenWRT. Sử dụng địa chỉ này để kết nối một phiên bản OpenWRT thông qua SSH hoặc giao diện web.