80 ‐ Technik WLAN Debugging - freifunk-darmstadt/projects GitHub Wiki

Debugging auf einem Linux-Client mit wpa_cli

wpa_cli aufrufen, damit das funktioniert muss wpa_supplicant auf einem Socket hören, ist auf Debian standardmäßig der Fall, auf Fedora wohl nicht.

Interssante Kommandos:

  • scan
  • roam: roamen zu einem bestimmten AP
  • neighbor_rep_req: TODO

Monitor Mode

Pakete mitschneiden, dazu ist ein Gerät zum Aufzeichnen erforderlich.

Im aufzeichnenden Gerät, WLAN Karte von

  • Intel
  • Mediatek (RTS / CTS Pakete können nicht aufgezeichnet werden)
  • KEIN Qualcomm

Alternative: Mediatek WLAN USB Stick

Monitor Mode starten

wlp3s0 durch eigene NIC ersetzen.

sudo systemctl stop NetworkManager;
sudo systemctl stop wpa_supplicant.service;
sudo iw dev wlp3s0 set monitor none;
sudo ip l set dev wlp3s0 up;
sudo iw dev wlp3s0 set channel 44 HT20

Monitor Mode Mitschneiden

Interface in Wireshark öffnen.

Auffälligkeiten

  • Retransmits: in den QoS Data Flags R

Nützliche Filter

ToDo

On-Device WiFi Debugging

Mediatek

Debugfs

Mediatek wifi offers multiple files in debugfs which facilitate debug options

/sys/kernel/debug/ieee80211/phy0/mt76

interesting Files:

  • fw_debug_bin - dump firmware binary
  • xmit-queues / rx-queues - show head and tail positions in queue, can be useful to identify "stuck" queues
  • fw_debug_wa / fw_debug_wm - enable debugging messages from offloading / control engine to dmesg
  • muru_debug - echo 1 to enable debugging in the multi user resource unit
  • muru_stats - show statistics, needs debugging
    • CCK = 802.11b
    • OFDMA = 802.11g
    • HE = 802.11ac
    • VHT = 802.11ax
  • sys_recovery - trigger all kinds of error conditions