Wie misst man das RSSI-Stärkesignal zwischen Peers mit Wifi Direct?

Es gibt keine Funktion, um die RSSIzwischen Peers in Wifi-Direct zu messen, also wie man RSSIzwischen ihnen kommt.

Eigentlich gehe ich unter API für WIFI, um zu sehen, wie sie WIFI messen RSSI. Ich sehe also, dass sie Command als Parameter an die native Methode senden, aber ich kann diesen Befehl nicht abfangen !!!

in dieser Methode wifi_send_commandin wifi.c von diesem Link .

Wie ich weiß, ist Android unter Linux, der iwconfigLinux-Befehl, um die drahtlose Informationsschnittstelle zu erhalten, wenn ich es benutzt habe, kann ich die Wifi-Direktinformationen erhalten? oder gibt es nur die Netzwerkinformationen der Zugangspunkte zurück?

hat jemand ne ahnung dazu?

Antworten (3)

Sie können diese Informationen in wpa_cli abrufen . Öffnen Sie wpa_cli in der wifi-direct-Schnittstelle und führen Sie einen Scan und scan_results wie unten durch.

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

Sie erhalten kleine Informationen über den verbundenen Peer (Geräteadresse, Kanal, RSS usw.). Hoffe das funktioniert!

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Wenn Sie den RSSI zwischen 2 Peers vor der Verbindung messen möchten, versuchen Sie einfach:

  • Unter Linux unter wpa_supplicant

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

    (wobei 74:da:3f:58:5c:f0 die MAC-Adresse des zweiten Peers ist.)

  • In Android sollte es ungefähr so ​​​​sein (erraten und ungetestet)

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

Danach erhalten Sie eine große Schnur. Suchen Sie dann nach dem Wort Level (der RSSI wird in dBm angegeben).

Versuchen Sie bei nicht gerooteten Geräten Folgendes:

Gerät A: Linux Gerät B: Android

  1. Rufen Sie den P2P-Gruppennamen eines Geräts ab. Dies kann durch die Verwendung wpa_cliauf dem Linux-Gerät angezeigt werden.<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. Öffnen Sie eine Adb-Shell auf dem Android-Gerät.

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

  4. Sehen Sie sich die Ausgabe an:

 - 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: []