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 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).

ServiceWmediumd

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 de WmediumdService. Pour en savoir plus sur ces méthodes, consultez wmediumd.proto.

Méthodes Description
ListStations Répertorie toutes les stations associées à Wmediumd.
LoadConfig Chargez la configuration Wmediumd avec un fichier donné.
ReloadConfig Rechargez le fichier de configuration Wmediumd actuellement chargé.
SetCivicloc Définissez l'adresse civique (par exemple, l'adresse postale) de la borne spécifique.
SetLci Définissez le LCI (latitude, longitude, altitude) de la station concernée.
SetPosition Définissez la position de la borne dans un espace à deux dimensions.
SetSnr Définissez la valeur du rapport signal/bruit (SNR, 0-255) entre deux stations.
SetTxpower Définit la puissance de transmission (puissance de transmission) de la station spécifique.
StartPcap Commencez à capturer tous les frames diffusés 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 des appareils Cuttlefish. Le tableau suivant répertorie les sous-commandes de wmediumd_control.

Sous-commandes Description
list_stations Répertoriez toutes les stations associées à Wmediumd.
reload_config [CONFIG_FILE_PATH] Actualisez 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 concernée.
set_lci MAC_ADDR LCI Définissez le LCI (latitude, longitude, altitude) de la station concernée.
set_position MAC_ADDR X_POSITION Y_POSITION Définissez la position de la station dans l'espace bidimensionnel.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Définissez une valeur de rapport signal sur bruit (SNR) (0-255) entre deux stations.
start_pcap PCAP_FILE_PATH Commencez à capturer tous les frames diffusés 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 est compatible avec OpenWRT pour la virtualisation des points d'accès 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 lors du lancement de 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 de OpenwrtControlService. Pour en savoir plus sur ces méthodes, consultez openwrt_control.proto.

Méthodes Description
LuciRpc Envoyer 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.