单个 wifi 卡,同时连接到多个接入点

单个 wifi 卡,同时连接到多个接入点

众所周知,我们可以使用以下命令创建虚拟无线接口iw dev (1)。另外,我们可以使用 更改它的 MAC 地址ifconfig <ifname> hw ether <Address>。然后我们可以使用网络管理器为每个 inetrface 设置两个不同的接入点 (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

答案1

一些(2021 年大多数?)Wifi 芯片可以在一些模式同时进行,全部使用相同的频率,因为他们使用相同的无线电。现在,如果您的芯片上连接了 2 个无线电,您就可以在多个频率/通道上拥有多种功能。

2021 年更新:某些卡可以同时在 2 个通道上工作。这些是 2.4/5Ghz 组合设备,其中大多数都可以12.4的,还有另一个1同时来自 5Ghz 频道。某些设备通过固件升级获得此功能,例如某些英特尔卡。

其他一些卡,例如 PI ZeroW,可以同时在 2.4Ghz 组中运行 2 个通道。

例如英特尔3160可以同时是 1 个站、1 个接入点和 1 个 P2P 设备。这用于无线传输或者米拉卡斯特,同时仍然连接到“其他”网络。

您的芯片的有效组合可以被视为根:
iw list | grep -A 8 'interface combination'

一些例子:

  • 英特尔3160

    有效接口组合:* #{ Managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, Total <= 3, #channels <= 2

  • Qualcomm Atheros QCA986x/988x 802.11ac 无线网络适配器

* #{ AP, mesh point } <= 8, #{ managed } <= 1,
total <= 8, #channels <= 1, STA/AP BI must match
  • Qualcomm Atheros QCA9377 802.11ac 无线网络适配器(修订版 31)
* #{ managed } <= 2, #{ AP, mesh point, P2P-client, P2P-GO } <= 2, #{ P2P-device } <= 1,
total <= 4, #channels <= 1
* #{ managed } <= 2, #{ P2P-client } <= 2, #{ AP, mesh point, P2P-GO } <= 1, #{ P2P-device } <= 1,
total <= 4, #channels <= 2
* #{ managed } <= 1, #{ IBSS } <= 1,
total <= 2, #channels <= 1
  • PI 零无线
* #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
  total <= 3, #channels <= 2
* #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
  total <= 4, #channels <= 1
  • USB 联发科公司,驱动程序 mt76x0u
* #{ IBSS } <= 1, #{ managed, AP, mesh point, P2P-client, P2P-GO } <= 2,
total <= 2, #channels <= 1, STA/AP BI must match
* #{ AP, mesh point } <= 8,
total <= 8, #channels <= 1
  • rtl8192cu加密狗,使用与您的设备相同的芯片,并且大多数 Realtek 设备报告:

interface combinations not supported

此消息意味着您的卡只能执行1同时发挥作用。

对于某些 wifi 芯片,可以使用多个具有不同功能的签名固件。 AFAICT,但不适用于您的 rtl819x。

对于 Intel IWLWifi,解决方案可能是将(其中一个)连接切换为 AP,或者使其成为“Ad-Hoc”

否则,您必须将您的卡更换为具有#{managed}<5或类似宽松限制的卡。

或者,添加一个(另一个)10 欧元的 WUSB-WiFi 适配器以连接到第二个 AP。

答案2

尽管您看起来已经很接近实现这一目标,但我将冒险表明这是不可能的。

您确实已正确设置虚拟接口,从而为您提供接口上的有效 MAC 地址(第 2 层)和良好的 IP 地址(第 3 层)。然而,与 AP 的实际连接是通过射频(第一层)完成的。

这样想吧,除非您的有线以太网卡有两个物理以太网端口(RJ45、光纤等),否则您只能插入一个网络身体上的。你的无线网卡也是如此。

除非您的 Wifi 卡有多个天线(您可以独立控制),否则 Wifi 卡将仅支持一种连接模式,即 AP 模式(接收传入连接)或客户端模式(一对一)。可能有 Wifi 卡可以让您执行此操作,但似乎这需要固件的支持,而不仅仅是计算机的网络堆栈(您已正确配置)的支持。

相关内容