Raspbian'da USB üzerinden RTL8188CUS için izleme modunu etkinleştir


15

Bir ahududu pi model b + (veya bu konuda herhangi bir ahududu pi) RTL8188CUS yonga seti ile bir USB wifi dongle için izleme modunu etkinleştirmeye çalışıyorum.

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

Göre github / Raspberry Pi / linux sorunlar / 369 / , çekirdek dağıtıma dahil ancak derlenmiş değildir rtlwifi / rtl8192cu çekirdek modülü etkinleştirmeniz gerekir. Bu, 'ADIM 2'de aşağıda gösterildiği gibi bazı dosyalarda küçük değişiklikler yapılmasını gerektirir.

Bu iş parçacığında belirtilen USB sorunu 4.1.6+ sürümünden itibaren giderilmiştir, bu nedenle rtlwifi sürücüsü çalışmalıdır.

Taze bir ahududu pi (model B +) üzerinde yeniden oluşturma adımları ...

ADIM 0: Mevcut modülleri ve çekirdeği en son sürüme güncelleyin

$ 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

ADIM 1: Raspbian çekirdek kaynağını alın ve eksik bağımlılıklar ekleyin

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

ADIM 2: RTL8188CUS (RTL8192) için rtlwifi (kernel) sürücülerini etkinleştirin

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/

ADIM 3: Çekirdeği derleyin ve yükleyin (saatler sürdü)

Çekirdek yapı belgelerinden özetlenmiştir .

$ 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

4.ADIM: Yeniden Başlatın

$ sudo reboot

ADIM 5: rtlwifi / rtl8192cu modülünün yüklü olduğunu kontrol edin

$ 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

6.ADIM: İzleme modunu etkinleştirmeye çalışın

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

Ne kaçırdım?
Sayı 369 rtlwifi sürücüsü ile çalışabileceğini gösteriyor?


Bu, efendim, son derece yardımcı oldu. Adımları hemen hemen takip ettim ve bir cazibe gibi çalıştı.
— Alex Nichol

Tüm azim ve azim için bonus puanları ile IMHO bu da oldukça hantaldır. Buraya bakın , nakliye dahil 5 USD'nin altında monitör modunu kutudan çıkaran bir yonga seti ile bir wifi dongle alabilirsiniz.
— RolfBly

Yanıtlar:


8

Rtlwifi modülünün yeniden derlenmesi ve yüklenmesi için gereken adımlar doğrudur. Sorun iwconfig bu durumda izleme modunu etkinleştirmek / belirlemek için çalışmıyor.

Bunun yerine, Steven Gordon tarafından belirtildiği gibi iw kullandım ve işe yaradı.

Özetlemek:

ADIM 6b: Mevcut fiziksel ağ arayüzlerini listeleyin

$ iw dev

ADIM 7: Fiziksel arayüzün izleme modunu destekleyip desteklemediğini belirleyin

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

8.ADIM: Bu fiziksel karta bir izleme arayüzü ekleyin

Sahip olduğunuz donanım için açıkça bir 'izleme' arayüzü eklemeniz gerekir.

$ sudo iw phy phy0 interface add mon0 type monitor

8.ADIM: İzlemeye başlayın

Benim durumumda, tshark'ı izlemeyi kolaylaştırmak için kullanıyorum, çok fazla gürültü yerine birkaç yararlı alan görüntülüyorum.

$ 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

Bitti.


Bağlantınız koptu, son birkaç karakteri kaçırıyorsunuz: sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw ( Gönderinizi düzenlemeye çalıştım, ancak görünüşe göre düzenlemelerin en az 6 karakter olması gerekir. ..)
— Ted Mielczarek

Adım # 2'de ne yapacağımı anlamıyorum // yardıma ihtiyacım var.
— Ray Kodiak

1. adımda ('linux' dizini) klonladığınız git deposunun içinde ... 'linux / drivers / net / wireless / Kconfig' dosyasını düzenleyin, içinde '#' ekleyerek rtl8192cu ile 2 satırı yorumlayın çizginin başlangıcı. 'Linux / drivers / net / wireless / Makefile' dosyasını düzenleyin, rtl8192cu ile 1 satırı yorumlayın, rtlwifi ile satırı açın.
— Matt M

0

Harika talimatlar. Teşekkür ederim. Yapmam gereken birkaç şey daha ...

  1. Raspberry pi 3'ümü yeni görüntüyle (4.9.13-v7 +) yeniden başlattığımda, lsmod rtl8192cu'yu rtl8192cu dizini /lib/modules/4.9.13-v7+/kernel/drivers/net/wireless/realtek içinde listeledi / rtlwifi / rtl8192cu Çözüm: Bir sudo modprobe rtl8192cu yapmak zorunda kaldım

  2. iwconfig jsut, aktif olarak bir AP'ye bağlı arabirimler için bile "Kablosuz uzantı yok" diyor. Bunun yerine iw kullanıyorum. Http://linuxwireless.org/tr/users/Documentation/iw/__v41.html adresindeki talimatlara bakın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.