5

そこで、Edimax EW-7811Un WLAN アダプターと batman-adv プロトコルを使用して、Raspberry Pi を使用してワイヤレス メッシュ ネットワークをセットアップしようとしています。

次の基本的なセットアップガイドに従ってみました。

残念ながら、あるノードから別のノードに ping を実行する必要があるところまで来ると、

宛先ホストに到達できません。

batctl oコマンドを実行すると表示される

「範囲内にバットマン ノードがありません」

ただし、 を実行するiwconfigと、両方のノードがセットアップしたネットワークに関連付けられているように見え、 を実行すると、セットアップしiwlist wlan0 scanたネットワークが両方のノードでセルとして表示されます。

私は今、どのように進めるべきか途方に暮れています。Linux WLAN アダプタ ドライバのアドホック サポートの問題に関する記事をいくつか読みました。私のアダプターは RTL8192CU ドライバーを使用しています。これが問題の原因でしょうか?

PS次の投稿を見ましたが、残念ながらこれは役に立ちませんでした。

編集: の内容/etc/network/interfaces:

現在セットアップされている両方のノードの内容は同じです。

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

編集:/etc/wpa_supplicant/wpa_supplicant.conf両方のノードの内容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

編集: ifconfigiwconfig、および両方のノードのルート:

ノード 1

ifconfig

wlan0    Link encap: Ethernet  HWaddr 80:1f:02:9b:bc:6c
         inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0  errors:0  dropped:1  overruns:0  frame:0
         TX packets:0  errors:0  dropped:0  overruns:0  carrier:0
         collisions:0  txqueuelen:1000
         RX bytes:0  (0.0 B)  TX bytes: 0  (0.0 B)

iwconfig

wlan0    IEEE 802.11bg  ESSID:"pi-ad-hoc" Nickname:"<WIFI@REALTEK>"
         Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:11:87:A1:CD:FF
         Bit Rate:54 Mb/s   Sensitivity:0/0
         Retry:off    RTS thr:off    Fragment thr:off
         Encryption key:off
         Power Management:off
         Link Quality=2/100  Signal level=2/100  Noise level=0/100
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0  Missed beacon:0

route

Kernel IP routing table
Destination    Gateway        Genmask        Flags  Metric  Ref    Use  Iface
192.168.2.0    *              255.255.255.0  U      0       0        0  wlan0

ノード 2

ifconfig

wlan0    Link encap:Ethernet  HWaddr 80:1f:02:da:2e:ee
         inet addr:192.168.2.3  Bcast:192.168.2.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0  errors:0  dropped:0  overruns:0  frame:0
         TX packets:6  errors:0  dropped:0  overruns:0  carrier:0
         collisions:0  txqueuelen:1000
         RX bytes:0  (0.0 B)  TX bytes:0  (0.0 B)

iwconfig

wlan0    IEEE 802.11bg ESSID:"pi-ad-hoc"  Nickname:"<WIFI@REALTEK>"
         Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:11:87:2F:D6:FF
         Bit Rate:54 Mb/s   Sensitivity:0/0
         Retry:off  RTS thr:off  Fragment thr:off
         Encryption key:off
         Power Management:off
         Link Quality=2/100  Signal level=2/100  Noise level=0/100
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0  Missed beacon:0

route

Kernel IP routing table
Destination    Gateway        Genmask        Flags  Metric  Ref     Use   Iface
192.168.2.0    *              255.255.255.0  U      0       0         0   wlan0
4

6 に答える 6

6

これは最新の rtl8192cu ドライバーの問題であることを確認できます。私は、バットマンが(ほぼ)正常に動作するedimax wlanアダプターに、そのドライバーの古いバージョンを使用していました。しかし、特定の状況 (負荷が高い) では、接続に失敗することがわかりました。次に、そのドライバーの最新バージョン (日付: 2013 年 9 月 11 日) にアップグレードしましたが、batman が機能しなくなっていることがわかりました (古いドライバーとまったく同じ構成で)。症状は、あなたの投稿に記載されているとおりでした。

編集:質問に答えていないという理由で、私の投稿は削除されました。私はそれに同意しません。これは元の投稿に対する回答です。元の投稿での唯一の質問は、「私のアダプターは RTL8192CU ドライバーを使用しています。これが問題の原因でしょうか?」というものでした。

