web-dev-qa-db-ja.com

単一のwifiカード、複数のアクセスポイントに同時に接続

ご存知のように、iw dev(1) を使用して仮想ワイヤレスインターフェイスを作成できます。また、ifconfig <ifname> hw ether <Address>を使用してMACアドレスを変更できます。次に、Network Managerを使用して、これらのインターフェースのそれぞれに2つの異なるアクセスポイント(SSID)を設定できます。例えば:

(Real)    wlan0: 00:16:b6:ab:cd:e7  ->  AP(1)
(Virtual) wlan1: 00:16:b6:ab:cd:e8  ->  AP(2)

しかし、wlan0がAP(1)に接続され、AP(2)に接続しようとすると、最初にwlan0が切断され、次にwlan1が自身のAPに接続されます。

両方を同時に接続する必要があります。出来ますか?どうやって?

編集:私の特定のカードはLisco/Linksys RTL8191SEvBです。 Linux 4.4.38を実行しています。

7

いくつか(2016年に最も多いのですか?)Wifiチップは、複数のモードで同時に機能できますが、しかし同じ周波数ですべて 、同じラジオを使用しているため。さて、チップに2つの無線が接続されている場合、複数の周波数/チャネルで複数の機能を使用できます。

例えば。 Intel 316 は、同時に1つのステーション、1つのアクセスポイント、および1つのP2Pデバイスにすることができます。これは WiDi または Miracast に使用されますが、「他の」ネットワークに接続されたままです。

チップの有効な組み合わせは、次のようにrootと見なすことができます。
iw list | grep -A 2 'interface combination'

Intel 316 は次を返します:

valid interface combinations:
   * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
   total <= 3, #channels <= 1

机の近くにあるUSBドングルを確認すると、次のことがわかります。

  • rt2800usb レポート:

        valid interface combinations:
             * #{ AP, mesh point } <= 8,
               total <= 8, #channels <= 1
    
  • rtl8192cu デバイスと同じチップを使用するドングル、レポート:

interface combinations not supported

このメッセージは、カードが同時に1機能しか実行できないことを意味します。

一部のWi-Fiチップでは、機能が異なる署名付きファームウェアがいくつか利用できます。 AFAICT、ただしrtl819xではありません。

Intel IWLWifiの場合、解決策は、APであるあなたへの接続(の1つ)を切り替えるか、または「アドホック」にすることでした。

それ以外の場合は、カードを#{managed}<5または同様に緩和された制限。

または、2番目のAPへの接続用にa(nother) 10€WUSB-WiFi-dongleを追加します。

9
Alex Stragies

これがうまくいくように思えるかもしれませんが、私は手足を外に出て、これが不可能であることを提案します。

仮想インターフェースが正しくセットアップされているため、インターフェース(レイヤー2)上の有効なMACアドレスと適切なIPアドレス(レイヤー3)の両方が提供されます。ただし、APへの実際の接続は、レイヤ1である無線周波数を介して行われます。

このように考えてください。有線イーサネットカードに2つの物理イーサネットポート(RJ45、ファイバーなど)がない限り、1つのネットワークにしか接続できません物理的に。同じことがあなたのwifiカードにも当てはまります。

Wifiカードに複数のアンテナ(個別に制御できる)がない限り、WifiカードはAPモード(受信接続を受信)またはクライアント(1対1)のいずれかの接続モードのみをサポートします。これを可能にするWifiカードがあるかもしれませんが、これはコンピューターのネットワークスタック(適切に構成されている)だけでなく、ファームウェアでサポートされる必要があるようです。

3
111---