私の質問は、単一のPHY#ハードウェアアンテナを備えたアクセスポイントが複数の仮想インターフェイスを作成し、複数のSSIDをアナウンスできることです。
これで、STA側でも複数の仮想インターフェイスを作成できるため、単一のSTAから複数のSSIDに関連付けるcfg80211コードを単純にまたは微調整することができます。
現在、両方のSSIDは同じ頻度です。
私が従った手順
作成されたVif:-
iw dev wlan0 interface add vlan0 type station
iw dev wlan0 interface add vlan1 type station
私は2つの別々のwpa_supplicant構成ファイルを持っています。これは通常一度に1つずつ使用し、現在は両方を同時に使用しています。
wpa_suppicant -ivlan0 -Dnl80211 -cNEXTRA4419.conf
wpa_suppicant -ivlan1 -Dnl80211 -cNEIGHBOUR.conf
しかし、何が欠けているのかわからず、リンクできないため、このセットアップが機能しません。
もちろんこれは可能です。構成は正しいようです。ドライバが許可する限り多くのネットワークに接続できます。たとえば、私のルーターは(iw list
):
valid interface combinations:
* #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1,
total <= 2048, #channels <= 1, STA/AP BI must match
[...]
しかし、落とし穴もあります:#channels <= 1
-単一の無線機も一度に1つのチャネルをサポートできます。つまり、2048のネットワークすべてが単一のチャネルに存在する必要があります。ラジオはチャンネル間をジャンプする可能性がありますが、これを実装するドライバーは見たことがありません。
そこで、信頼できるThinkpadを試してみました。 Intel Centrino Advanced-N 6205カードを搭載しており、次の仕様が得られます。
valid interface combinations:
* #{ managed } <= 1, #{ AP } <= 1,
total <= 2, #channels <= 1, STA/AP BI must match
* #{ managed } <= 2,
total <= 2, #channels <= 1
テストにはかろうじて十分です! ArchLinuxライブCD2016.10.01を使用しました。追加のインターフェイスを1つだけ作成し、メインインターフェイスも使用しました。
iw dev wlp3s0 interface add vlan0 type managed
createより多くのインターフェースが可能ですが、同時に起動できるのは2つだけです。
次に、実際のネットワークに接続しました(wifi-menu
コマンド、私は怠惰なので)、SSHで接続できます:
root@archiso ~ # iw dev
phy#0
Interface vlan0
ifindex 5
wdev 0x2
addr 08:11:96:01:82:49
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
txpower 15.00 dBm
Interface wlp3s0
ifindex 4
wdev 0x1
addr 08:11:96:01:82:48
type managed
txpower 15.00 dBm
別のルーターを使用して、チャネル6(暗号化なし)に別のネットワークを作成し、それに接続しました。
root@archiso ~ # ip link set wlp3s0 up
root@archiso ~ # iw dev wlp3s0 connect -w OpenWrt-1
wlp3s0 (phy #0): connected to e0:91:f5:08:12:9d
root@archiso ~ # ping -I wlp3s0 -c 3 fe80::e291:f5ff:fe08:129d
PING fe80::e291:f5ff:fe08:129d(fe80::e291:f5ff:fe08:129d) 56 data bytes
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=1 ttl=64 time=2.33 ms
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=2 ttl=64 time=2.53 ms
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=3 ttl=64 time=1.38 ms
--- fe80::e291:f5ff:fe08:129d ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.382/2.084/2.537/0.504 ms
両方の接続も暗号化されている間に、これを複製することができました。
方法は次のとおりですwifi-menu
開始wpa_supplicant
:
wpa_supplicant -q -B -P /run/wpa_supplicant_wlp3s0.pid -i wlp3s0 -D nl80211,wext -c/run/network/wpa_supplicant_wlp3s0.conf
そしてこれはそれが生成した設定ファイルです:
ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
network={
proto=RSN WPA
psk="123456789"
ssid="OpenWrt-1"
}