繰り返しますが、この (最新の) ドライバーを使用すると問題が発生することを確認できます。このドライバーは、バットマンと互換性がありません。この問題は構成ファイルとは関係ありません。古いドライバーを探すか、より良い - 別のチップセットの WLAN アダプターを使用してください。

于 2014-08-28T07:58:55.210 に答える
3

アドホック ネットワークをセットアップしようとするとします。ただし、 Wifi アクセス ポイントというより単純なアプローチから始めて、アドホック ネットワークに切り替えることをお勧めします。

私の観点からは、raspi をワイヤレス アクセスポイントに接続する方が簡単です。アクセスポイントは DHCP を介して IP アドレスを渡すためです。アドホック モードでは、自分で IP を気にする必要があります (私の知る限り)。

したがって、アクセス ポイント ベースのソリューションの構成は次のようになります。

/etc/ネットワーク/インターフェース

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

(ちなみに、これはすでにあなたのものとほとんど同じです)

そして、WPA2 アクセスポイントに接続する/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="KBBL"
        psk=af2a9daa6cadd3434ad96db48173a04acddb04e6a8c5adf52ae78ef13XXXX
        key_mgmt=WPA-PSK
        scan_ssid=1
        proto=RSN
        pairwise=CCMP
        group=CCMP
}

psk キーは以下によって生成される必要があることに注意してください。

$wpa_passphrase "KBBL" "YOUR_KEY"

その結果、次のような結果になります

network={
        ssid="KBBL"
        #psk="YOUR_KEY"
        psk=29af596e046ad450eeddd6752432d5dbd26575960b9024e5cbb99e945cdafa4e
}

pskをコピーして貼り付けるだけです

その後、再起動してください!その場でネットワークのwifi設定を変更するだけで問題が発生することがあります。再起動後はすべて問題ありません。また、wifi ネットワークには時間がかかります。私の場所では、20〜40秒の間です。

ところで。暗号化または WEP 暗号化なしで wifi をセットアップしようとしたときにも問題が発生したため、WPA2 または WPA を使用することをお勧めします。また、wpa_supplicant の WPA 構成は、WPA2 の構成とは大きく異なることに注意してください。したがって、上記の例を WPA2 に使用し始めるかもしれません。

于 2014-05-03T12:36:12.330 に答える
2

アクセス ポイントへの Wi-Fi 接続は正常に機能します。ドライバーとハードウェアは正常であると想定しています。それでは -- Wifi ad-hoc経由で接続してみましょう。

ここで、wpa_supplicant を使用しないかなり有望な構成を見つけました。すでに述べたように、固定 IP を使用する必要があります。したがって、もちろん、両方のラスピで異なる必要があります。「手動」を「静的」に変更しなければならなかったことに注意してください。現在、私の場所でも機能します(再起動後)。やってくる

/etc/ネットワーク/インターフェース

auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    wireless-channel 4
    wireless-essid pi-ad-hoc
    wireless-mode ad-hoc

注意: 選択した IP は、有線ネットワーク (eth0) のサブネットにあるべきではありません。

また、sudo ifconfig wlan0が正しい IP を示していることを確認してください

pi@raspberrypi ~ $ sudo ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 80:1f:02:87:77:81  
          inet addr:192.168.2.10  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:29 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6007 (5.8 KiB)  TX bytes:1042 (1.0 KiB)

そして、ここにsudo iwconfig wlan0があります

pi@raspberrypi ~ $ sudo iwconfig wlan0
wlan0     IEEE 802.11bg  ESSID:"pi-ad-hoc"  Nickname:"<WIFI@REALTEK>"
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:11:87:DF:AB:FF   
          Bit Rate:54 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=2/100  Signal level=2/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
于 2014-05-03T15:17:45.857 に答える
1

Edimax EW-7811Un と Raspberry Pi A+ の組み合わせで問題が発生しました。数分後に応答しなくなりました。Apache と SSH に到達できず、ping が接続されませんでした。

iwconfig プログラムは「Power Management:off」と表示しますが、それでもアイドル モードになります。

