RaspbianでUSB経由でRTL8188CUSの監視モードを有効にする


15

Raspberry pi model b +(またはその問題に関しては任意のraspberry pi)でRTL8188CUSチップセットを使用してUSB wifiドングルの監視モードを有効にしようとしています。

$ 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 / issues / 369によると、カーネルディストリビューションに含まれているがコンパイルされていないrtlwifi / rtl8192cuカーネルモジュールを有効にする必要があります。これには、「STEP 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: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ドライバーで動作することを示しているようですか?


これはとても助かりました。ほぼ正確に手順を実行しましたが、それは魅力のように機能しました。
アレックスニコル

忍耐のためのすべての正当な尊重とボーナスポイントで、私見はこれもかなり面倒です。参照してくださいここであなたは送料込み5ドルの下で、箱から出してチップセットそのサポートモニタモードで無線LANドングルを得ることができ、。
-RolfBly

回答:


8

rtlwifiモジュールを再コンパイルしてロードする手順が正しいことが判明しました。問題は、この状況でiwconfigが監視モードを有効化/決定するために機能しないことです。

代わりに、Steven Gordonが概説したようにiwを使用しましたが、うまくいきました。

要約する:

ステップ6b:使用可能な物理ネットワークインターフェイスを一覧表示する

$ 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で何をすべきかわかりません//助けが必要です。
レイコディアック

手順1(「linux」ディレクトリ)でクローンを作成したgitリポジトリ内...ファイル「linux / drivers / net / wireless / Kconfig」を編集し、「#」を追加してrtl8192cuの2行をコメントアウト行の始まり。ファイル「linux / drivers / net / wireless / Makefile」を編集し、rtl8192cuで1行をコメントアウトし、rtlwifiでその行のコメントを解除します。
マットM

0

素晴らしい指示。ありがとうございました。私がやらなければならなかったいくつかのこと...

  1. 新しいイメージ(4.9.13-v7 +)でraspberry pi 3を再起動すると、rtl8192cuディレクトリは/lib/modules/4.9.13-v7+/kernel/drivers/net/wireless/realtekにありましたが、lsmodはrtl8192cuをリストしました。 / rtlwifi / rtl8192cu解決策:sudo modprobe rtl8192cuを実行する必要がありました

  2. iwconfig jsutは、APにアクティブに接続されているインターフェイスに対しても「ワイヤレス拡張機能なし」と表示します。代わりにiwを使用しています。http://linuxwireless.org/en/users/Documentation/iw/__v41.htmlの手順を参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.