Saya mencoba untuk mengaktifkan mode pemantauan untuk dongle wifi USB dengan chipset RTL8188CUS pada model raspberry pi b + (atau raspberry pi dalam hal ini).
$ 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.
Menurut github / raspberrypi / linux / issues / 369 , Anda perlu mengaktifkan modul kernel rtlwifi / rtl8192cu yang disertakan dengan distribusi kernel tetapi tidak dikompilasi. Ini memerlukan modifikasi kecil pada beberapa file seperti berbeda di bawah ini dalam 'LANGKAH 2'.
Masalah USB yang disebutkan di utas tersebut telah diatasi pada 4.1.6+, sehingga driver rtlwifi harus berfungsi.
Langkah-langkah untuk membuat ulang pada pi raspberry segar (model B +) ...
LANGKAH 0: Perbarui modul dan kernel yang ada ke terbaru
$ 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
LANGKAH 1: Dapatkan sumber kernel raspbian dan tambahkan dependensi yang hilang
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc lshw
LANGKAH 2: Aktifkan driver rtlwifi (kernel) untuk 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/
LANGKAH 3: Kompilasi dan instal kernel (butuh berjam-jam)
Dirangkum dari dokumentasi kernel building .
$ 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
LANGKAH 4: Nyalakan kembali
$ sudo reboot
LANGKAH 5: Periksa apakah modul rtlwifi / rtl8192cu dimuat
$ 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
LANGKAH 6: Cobalah untuk mengaktifkan mode pemantauan
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Operation not supported.
Apa yang saya lewatkan?
Masalah 369 tampaknya mengindikasikan bahwa ia dapat bekerja dengan driver rtlwifi?
Jawaban:
Ternyata langkah-langkah untuk mengkompilasi ulang dan memuat modul rtlwifi sudah benar. Masalahnya adalah iwconfig tidak berfungsi untuk mengaktifkan / menentukan mode pemantauan dalam situasi ini.
Sebaliknya, saya menggunakan iw seperti yang diuraikan oleh Steven Gordon dan itu berhasil.
Untuk meringkas:
LANGKAH 6b: Daftar antarmuka jaringan fisik yang tersedia
LANGKAH 7: Tentukan apakah antarmuka fisik mendukung mode pemantauan
LANGKAH 8: Tambahkan antarmuka pemantauan ke kartu fisik itu
Anda perlu menambahkan antarmuka 'pemantauan' secara eksplisit untuk perangkat keras yang Anda miliki.
LANGKAH 8: Mulai pemantauan
Dalam kasus saya, saya menggunakan tshark untuk memfasilitasi pemantauan, menampilkan beberapa bidang yang bermanfaat daripada banyak suara.
Selesai
sumber
Instruksi hebat. Terima kasih. Beberapa hal lagi yang perlu saya lakukan ...
Ketika saya mem-boot ulang raspberry pi 3 saya dengan gambar baru (4.9.13-v7 +), lsmod mendaftar rtl8192cu meskipun direktori rtl8192cu ada di /lib/modules/4.9.13-v7+/kernel/drivers/net/wireless/realtek / rtlwifi / rtl8192cu Solusi: Saya harus melakukan sudo modprobe rtl8192cu
iwconfig hanya mengatakan "Tidak ada ekstensi nirkabel" bahkan untuk antarmuka yang secara aktif terhubung ke AP. Saya menggunakan iw sebagai gantinya. Lihat petunjuk di http://linuxwireless.org/en/users/Documentation/iw/__v41.html
sumber