Ich versuche, den Überwachungsmodus für einen USB-WLAN-Dongle mit dem RTL8188CUS-Chipsatz auf einem Himbeer-Pi-Modell b + (oder einem beliebigen Himbeer-Pi) zu aktivieren.
$ lsusb
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.
Gemäß github / raspberrypi / linux / issues / 369 müssen Sie das Kernel-Modul rtlwifi / rtl8192cu aktivieren, das in der Kernel-Distribution enthalten, aber nicht kompiliert ist. Dies erfordert geringfügige Änderungen an einigen Dateien, wie nachstehend in 'SCHRITT 2' beschrieben.
Das in diesem Thread erwähnte USB-Problem wurde ab Version 4.1.6 behoben, sodass der RTLWIFI-Treiber funktionieren sollte.
Schritte, um auf einem frischen Himbeer-Pi (Modell B +) neu zu erstellen ...
SCHRITT 0: Aktualisieren Sie vorhandene Module und den Kernel auf den neuesten Stand
$ sudo apt-get update
$ sudo rpi-update
$ uname -a
Linux raspberrypi 4.1.7+ #815 PREEMPT Thu Sep 17 17:59:24 BST 2015 armv6l GNU/Linux
SCHRITT 1: Holen Sie sich die Raspbian-Kernelquelle und fügen Sie fehlende Abhängigkeiten hinzu
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc lshw
SCHRITT 2: Aktivieren Sie die rtlwifi (Kernel) -Treiber für RTL8188CUS (RTL8192).
edit linux/drivers/net/wireless/Kconfig
-#source "drivers/net/wireless/rtlwifi/Kconfig"
-source "drivers/net/wireless/rtl8192cu/Kconfig"
+source "drivers/net/wireless/rtlwifi/Kconfig"
+#source "drivers/net/wireless/rtl8192cu/Kconfig"
edit linux/drivers/net/wireless/Makefile
-#obj-$(CONFIG_RTLWIFI) += rtlwifi/
+obj-$(CONFIG_RTLWIFI) += rtlwifi/
SCHRITT 3: Kompilieren und Installieren des Kernels (hat viele Stunden gedauert)
Zusammengefasst aus der Dokumentation des Kernel- Builds .
$ cd linux
$ KERNEL=kernel
$ make bcmrpi_defconfig
$ make zImage modules dtbs
$ sudo make modules_install
$ sudo cp arch/arm/boot/dts/*.dtb /boot/
$ sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
$ sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
$ sudo scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img
SCHRITT 4: Neustart
$ sudo reboot
SCHRITT 5: Überprüfen Sie, ob das rtlwifi / rtl8192cu-Modul geladen ist
$ lsmod | fgrep rtl8192cu
rtl8192cu 100806 0
rtl_usb 14781 1 rtl8192cu
rtl8192c_common 72091 1 rtl8192cu
rtlwifi 101122 3 rtl_usb,rtl8192c_common,rtl8192cu
mac80211 623281 3 rtl_usb,rtlwifi,rtl8192cu
$
$ lshw
*-network:0
description: Ethernet interface
physical id: 1
bus info: usb@1:1.3
logical name: wlan0
serial: 00:0b:81:94:e9:a3
capabilities: ethernet physical
configuration: broadcast=yes driver=rtl8192cu driverversion=4.1.7+ firmware=N/A link=no multicast=yes
SCHRITT 6: Versuchen Sie den Überwachungsmodus zu aktivieren
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Operation not supported.
Was habe ich verpasst?
Problem 369 scheint darauf hinzudeuten, dass es mit dem rtlwifi-Treiber funktionieren kann?
Antworten:
Es hat sich herausgestellt, dass die Schritte zum erneuten Kompilieren und Laden des rtlwifi-Moduls korrekt sind. Das Problem ist, dass iwconfig den Überwachungsmodus in dieser Situation nicht aktiviert / bestimmt.
Stattdessen habe ich iw wie von Steven Gordon beschrieben verwendet und es hat funktioniert.
Zusammenfassen:
SCHRITT 6b: Liste der verfügbaren physischen Netzwerkschnittstellen auf
SCHRITT 7: Stellen Sie fest, ob die physische Schnittstelle den Überwachungsmodus unterstützt
SCHRITT 8: Fügen Sie dieser physischen Karte eine Überwachungsschnittstelle hinzu
Sie müssen explizit eine Überwachungsschnittstelle für Ihre Hardware hinzufügen.
SCHRITT 8: Starten Sie die Überwachung
In meinem Fall verwende ich tshark, um die Überwachung zu vereinfachen, und zeige ein paar nützliche Felder anstatt viel Rauschen an.
Erledigt.
quelle
Tolle Anweisungen. Vielen Dank. Noch ein paar Dinge, die ich tun musste ...
Als ich mein Himbeer-Pi 3 mit dem neuen Image (4.9.13-v7 +) neu startete, listete lsmod das rtl8192cu auf, obwohl sich das rtl8192cu-Verzeichnis in /lib/modules/4.9.13-v7+/kernel/drivers/net/wireless/realtek befand / rtlwifi / rtl8192cu Lösung: Ich musste eine sudo modprobe rtl8192cu durchführen
iwconfig jsut sagt "Keine drahtlosen Erweiterungen", auch für die Schnittstellen, die aktiv mit einem AP verbunden sind. Ich benutze stattdessen iw. Anweisungen finden Sie unter http://linuxwireless.org/en/users/Documentation/iw/__v41.html
quelle