Bật chế độ giám sát cho RTL8188CUS qua USB trên Raspbian


15

Tôi đang cố gắng kích hoạt chế độ giám sát cho một dongle wifi USB với chipset RTL8188CUS trên mô hình raspberry pi b + (hoặc bất kỳ raspberry pi nào cho vấn đề đó).

$ 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.

Theo github / raspberrypi / linux / problems / 369 , bạn cần kích hoạt mô-đun hạt nhân rtlwifi / rtl8192cu đi kèm với phân phối kernel nhưng không được biên dịch. Điều này yêu cầu sửa đổi nhỏ đối với một số tệp như dưới đây trong 'BƯỚC 2'.

Vấn đề USB được đề cập trong luồng đó đã được giải quyết kể từ ngày 4.1.6+, vì vậy trình điều khiển rtlwifi sẽ hoạt động.

Các bước để tạo lại trên pi mâm xôi tươi (mô hình B +) ...

BƯỚC 0: Cập nhật các mô-đun và kernel hiện có lên mới nhất

$ 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

BƯỚC 1: Nhận nguồn nhân raspbian và thêm các phụ thuộc bị thiếu

$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc lshw

BƯỚC 2: Kích hoạt trình điều khiển rtlwifi (kernel) cho 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/

BƯỚC 3: Biên dịch và cài đặt kernel (mất nhiều giờ)

Tóm tắt từ tài liệu xây dựng hạt nhân .

$ 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

BƯỚC 4: Khởi động lại

$ sudo reboot

BƯỚC 5: Kiểm tra xem mô-đun rtlwifi / rtl8192cu đã được tải chưa

$ 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

BƯỚC 6: Cố gắng kích hoạt chế độ giám sát

$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Operation not supported.

Tôi đã bỏ lở những gì?
Vấn đề 369 dường như chỉ ra rằng nó có thể hoạt động với trình điều khiển rtlwifi?


Điều này, thưa ngài, là vô cùng hữu ích. Tôi đã làm theo các bước khá chính xác, và nó hoạt động như một bùa mê.
Alex Nichol

Với tất cả sự tôn trọng và điểm thưởng cho sự kiên trì, IMHO này cũng khá cồng kềnh. Xem tại đây , bạn có thể nhận được một dongle wifi với chipset hỗ trợ chế độ màn hình ngoài hộp, với giá dưới 5 USD bao gồm cả vận chuyển.
RolfBly

Câu trả lời:


8

Hóa ra các bước để biên dịch lại và tải mô-đun rtlwifi là chính xác. Vấn đề là iwconfig không hoạt động để bật / xác định chế độ giám sát trong tình huống này.

Thay vào đó, tôi đã sử dụng iw như được phác thảo bởi Steven Gordon và nó đã hoạt động.

Để tóm tắt:

BƯỚC 6b: Liệt kê các giao diện mạng vật lý có sẵn

$ iw dev

BƯỚC 7: Xác định xem giao diện vật lý có hỗ trợ chế độ giám sát không

$ iw phy phy0 info
... lots of stuff ...
Supported interface modes:
     * IBSS
     * managed
     * AP
     * AP/VLAN
     * monitor
     * mesh point
     * P2P-client
     * P2P-GO
... lots more stuff ...

BƯỚC 8: Thêm giao diện giám sát vào thẻ vật lý đó

Bạn cần thêm một cách rõ ràng giao diện 'giám sát' cho phần cứng bạn có.

$ sudo iw phy phy0 interface add mon0 type monitor

BƯỚC 8: Bắt đầu theo dõi

Trong trường hợp của tôi, tôi đang sử dụng tshark để tạo điều kiện giám sát, hiển thị một vài trường hữu ích thay vì nhiều tiếng ồn.

$ sudo apt-get install tshark
$ sudo tshark -i mon0 -f 'broadcast' -T fields -e frame.time_epoch -e wlan.sa -e radiotap.dbm_antsignal -e wlan.fc.type -e wlan.fc.subtype

Làm xong.


Liên kết của bạn bị hỏng, bạn đang thiếu một vài ký tự cuối cùng: sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw (Tôi đã cố chỉnh sửa bài đăng của mình nhưng dường như các chỉnh sửa phải có ít nhất 6 ký tự. ..)
Ted Mielczarek

Tôi không hiểu phải làm gì trong Bước # 2 // cần trợ giúp.
Ray Kodiak

Bên trong git repo bạn đã nhân bản trong bước 1 (thư mục 'linux') ... Chỉnh sửa tệp 'linux / driver / net / Wireless / Kconfig', nhận xét 2 dòng có rtl8192cu trong đó bằng cách thêm '#' vào đầu dòng. Chỉnh sửa tệp 'linux / trình điều khiển / net / không dây / Makefile', nhận xét dòng 1 với rtl8192cu, bỏ ghi chú dòng với rtlwifi.
Matt M

0

Hướng dẫn tuyệt vời. Cảm ơn bạn. Vài điều nữa tôi cần làm ...

  1. Khi tôi khởi động lại mâm xôi pi 3 với hình ảnh mới (4.9.13-v7 +), lsmod đã liệt kê rtl8192cu mặc dù thư mục rtl8192cu nằm trong /lib/modules/4.9.13-v7+/kernel/drivers/net/wpered/real / rtlwifi / rtl8192cu Giải pháp: Tôi đã phải thực hiện một sudo modprobe rtl8192cu

  2. iwconfig jsut nói "Không có tiện ích mở rộng không dây" ngay cả đối với các giao diện được kết nối tích cực với AP. Tôi đang sử dụng iw thay thế. Xem hướng dẫn trong http: // linuxwless.org/en/users/Documentation/iw/__v41.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.