使用现有 wlan0 接口上的虚拟网络接口

使用现有 wlan0 接口上的虚拟网络接口

设想
简而言之,我尝试使用wlan0系统上现有的接口,在其上创建两个虚拟接口,并将其中一个用作接入点,另一个用作普通 WiFi 客户端。

问题
我能够创建虚拟接口,使用它们查看它们,iwconfig但只能使用其中之一来启动ifconfig。如果我尝试调出其他界面,我会得到

SIOCSIFFLAGS: Device or resource busy.

硬件细节
Xilinx SoC(ARM 处理器)
Petalinux(Linux Distro)
Intel 8265 NGW(WiFi 芯片组)

我非常确定英特尔硬件同时支持三种模式,这是以下输出iw list | grep -A 2 'interface combination'

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

这就是我在终端上所做的事情:

iw dev wlan0 interface add vwlan0 type managed
iw dev wlan0 interface add vwlan1 type managed

输出iwconfig

vwlan0    IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off  
          Encryption key:off  
          Power Management:on  

vwlan1    IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off  
          Encryption key:off  
          Power Management:on  

sit0      no wireless extensions.  

lo        no wireless extensions.  

wlan0     IEEE 802.11  Mode:Master  Tx-Power=22 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off  
          Power Management:on  

eth0      no wireless extensions.  

ifconfig vwlan0 up有效但
ifconfig vwlan1 up给出
ifconfig: SIOCSIFFLAGS: Device or resource busy

答案1

我偶然发现我不必调出我创建的虚拟接口。

例子

如果我执行这个语句:

$ iw dev wlan0 interface add vwlan0 type managed

它创建了一个虚拟接口vwlan0,我可以直接使用hostapdwpa_supplicant将其用作接入点或 WiFi 客户端,而无需执行:

$ ifconfig vwlan0 up  

我必须确保一切wlan0顺利并且能够发挥作用。

相关内容