Wi-Fi

Cette page explique comment contrôler le Wi-Fi sur un appareil Cuttlefish.

Utiliser Wmediumd

La fonctionnalité Wi-Fi de Cuttlefish utilise Wmediumd, un outil de simulation, pour simuler le support sans fil. Wmediumd gère la diffusion de paquets Wi-Fi entre deux instances Cuttlefish ou entre une instance Cuttlefish et une instance OpenWRT. Wmedium pour Cuttlefish est implémenté dans /platform/external/wmediumd/.

Pour contrôler l'interface Wmediumd, utilisez l'outil WmediumdService (Android 14 ou version ultérieure) ou wmedium_control (Android 13 ou version antérieure).

WmediumdService

Pour les appareils équipés d'Android 14 ou version ultérieure, utilisez WmediumdService pour contrôler l'outil Wmedium. Pour savoir comment contrôler ce service à l'aide de l'API REST ou de l'interface de ligne de commande (CLI), consultez Cuttlefish : contrôle de l'environnement.

Le tableau suivant répertorie les méthodes dans WmediumdService. Pour obtenir des informations détaillées sur les méthodes, consultez wmediumd.proto.

Méthodes Description
ListStations Répertorie toutes les stations connectées à Wmediumd.
LoadConfig Charge la configuration Wmediumd avec un fichier donné.
ReloadConfig Recharge le fichier de configuration Wmediumd actuellement chargé.
SetCivicloc Définit l'emplacement civique (par exemple, l'adresse postale) de la station spécifique.
SetLci Définit le LCI (latitude, longitude, altitude) de la station spécifique.
SetPosition Définit la position de la station dans un espace à deux dimensions.
SetSnr Définit la valeur du rapport signal/bruit (SNR) (0-255) entre deux stations.
SetTxpower Définit la puissance de transmission (puissance TX) de la station spécifique.
StartPcap Commence à capturer toutes les trames transmises dans l'air et les stocke dans un fichier .pcap.
StopPcap Arrête et finalise la capture de paquets en cours.

wmediumd_control

Pour les appareils équipés d'Android 13 ou version antérieure, utilisez l'outil wmediumd_control pour contrôler le support sans fil sur les appareils Cuttlefish. Le tableau suivant répertorie les sous-commandes dans wmediumd_control.

Sous-commandes Description
list_stations Répertorie toutes les stations connectées à Wmediumd.
reload_config [CONFIG_FILE_PATH] Recharge la configuration Wmediumd avec CONFIG_FILE_PATH . Si CONFIG_FILE_PATH est omis, recharge le fichier de configuration actuellement chargé.
set_civicloc MAC_ADDR CIVICLOC Définit l'emplacement civique (par exemple, l'adresse postale) de la station spécifique.
set_lci MAC_ADDR LCI Définit le LCI (latitude, longitude, altitude) de la station spécifique.
set_position MAC_ADDR X_POSITION Y_POSITION Définit la position de la station dans un espace à deux dimensions.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Définit la valeur du rapport signal/bruit (SNR) (0-255) entre deux stations.
start_pcap PCAP_FILE_PATH Commence à capturer toutes les trames transmises dans l'air et les stocke dans un fichier .pcap.
stop_pcap Arrête et finalise la capture de paquets en cours.

Utiliser OpenWRT

La fonctionnalité Wi-Fi de Cuttlefish est compatible avec OpenWRT pour la virtualisation des points d'accès Wi-Fi. L'implémentation OpenWRT pour Cuttlefish se trouve dans platform/external/openwrt-prebuilts/.

Pour vous connecter à OpenWRT, utilisez les informations du tableau suivant. Si vous n'ajoutez aucune option lorsque vous lancez Cuttlefish, l'ID de l'appareil est cvd-1 et l'adresse IP WAN OpenWRT est 192.168.94.2 ou 192.168.96.2.

Type de connexion Destination
SSH root@OPENWRT_WAN_IP_ADDRESS
Page Web https://localhost:1443/devices/DEVICE_ID/openwrt
Page Web (ancienne) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

Pour les appareils équipés d'Android 14 ou version ultérieure, utilisez le service OpenwrtControlService pour contrôler et configurer les points d'accès Wi-Fi virtualisés. Pour savoir comment contrôler ce service à l'aide de l'API REST ou de la CLI, consultez Cuttlefish : contrôle de l'environnement.

Le tableau suivant répertorie les méthodes dans OpenwrtControlService. Pour obtenir des informations détaillées sur les méthodes, consultez openwrt_control.proto.

Méthodes Description
LuciRpc Envoie un appel RPC à l'interface Web Luci dans OpenWRT.
OpenwrtIpAddr Obtient l'adresse IP WAN OpenWRT. Utilisez cette adresse pour connecter une instance OpenWRT via SSH ou une interface Web.