ฉันกำลังพยายามเปิดใช้งานโหมดการตรวจสอบสำหรับดองเกิล USB WiFi ด้วยชิปเซ็ต RTL8188CUS ในรุ่น raspberry pi b + (หรือราสเบอร์รี่ pi ใด ๆ สำหรับเรื่องนั้น)
$ 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 / raspberrypi / linux / problems / 369คุณต้องเปิดใช้งานโมดูลเคอร์เนล rtlwifi / rtl8192cu ที่รวมอยู่ในการกระจายเคอร์เนล แต่ไม่ได้รวบรวม ต้องมีการแก้ไขเล็กน้อยสำหรับไฟล์บางไฟล์ดังที่อธิบายไว้ด้านล่างใน 'ขั้นตอนที่ 2'
ปัญหา USB ที่กล่าวถึงในเธรดนั้นได้รับการแก้ไขตั้งแต่ 4.1.6+ ดังนั้นไดรเวอร์ rtlwifi จึงควรใช้งานได้
ขั้นตอนในการสร้างราสเบอร์รี่ปี่สด (รุ่น B +) ...
ขั้นตอนที่ 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: รับแหล่งเคอร์เนล raspbian และเพิ่มการพึ่งพาที่ขาดหายไป
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc lshw
ขั้นตอนที่ 2: เปิดใช้งานไดรเวอร์ rtlwifi (เคอร์เนล) สำหรับ 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/
ขั้นตอนที่ 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 ได้หรือไม่?