Wi-Fi

Trang này mô tả cách kiểm soát 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 môi trường không dây. Wmediumd quản lý việc phân phối 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 sử 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 bài viết 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 đính kèm 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 đang tải.
SetCivicloc Đặt vị trí dân sự (ví dụ: địa chỉ bưu chính) của nhà ga cụ thể.
SetLci Đặt LCI (vĩ độ, kinh độ, độ cao) của đài cụ thể.
SetPosition Đặt vị trí của trạm trong không gian hai chiều.
SetSnr Đặt giá trị tỷ lệ tín hiệu trên tạp âm (SNR) (0-255) giữa hai đài.
SetTxpower Đặt công suất phát (công suất TX) của trạm cụ thể.
StartPcap Bắt đầu chụp tất cả các khung hình được truyền qua không khí và lưu vào tệp .pcap.
StopPcap Dừng và hoàn tất quá trình chụp gói hiện tại.

wmediumd_control

Đối với các thiết bị chạy Android 13 trở xuống, hãy sử 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 đính kèm 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ỏ qua CONFIG_FILE_PATH, hãy tải lại tệp cấu hình đang tải.
set_civicloc MAC_ADDR CIVICLOC Đặt vị trí công cộng (ví dụ: địa chỉ bưu chính) của trạm 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ỷ lệ tín hiệu trên tạp âm (SNR) (0-255) giữa hai trạm.
start_pcap PCAP_FILE_PATH Bắt đầu chụp tất cả các khung hình được truyền qua không khí và lưu vào tệp .pcap.
stop_pcap Dừng và hoàn tất quá trình thu thập gói 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 Wi-Fi (AP). Bạn có thể xem cách triển khai OpenWRT cho Cuttlefish tại 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ỳ tuỳ chọn nào khi khởi chạy Cuttlefish, mã thiết bị sẽ là cvd-1 và địa chỉ IP WAN OpenWRT sẽ 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

Dịch vụ 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 điểm truy cập 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 API REST hoặc CLI, hãy xem bài viết 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 của Luci trong OpenWRT.
OpenwrtIpAddr Lấy địa chỉ IP WAN OpenWRT. Hãy sử dụng địa chỉ này để kết nối một thực thể OpenWRT thông qua SSH hoặc một giao diện web.