ご存知のように、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
を実行しています。
いくつか(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を追加します。
これがうまくいくように思えるかもしれませんが、私は手足を外に出て、これが不可能であることを提案します。
仮想インターフェースが正しくセットアップされているため、インターフェース(レイヤー2)上の有効なMACアドレスと適切なIPアドレス(レイヤー3)の両方が提供されます。ただし、APへの実際の接続は、レイヤ1である無線周波数を介して行われます。
このように考えてください。有線イーサネットカードに2つの物理イーサネットポート(RJ45、ファイバーなど)がない限り、1つのネットワークにしか接続できません物理的に。同じことがあなたのwifiカードにも当てはまります。
Wifiカードに複数のアンテナ(個別に制御できる)がない限り、WifiカードはAPモード(受信接続を受信)またはクライアント(1対1)のいずれかの接続モードのみをサポートします。これを可能にするWifiカードがあるかもしれませんが、これはコンピューターのネットワークスタック(適切に構成されている)だけでなく、ファームウェアでサポートされる必要があるようです。