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.