单个物理天线可实现多个 802.11 关联吗?

单个物理天线可实现多个 802.11 关联吗?

我的问题是,作为具有单个 PHY# 硬件天线的接入点,它能够创建多个虚拟接口并宣布多个 SSID

现在,由于我们也可以在 STA 端创建多个虚拟接口,因此我们可以简单地或调整 cfg80211 代码以与来自单个 STA 的多个 SSID 关联。

目前两个 SSID 处于相同频率。

我遵循的步骤

创建 Vifs:-

iw dev wlan0 interface add vlan0 type station
iw dev wlan0 interface add vlan1 type station

我有两个单独的 wpa_supplicant 配置文件,通常一次使用一个,现在同时使用两个

wpa_suppicant -ivlan0 -Dnl80211 -cNEXTRA4419.conf

wpa_suppicant -ivlan1 -Dnl80211 -cNEIGHBOUR.conf

但我不知道我遗漏了什么,并且无法链接,这使得该设置无法正常工作。

答案1

这当然是可能的。您的配置似乎正确。您可以连接到驱动程序允许的任意数量的网络。例如,我的路由器报告(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- 单个无线电一次只能支持一个通道。这意味着所有 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

勉强够测试了!我使用了 Arch Linux live CD 2016.10.01。我只创建了一个附加界面,也使用了主界面:

iw dev wlp3s0 interface add vlan0 type managed

虽然我可以创造较多接口时,同一时间只能启动两个。

然后我连接到我的真实网络(使用命令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"
}

相关内容