J'essaie d'activer le mode de surveillance pour un dongle wifi USB avec le chipset RTL8188CUS sur un modèle de framboise pi b + (ou n'importe quelle framboise pi d'ailleurs).
$ 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.
Selon github / raspberrypi / linux / issues / 369 , vous devez activer le module de noyau rtlwifi / rtl8192cu qui est inclus dans la distribution du noyau mais non compilé. Cela nécessite des modifications mineures à certains fichiers comme ci-dessous dans 'ÉTAPE 2'.
Le problème USB mentionné dans ce fil a été résolu à partir de 4.1.6+, donc le pilote rtlwifi devrait fonctionner.
Étapes à recréer sur une framboise pi fraîche (modèle B +) ...
ÉTAPE 0: Mettre à jour les modules et le noyau existants vers les derniers
$ 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
ÉTAPE 1: Obtenez la source du noyau raspbian et ajoutez les dépendances manquantes
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc lshw
ÉTAPE 2: Activez les pilotes rtlwifi (noyau) pour 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/
ÉTAPE 3: Compiler et installer le noyau (a pris plusieurs heures)
Résumé de la documentation de construction du noyau .
$ 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
ÉTAPE 4: redémarrage
$ sudo reboot
ÉTAPE 5: Vérifiez que le module rtlwifi / rtl8192cu est chargé
$ 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
ÉTAPE 6: Essayez d'activer le mode de surveillance
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Operation not supported.
Qu'est-ce que j'ai raté?
Le problème 369 semble indiquer qu'il peut fonctionner avec le pilote rtlwifi?
Réponses:
Il s'avère que les étapes pour recompiler et charger le module rtlwifi sont correctes. Le problème est que iwconfig ne fonctionne pas pour activer / déterminer le mode de surveillance dans cette situation.
Au lieu de cela, j'ai utilisé iw comme décrit par Steven Gordon et cela a fonctionné.
Résumer:
ÉTAPE 6b: répertorier les interfaces réseau physiques disponibles
ÉTAPE 7: Déterminez si l'interface physique prend en charge le mode de surveillance
ÉTAPE 8: Ajoutez une interface de surveillance à cette carte physique
Vous devez explicitement ajouter une interface de «surveillance» pour le matériel dont vous disposez.
ÉTAPE 8: Lancer la surveillance
Dans mon cas, j'utilise tshark pour faciliter la surveillance, en affichant quelques champs utiles plutôt que beaucoup de bruit.
Terminé.
la source
Excellentes instructions. Je vous remercie. Quelques autres choses que je devais faire ...
Lorsque j'ai redémarré mon Raspberry Pi 3 avec la nouvelle image (4.9.13-v7 +), lsmod a répertorié le rtl8192cu bien que le répertoire rtl8192cu se trouve dans /lib/modules/4.9.13-v7+/kernel/drivers/net/wireless/realtek / rtlwifi / rtl8192cu Solution: je devais faire un sudo modprobe rtl8192cu
iwconfig jsut dit "Pas d'extensions sans fil" même pour les interfaces activement connectées à un AP. J'utilise iw à la place. Voir les instructions sur http://linuxwireless.org/en/users/Documentation/iw/__v41.html
la source