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 distribution des 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 liste les méthodes dans WmediumdService. Pour en savoir plus sur les méthodes, consultez wmediumd.proto.

Méthodes Description
ListStations Liste toutes les stations associées à Wmediumd.
LoadConfig Charge la configuration Wmediumd avec un fichier donné.
ReloadConfig Rechargez le fichier de configuration Wmediumd actuellement chargé.
SetCivicloc Définissez l'emplacement civique (par exemple, l'adresse postale) de la station spécifique.
SetLci Définissez les coordonnées LCI (latitude, longitude, altitude) de la station spécifique.
SetPosition Définissez la position de la station dans un espace à deux dimensions.
SetSnr Définissez la valeur du rapport signal/bruit (SNR) (0-255) entre deux stations.
SetTxpower Définissez la puissance de transmission (puissance TX) de la station spécifique.
StartPcap Commencez à capturer toutes les images transmises à l'antenne et stockez-les dans un fichier .pcap.
StopPcap Arrêtez et finalisez 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 dans les appareils Cuttlefish. Le tableau suivant répertorie les sous-commandes de wmediumd_control.

Sous-commandes Description
list_stations Lister toutes les stations associées à Wmediumd.
reload_config [CONFIG_FILE_PATH] Rechargez la configuration Wmediumd avec CONFIG_FILE_PATH . Si CONFIG_FILE_PATH est omis, rechargez le fichier de configuration actuellement chargé.
set_civicloc MAC_ADDR CIVICLOC Définissez l'emplacement civique (par exemple, l'adresse postale) de la station spécifique.
set_lci MAC_ADDR LCI Définissez le LCI (latitude, longitude, altitude) de la station spécifique.
set_position MAC_ADDR X_POSITION Y_POSITION Définissez la position de la station dans un espace bidimensionnel.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Définissez la valeur du rapport signal/bruit (SNR) (0-255) entre deux stations.
start_pcap PCAP_FILE_PATH Commencez à capturer toutes les images transmises à l'antenne et stockez-les dans un fichier .pcap.
stop_pcap Arrêtez et finalisez la capture de paquets en cours.

Utiliser OpenWRT

La fonctionnalité Wi-Fi de Cuttlefish permet d'utiliser OpenWRT pour virtualiser les points d'accès (PA) Wi-Fi. L'implémentation OpenWRT pour Cuttlefish se trouve sur 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 version) 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 liste les méthodes dans OpenwrtControlService. Pour en savoir plus sur les méthodes, consultez openwrt_control.proto.

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