Ich versuche, Überwachungsmodus für einen USB-WiFi-Dongle mit dem RTL8188CUS-Chipsatz auf einem Raspberry Pi-Modell b + (oder Raspberry PI für die Angelegenheit) zu aktivieren.Aktivieren Sie den Überwachungsmodus für RTL8188CUS über USB auf Raspbian
$ 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.
Nach github/raspberrypi/linux/issues/369, müssen Sie den rtlwifi/rtl8192cu Kernel-Modul ermöglichen, die mit dem Kernel-Distribution enthalten ist, aber nicht kompiliert. Dies erfordert geringfügige Änderungen an einigen Dateien, wie unten in 'SCHRITT 2' beschrieben.
Das in diesem Thread erwähnte USB-Problem wurde ab 4.1.6+ behoben, daher sollte der rtlwifi-Treiber funktionieren.
Schritte auf einem frischen Himbeere pi (Modell B +) ...
STEP 0 neu zu erstellen: Update bestehende Module und Kernel auf dem neuesten
$ 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: raspbian Kernel Get Quelle und fügen Sie fehlende Abhängigkeiten
$ 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"
(Wheezy) edit linux/drivers/net/wireless/Makefile
-#obj-$(CONFIG_RTLWIFI) += rtlwifi/
+obj-$(CONFIG_RTLWIFI) += rtlwifi/
(Jessie) edit linux/drivers/net/wireless/realtek/Makefile
-#obj-$(CONFIG_RTLWIFI) += rtlwifi/
+obj-$(CONFIG_RTLWIFI) += rtlwifi/
SCHRITT 3: Kompilieren und Kernel installieren (dauerte viele Stunden)
von kernel building documentation zusammengefasst.
$ 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: Reboot
$ sudo reboot
Schritt 5: Überprüfen Sie, ob das rtlwifi/rtl8192cu Modul
$ 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: [email protected]: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
STEP 6 geladen wird: Versuchen Ü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 vermisst?
Ausgabe 369 scheint anzuzeigen, dass es mit dem Rtlwifi-Treiber funktionieren kann?
Diese Frage ist vielleicht besser geeignet für [Super User] (http://superuser.com/about) oder [Serverfehler] (http://serverfault.com/about) StackExchanges, da es nicht direkt mit der Programmierung zusammenhängt. –
Eine kleine Sache, die ich vergessen habe zu berücksichtigen, als ich das versuchte: Auf dem RaspPi 2 ist Schritt 3 anders (wie in der oben verlinkten Build-Dokumentation beschrieben). – luckyrumo