Raspbian पर USB के माध्यम से RTL8188CUS के लिए निगरानी मोड सक्षम करें


15

मैं एक raspberry पाई मॉडल b + (या उस मामले के लिए किसी भी रास्पबेरी पाई) पर RTL8188CUS चिपसेट के साथ एक यूएसबी वाईफाई डोंगल के लिए निगरानी मोड को सक्षम करने का प्रयास कर रहा हूं।

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

के अनुसार GitHub / रास्पबेरी पाई / linux / मुद्दों / 369 , आप rtlwifi / rtl8192cu कर्नेल मॉड्यूल कर्नेल वितरण के साथ शामिल है लेकिन संकलित नहीं सक्रिय करना होगा। इसके लिए कुछ फ़ाइलों के लिए छोटे संशोधनों की आवश्यकता है क्योंकि नीचे 'STEP 2' में अंतर है।

उस धागे में उल्लिखित USB समस्या को 4.1.6+ के रूप में हल किया गया है, इसलिए rtlwifi ड्राइवर को काम करना चाहिए।

एक ताजा रास्पबेरी पाई (मॉडल बी +) पर फिर से बनाने के लिए कदम ...

चरण 0: नवीनतम के लिए मौजूदा मॉड्यूल और कर्नेल अद्यतन करें

$ 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

चरण 1: रसियन कर्नेल स्रोत प्राप्त करें और लापता निर्भरता जोड़ें

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

चरण 2: RTL8188CUS (RTL8192) के लिए rtlwifi (कर्नेल) ड्राइवरों को सक्षम करें

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/

चरण 3: कर्नेल को संकलित करें और स्थापित करें (कई घंटे लगे)

कर्नेल बिल्डिंग प्रलेखन से सारांशित ।

$ 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: रिबूट

$ sudo reboot

चरण 5: जांचें कि rtlwifi / rtl8192cu मॉड्यूल लोड है

$ 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: निगरानी मोड को सक्रिय करने का प्रयास करें

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

मुझसे क्या छूट गया?
समस्या 369 इंगित करता है कि यह rtlwifi ड्राइवर के साथ काम कर सकता है?


यह, साहब, बेहद मददगार थे। मैंने बहुत सटीक तरीके से चरणों का पालन किया, और यह एक आकर्षण की तरह काम किया।
एलेक्स निकोल

दृढ़ता के लिए सभी उचित सम्मान और बोनस अंक के साथ, IMHO यह भी बल्कि बोझिल है। यहां देखें , आप एक चिपसेट के साथ एक वाईफाई डोंगल प्राप्त कर सकते हैं जो शिपिंग सहित 5 यूएसडी से कम के लिए बॉक्स से बाहर मॉनिटर मोड का समर्थन करता है।
रॉल्फब्ली

जवाबों:


8

Rtlwifi मॉड्यूल को फिर से जोड़ने और लोड करने के लिए चरण सही हैं। समस्या इस स्थिति में निगरानी मोड को सक्षम / निर्धारित करने के लिए काम नहीं कर रहा है iwconfig है।

इसके बजाय, मैंने स्टीवन गॉर्डन द्वारा उल्लिखित आईडब्ल्यू का इस्तेमाल किया और यह काम किया।

संक्षेप में:

चरण 6 बी: भौतिक नेटवर्क इंटरफेस उपलब्ध सूची

$ iw dev

चरण 7: निर्धारित करें कि क्या भौतिक इंटरफ़ेस निगरानी मोड का समर्थन करता है

$ 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: उस भौतिक कार्ड में एक निगरानी इंटरफ़ेस जोड़ें

आपको स्पष्ट रूप से आपके पास मौजूद हार्डवेयर के लिए एक 'मॉनिटरिंग' इंटरफ़ेस जोड़ना होगा।

$ sudo iw phy phy0 interface add mon0 type monitor

चरण 8: निगरानी शुरू करें

मेरे मामले में, मैं निगरानी की सुविधा के लिए tshark का उपयोग कर रहा हूं, बहुत अधिक शोर के बजाय कुछ उपयोगी फ़ील्ड प्रदर्शित कर रहा हूं।

$ 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

किया हुआ।


आपका लिंक टूट गया है, आपको पिछले कुछ वर्ण याद आ रहे हैं: sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw (मैंने आपके पोस्ट को संपादित करने की कोशिश की, लेकिन जाहिरा तौर पर संपादन कम से कम 6 वर्णों का होना चाहिए। ..)
टेड मिलेरेसेक

मुझे समझ में नहीं आ रहा है कि चरण # 2 // में क्या करें मदद की ज़रूरत है।
रे कोडिएक

Git repo के अंदर आपने चरण 1 ('linux' निर्देशिका) में क्लोन किया ... फ़ाइल 'linux / ड्राइवर / नेट / वायरलेस / Kconfig' को संपादित करें, rtl8192cu के साथ 2 पंक्तियों को उन पर टिप्पणी करें, जिसमें '#' जोड़कर लाइन की शुरुआत। फ़ाइल 'linux / ड्राइवर / नेट / वायरलेस / मेकफाइल' को संपादित करें, rtl8192cu के साथ 1 लाइन पर टिप्पणी करें, rtlwifi के साथ लाइन को अनकम्प्लीट करें।
मैट एम

0

महान निर्देश। धन्यवाद। कुछ और बातें जो मुझे करने की जरूरत है ...

  1. जब मैंने अपनी रास्पबेरी पाई 3 को नई छवि (4.9.13-v7 +) के साथ रीबूट किया, lsmod ने rtl8192cu की सूची बनाई, हालांकि rtl8192cu निर्देशिका /lib -modules/4.9.13-v7+/kernel/drivers/net/wireless/realtek में थी। / rtlwifi / rtl8192cu समाधान: मुझे एक sudo modprobe rtl8192cu करना था

  2. iwconfig jsut का कहना है कि "कोई वायरलेस एक्सटेंशन" यहां तक ​​कि इंटरफेस के लिए भी नहीं है जो सक्रिय रूप से एक एपी से जुड़ा हुआ है। मैं इसके बजाय iw का उपयोग कर रहा हूं। Http://linuxwireless.org/en/users/Documentation/iw/__v41.html में निर्देश देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.