ラズベリー フォーラムで MrEngman の解決策を見つけました: http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=61665

これで解決するかもしれません:

次のコマンドを使用して、ディレクトリ /etc/modprobe.d/ にファイル 8192cu.conf を作成します。

    sudo nano /etc/modprobe.d/8192cu.conf

次の行を追加します。

    # Disable power management
    options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
于 2014-12-03T16:49:14.033 に答える
1

Raspbian で 2 つの Raspberry と同じ Wifi アダプター (Edimax EW-7811Un) を使用して構成を確認しました。簡単に言えば、あなたと同じ結果が得られます。

私の調査結果は次のとおりです

  1. 説明に従ってアドホック用に1つのRaspberryをセットアップし、iPadまたはノートブックから接続します...正常に動作します
  2. ノートブックでアドホック接続を作成し、1 つの Raspberry を参加させます ... 正常に動作します
  3. アクセスポイント用にRaspberyを1つセットアップし、iPadまたはノートブックから接続します...正常に動作します
  4. ただし、アドホック モードまたはアクセスポイント モードのいずれかで 2 つの Raspberry をセットアップすると、相互に接続されません ... 機能しません!
  5. こちらのソースでわかったように、これらのアダプター (rtl8192cu) の使用可能なモードは不明です。
  6. 他のソースは、同様のセットアップと、説明されているような他の wifi アダプターを使用して、アドホック接続を簡単に作成します。

アダプタードライバーがこの接続を許可しないようです。

注意: これらのアダプタを使用してアクセスポイントを設定するには、特別にコンパイルされた hostapd が必要です:方法については、こちらをお読みください。

于 2014-05-06T18:56:34.133 に答える
0

現時点ではテストする場所がないため、スクリーンショットがなくて申し訳ありません:(

まだ興味があり、batman-adv と catwoman を使用していくつかのメッシュ ネットワークをセットアップし、同様の問題に直面した場合 (私は、Android フォン、foneras、openwrt デバイスなどの混合デバイスを連携させました)。

batman-adv を使用する際に最初に確認することは、互換性のあるバージョンです。de batman-adv モジュールをロードするときに各ノードを使用している dmesg を確認してください。両方で一致する必要があります。そうしないと、両方が適切にセットアップされていても、お互いが認識されません。 ! (これは過去にかなりの頭痛の種でした笑)

ノードがまだお互いを認識できない場合は、モードをアドホックに変更するときに問題がないことを確認する必要があります。

これで、batman-adv がレイヤー 2 で動作することをノードがお互いに確認すると、batctl には、ノードがお互いを確認できない場合でも、このレイヤーで ping を実行するための ping ツールがあります。

ここに wpa-supplicant がある理由がよくわかりません。メッシュ ネットワークでは必要ありません。メッシュをセットアップするには、チャネルと ESSID を選択するだけです。すべてのノードがこの同じパラメーターを持つ必要があります。次に、wifi インターフェースをアドホック モードにし、batctl でインターフェースを bat0 インターフェースに追加します。

bat0インターフェース?wlan0 ではなく、実際のメッシュ インターフェイスです。wlan0 インターフェイスに IP を配置しましたが、それは機能しません。bat0 に IP を指定し、メッシュが使用する IP を指定する必要があります。メモリによると、コマンドは次のようになります: batctl ifadd wlan0, ​​ただし、念のため batctl ヘルプを確認してください :)

インターネット接続を共有したい場合は、以下の手順に従う必要があります。次に、インターネットに接続されたノードで、bat0 とインターネットとのインターフェースの間にブリッジを作成し (wlan0 またはメッシュを単独で使用しているインターフェースを残すことを忘れないでください)、終了します。そのノードでbatctlを実行し、gw(ゲートウェイ)モードをオンに切り替えます(batctl gw onだと思います)。次に、すべてのノードでbat0経由でdhcpを実行すると、問題なく動作するはずです。

念のため、batman-adv モジュールがロードされていることを確認してください。

batman-adv メッシュのセットアップに関しては、すべての側面をカバーしたと思います。ご不明な点がございましたら、お気軽にお問い合わせください:D

よろしくお願いします。メッシュが正常に機能することを願っています。:)

于 2014-08-04T10:09:43.437 に答える