Wi-Fi

Na tej stronie dowiesz się, jak sterować siecią Wi-Fi na urządzeniu Cuttlefish.

Korzystanie z Wmediumd

Funkcja Wi-Fi Cuttlefish używa narzędzia symulacyjnego Wmediumd, aby symulować nośnik bezprzewodowy. Wmediumd zarządza dostarczaniem pakietów Wi-Fi między 2 instancji Cuttlefish lub między instancją Cuttlefish a instancją OpenWRT. Wmedium dla Cuttlefish jest zaimplementowane w /platform/external/wmediumd/.

Do sterowania interfejsem Wmediumd służy narzędzie WmediumdService (Android 14 lub nowszy) lub wmedium_control (Android 13 lub starszy).

WmediumdService

Na urządzeniach z Androidem 14 lub nowszym możesz używać klawisza WmediumdService do sterowania narzędziem Wmedium. Szczegółowe informacje o tym, jak sterować tą usługą za pomocą interfejsu API REST lub interfejsu wiersza poleceń (CLI), znajdziesz w artykule Cuttlefish: Environment Control.

W tabeli poniżej znajdziesz metody w WmediumdService. Szczegółowe informacje o metodach znajdziesz tutaj: wmediumd.proto.

Metody Opis
ListStations Wyświetl wszystkie stacje podłączone do Wmediumd.
LoadConfig Załaduj konfigurację Wmediumd za pomocą danego pliku.
ReloadConfig Ponowne załadowanie aktualnie wczytanego pliku konfiguracji Wmediumd.
SetCivicloc ustawić lokalizację miasta (np. adres pocztowy) konkretnej stacji;
SetLci Ustaw LCI (szerokość geograficzną, długość geograficzną i wysokość) konkretnej stacji.
SetPosition Ustaw położenie stacji w dwudwumiarowej przestrzeni.
SetSnr Ustaw wartość współczynnika sygnału do szumu (SNR) (0–255) między dwoma stacjami.
SetTxpower Ustaw moc nadawania (moc TX) konkretnej stacji.
StartPcap Zacznij rejestrować wszystkie klatki przesyłane do emisji i zapisywać je w pliku .pcap.
StopPcap Zatrzymaj i zakończ bieżące przechwytywanie pakietów.

wmediumd_control

W przypadku urządzeń z Androidem 13 lub starszym użyj narzędzia wmediumd_control, aby sterować medium bezprzewodowym na urządzeniach Cuttlefish. Tabela poniżej zawiera podpolecenia wmediumd_control.

Podpolecenia Opis
list_stations Wymień wszystkie stacje połączone z Wmediumd.
reload_config [CONFIG_FILE_PATH] Ponownie załaduj konfigurację Wmediumd za pomocą CONFIG_FILE_PATH . Jeśli CONFIG_FILE_PATHjest pominięty, ponownie załaduj aktualnie wczytany plik konfiguracji.
set_civicloc MAC_ADDR CIVICLOC Ustaw lokalizację miasta (np. adres pocztowy) konkretnej stacji.
set_lci MAC_ADDR LCI Ustaw LCI (szerokość, długość geograficzna, wysokość) konkretnej stacji.
set_position MAC_ADDR X_POSITION Y_POSITION Ustaw położenie stacji w dwudwumiarowej przestrzeni.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Ustaw wartość współczynnika sygnału do szumu (SNR) (0–255) między 2 stacjami.
start_pcap PCAP_FILE_PATH Zacznij przechwytywać wszystkie klatki przesyłane do powietrza i zapisywać je w pliku .pcap.
stop_pcap Zatrzymaj i zakończ bieżące przechwytywanie pakietów.

Używaj OpenWRT

Funkcja Wi-Fi Cuttlefish obsługuje używanie OpenWRT do wirtualizacji punktów dostępu Wi-Fi (AP). Implementacja OpenWRT dla Cuttlefish jest dostępna na stronie platform/external/openwrt-prebuilts/.

Aby połączyć się z OpenWRT, użyj informacji z tabeli poniżej. Jeśli przy uruchamianiu Cuttlefish nie dodasz żadnych opcji, identyfikator urządzenia to cvd-1, a adres IP OpenWRT WAN to 192.168.94.2 lub 192.168.96.2.

Typ połączenia Miejsce docelowe
SSH root@OPENWRT_WAN_IP_ADDRESS
Strona internetowa https://localhost:1443/devices/DEVICE_ID/openwrt
Strona internetowa (starsza wersja) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

Na urządzeniach z Androidem 14 lub nowszym, aby sterować i konfigurować wirtualne punkty dostępu Wi-Fi, użyj usługi OpenwrtControlService. Szczegółowe informacje o sterowaniu tą usługą za pomocą interfejsu API REST lub interfejsu wiersza poleceń znajdziesz w artykule Cuttlefish: kontrola środowiska.

W tabeli poniżej znajdziesz metody w OpenwrtControlService. Szczegółowe informacje o tych metodach znajdziesz w artykule openwrt_control.proto.

Metody Opis
LuciRpc Wysyłanie wywołania RPC do interfejsu internetowego Luci w OpenWRT.
OpenwrtIpAddr Uzyskaj adres IP WAN OpenWRT. Użyj tego adresu, aby połączyć instancję OpenWRT przez SSH lub interfejs internetowy.