¿Cómo medir la señal de fuerza RSSI entre pares usando wifi directo?

no hay una función para medir RSSIentre pares en Wifi-direct, entonces, ¿cómo llegar RSSIentre ellos?

en realidad voy a la API para WIFI para ver cómo miden WIFI RSSIAsí que veo que envían Comando como parámetro al método nativo, ¡pero no puedo captar este comando!

en este método wifi_send_commanden wifi.c desde este enlace .

Como sé que Android está bajo Linux, el iwconfigcomando es Linux para obtener la interfaz de información inalámbrica, si lo usé, ¿puedo obtener la información directa de Wifi? ¿O simplemente devuelve la información de red de los puntos de acceso?

alguien tiene alguna idea sobre esto?

Respuestas (3)

Puede obtener esta información dentro de wpa_cli . Abra wpa_cli en la interfaz wifi-direct y realice un escaneo y scan_results como se muestra a continuación.

adb shell wpa_cli -i<wifi-direct interface name> -p<socket path> scan
adb shell wpa_cli -i<wifi-direct interface name> -p<socket path> scan_results

Obtendrá información pequeña sobre el par conectado (dirección del dispositivo, canal, rssi, etc.). ¡Espero que esto funcione!

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Si desea medir el RSSI entre 2 pares antes de la conexión, intente:

  • En linux bajo wpa_supplicant

    sudo wpa_cli p2p_peer 74:da:3f:58:5c:f0
    

    (donde 74:da:3f:58:5c:f0 es la dirección MAC del segundo par).

  • En Android, debería ser algo como esto (adivinado y no probado)

    adb shell wpa_cli -i <wifi-direct interface name> -p <socket path> p2p_peer 74:da:3f:58:5c:f0
    

Después de eso obtendrás una gran cuerda. Luego busque la palabra Nivel (el RSSI viene en dBm).

Para dispositivos no rooteados, intente lo siguiente:

Dispositivo A: Linux Dispositivo B: Android

  1. Obtenga el nombre del grupo P2P de un dispositivo. Esto se puede ver usando wpa_clien el dispositivo Linux.<3>P2P-GROUP-STARTED p2p-wlan0-0 GO ssid="DIRECT-Gw" freq=2462 passphrase="Vz4GVojX" go_dev_addr=02:04:4b:e0:80:73

  2. Abra un shell adb en el dispositivo Android.

  3. Tipo: dumpsys | grep "DIRECT-Gw"

  4. Mira la salida:

 - SSID: DIRECT-Gw, BSSID: 02:04:4b:e0:00:73, capabilities: [WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS][WPS], level: -61, frequency: 2462, timestamp: 104993415063, distance: ?(cm), distanceSd: ?(cm), passpoint: no, ChannelBandwidth: 0, cen
terFreq0: 2462, centerFreq1: 0, standard: 11n, 80211mcResponder: is not supported, Radio Chain Infos: []