Concurrent mode shares the Wi-Fi interface between multiple functionalities — for example station, access point, and WiFi Direct — using different virtual interfaces for each.
Maximum performance is achieved on the physical wlan0 when the Wi-Fi interface is not shared between multiple functionalities.
Digi recommends you always use the physical wlan0 interface and only configure virtual interfaces when using concurrent modes.
|
Digi programs one MAC address for the Wi-Fi interface during manufacturing of the SOM.
This is the MAC address used for the wlan0 interface.
The Wi-Fi chip supports up to three other virtual MAC addresses that you need to program before use (otherwise they have default values).
See Wireless virtual MAC addresses for instructions.
|
Multi client station
You can configure the ConnectCore 8X as two simultaneous client stations in infrastructure mode: one Wi-Fi interface connected to an access point and another Wi-Fi interface connected to a different access point.
NetworkManager cannot manage access points, so DEY configures it not to manage wlan1
by default.
Create the virtual interface wlan1
with the following command:
# iw dev wlan0 interface add wlan1 type managed
Create a new configuration file /etc/wpa_supplicant_wlan1.conf
for the second Wi-Fi interface.
To create the file, use the following command and add the necessary information.
# vi /etc/wpa_supplicant_wlan1.conf
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="SSID"
scan_ssid=1
key_mgmt=WPA-PSK
psk="PASSWORD"
}
Now configure the interface to load the configuration file.
To do so, modify the /etc/network/interfaces
with the information of the wlan1 interface.
# vi /etc/network/interfaces
auto wlan1
iface wlan1 inet static
address 192.168.46.30
netmask 255.255.255.0
wpa-driver nl80211
wpa-conf /etc/wpa_supplicant_wlan1.conf
Now bring the interface up to load the configuration. Reboot the system to load the new configuration.
# ifup wlan1
This causes the second Wi-Fi interface to connect to the AP specified in the wpa_suplicant_wlan1
file.
Multi access point
You can configure the ConnectCore 8X as two simultaneous access points working on the same band.
To do this, you must disable the default STA behavior of wlan0
. Bring the interface down with:
# nmcli con down wlan0
Since NetworkManager cannot manage access points, you must configure it not to manage wlan0
, which will now work as another access point.
Add wlan0
to the list of unmanaged-devices in the configuration file /etc/NetworkManager/NetworkManager.conf
.
After the change, the file will look like this:
[main]
plugins=ifupdown,keyfile
no-auto-default=type:ethernet
[ifupdown]
managed=false
[keyfile]
unmanaged-devices=interface-name:p2p*;interface-name:wlan1;interface-name:wlan0
Now configure the /etc/network/interfaces
file as follows:
-
Configure
wlan0
to work as access point, with a static IP. -
Assign a second post-up service to launch the hostapd instance. Make sure to pass the correct interface name to the service; in this case, it should be
hostapd@wlan0.service
. -
Assign one pre-down service to stop the hostapd instance.
auto wlan0
iface wlan0 inet static
address 192.168.43.30
netmask 255.255.255.0
post-up systemctl start hostapd@wlan0.service
pre-down systemctl stop hostapd@wlan0.service
auto wlan1
iface wlan1 inet static
address 192.168.46.30
netmask 255.255.255.0
post-up systemctl start hostapd@wlan1.service
pre-down systemctl stop hostapd@wlan1.service
Create a /etc/hostapd_wlan0.conf
file with your desired SoftAP configuration for wlan0.
For example:
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
interface=wlan0
driver=nl80211
# WPA2-AES encryption
ssid=My_AP_wlan0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=MyPassword
# IEEE 802.11ac
hw_mode=a
channel=36
ieee80211ac=1
ieee80211n=1
Bring up the wlan0
and wlan1
interfaces:
# ifup wlan0
# ifup wlan1
Wi-Fi Direct concurrent modes
The ConnectCore 8X supports simultaneous group owner and group client configuration.
Add the following configuration change to the /etc/wpa_supplicant_p2p.conf
file on both devices:
p2p_no_group_iface=0
p2p_group_idle=0
This configures the supplicant to use a different interface, p2p0
, for P2P group operations.
It also maintains an established group, even if there are no other members.
You need all virtual MACs for the P2P setup, so remove the wlan0
interface with:
# nmcli con down wlan0
Add the wlan0
interface to the list of unmanaged devices that is defined in the NetworkManager configuration at /etc/NetworkManager/NetworkManager.conf
unmanaged-devices=interface-name:p2p*;interface-name:wlan1;interface-name:wlan0
Restart the NetworkManager service:
# systemctl restart NetworkManager.service
Bring up the p2p0 interface:
# ifup p2p0
Concurrent GO and GC using PBC
Peer (GO & GC) — PBC — Peer (GO & GC)
Steps | Peer CC8X1 | Peer CC8X2 | Notes |
---|---|---|---|
0 |
|
|
|
1 |
|
||
2 |
|
||
3 |
Ctrl+C to exit |
||
4 |
|
||
5 |
|
This uses the MAC of the first virtual interface |
|
6 |
|
||
7 |
|
||
8 |
|
Ctrl+C to exit |
|
9 |
|
This is in the second virtual interface |
|
10 |
|
This uses the MAC of the second virtual interface |
|
11 |
Ctrl+C to exit |
Ctrl+C to exit |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
Concurrent GC
Peer (GC1 & GC2) --- PBC -- Peer1 (GO) |--- PBC -- Peer2 (GO)
Steps | Peer CC8X1 (GO) | Peer CC8X2 (GO) | Peer CC8X2 (GC1 & GC2) |
---|---|---|---|
1 |
|
|
|
2 |
|
||
3 |
|
||
4 |
Ctrl+C to exit |
||
5 |
|
||
6 |
|
||
7 |
|
||
8 |
Ctrl+C to exit |
|
|
9 |
|||
10 |
|
||
11 |
|
||
12 |
Ctrl+C to exit |
||
13 |
|
|
|
14 |
|
||
15 |
|
||
16 |
|
||
17 |
|
||
18 |
|
Concurrent SoftAP (2.4GHz) and GO using PBC
The ConnectCore 8X can be configured simultaneously as access point in band 2.4GHz and autonomous group owner in a peer-to-peer connection.
To use this concurrent mode, append the following lines to the file /lib/firmware/wlan/qcom_cfg.ini
before the final END tag:
# For SAP + P2P Auto GO
gEnableCustomConcRule1=1 #(Force SSC for SAP + STA)
gEnableStaConnectionIn5Ghz=0 #(STA connection not allowed on 5 Ghz)
gMaxConcurrentActiveSessions=3 #(it should be set to 3 [sta+AP+P2Pgo])
gWlanMccToSccSwitchMode=2 #(force full switch if AP is in same band)
gEnableDFSChnlScan=0 #(it will disable scanning on DFS channel)
gSapSccChanAvoidance=0 #(needs to be set to 0 to void channel avoidance)
Append the lines only for this specific case. You will lose other functionalities like station mode for 5GHz band. |
Reboot the device so that the Wi-Fi driver is reloaded with the new configuration:
# reboot
First configure the SoftAP and then the P2P connection.
Configure SoftAP
Set up wlan0
as a static SoftAP as explained in Access point mode.
You must use the 802.11b/g/n band for this mode to work.
You must use wlan0 interface as SoftAP.
This concurrent mode (P2P+SoftAP) does not work with the SoftAP on wlan1 .
|
Configure the P2P connection
You will need an auxiliary device to act as peer. In this example, it is another ConnectCore 8X.
-
Delete
wlan1
interface. -
Bring up the
p2p0
interface. -
Follow the steps from any table in the Autonomous GO creation section of Wi-Fi Direct.