[19.07.2] STA + AP issue on 5Ghz on Archer C7 v2

Hey there,

I use my Archer C7 in STA + AP mode because of a far away 5Ghz router connected to my ISP's modem, it was working fine in 18.06.xx releases and it only broke when I updated to 19.07.0x (00, 01 and 02 behaved the same way). I've done some research and found many people have issues with 5Ghz on the newest release because of hostapd but none of the fixes worked (downgrading it would stop my 5Ghz network from working, using World as a country code didnt work either, tried some community built firmwares and the same issue still persists).

Here is how my setup is laid out:

ISP Modem --LAN--> Archer D2 v1 (stock system) <--- 5Ghz (ch 36) ---> Archer C7 V2 (EU, using OpenWrt) --> LAN devices and WLAN over 5Ghz + 2.4Ghz (different SSIDs)

on 18.06.8 it worked fine but when I tried to upgrade to 19.07.02, having the 5Ghz network setup in both AP and STA mode does not work. When I'm connected to my 5Ghz network I can get internet over LAN and 2.4Ghz but not over the 5Ghz AP as it wont give any IP address to my devices. Here are my configurations and logs:

/etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '36'
	option hwmode '11a'
	option path 'pci0000:00/0000:00:00.0'
	option htmode 'VHT80'
	option log_level '1'
	option country '00'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'wwan'
	option ssid 'TPLINK 5G'
	option encryption 'psk2'
	option mode 'sta'
	option bssid 'BSSID'
	option key '12345678'
	option disabled '0'

config wifi-iface 'test0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'F5'
	option encryption 'psk2'
	option key '12345678'
	option disabled '0'

config wifi-device 'radio1'
	option type 'mac80211'
	option channel '11'
	option hwmode '11g'
	option path 'platform/ahb/18100000.wmac'
	option htmode 'HT40'
	option disabled '0'
	option log_level '1'
	option country '00'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'F2'
	option encryption 'psk2'
	option key '12345678'

/etc/config/network

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd6a:552c:2977::/48'

config interface 'lan'
	option type 'bridge'
	option ifname 'eth1.1'
	option proto 'static'
	option netmask '255.255.255.0'
	option ipaddr '192.168.3.1'

config interface 'wan'
	option ifname 'eth0.2'
	option proto 'dhcp'

config interface 'wan6'
	option ifname 'eth0.2'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 5 0t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 6t'

config interface 'wwan'
	option proto 'dhcp'

Logs:

5Ghz STA + AP when connecting my iPhone:

Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD IEEE 802.11: authentication OK (open system)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD MLME: MLME-AUTHENTICATE.indication(PHONEMACADD, OPEN_SYSTEM)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:22:23 2020 daemon.info hostapd: wlan0-1: STA PHONEMACADD IEEE 802.11: authenticated
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD IEEE 802.11: association OK (aid 1)
Tue Apr 28 15:22:23 2020 daemon.info hostapd: wlan0-1: STA PHONEMACADD IEEE 802.11: associated (aid 1)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD MLME: MLME-ASSOCIATE.indication(PHONEMACADD)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD IEEE 802.11: binding station to interface 'wlan0-1'
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: event 1 notification
Tue Apr 28 15:22:23 2020 daemon.notice hostapd: wlan1: Prune association for PHONEMACADD
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: start authentication
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD IEEE 802.1X: unauthorizing port
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: sending 1/4 msg of 4-Way Handshake
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: received EAPOL-Key frame (2/4 Pairwise)
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: sending 3/4 msg of 4-Way Handshake
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD WPA: received EAPOL-Key frame (4/4 Pairwise)
Tue Apr 28 15:22:23 2020 daemon.notice hostapd: wlan0-1: AP-STA-CONNECTED PHONEMACADD
Tue Apr 28 15:22:23 2020 daemon.debug hostapd: wlan0-1: STA PHONEMACADD IEEE 802.1X: authorizing port
Tue Apr 28 15:22:23 2020 daemon.info hostapd: wlan0-1: STA PHONEMACADD WPA: pairwise key handshake completed (RSN)
Tue Apr 28 15:22:23 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:23 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:25 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:25 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:25 2020 daemon.debug hostapd: wlan1: STA PHONEMACADD MLME: MLME-DISASSOCIATE.indication(PHONEMACADD, 1)
Tue Apr 28 15:22:25 2020 daemon.debug hostapd: wlan1: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:22:27 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:27 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:31 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:31 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:43 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:43 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:49 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:49 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:22:53 2020 daemon.info hostapd: wlan1: STA PHONEMACADD IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Tue Apr 28 15:22:53 2020 daemon.debug hostapd: wlan1: STA PHONEMACADD MLME: MLME-DEAUTHENTICATE.indication(PHONEMACADD, 2)
Tue Apr 28 15:22:53 2020 daemon.debug hostapd: wlan1: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:22:57 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:22:57 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:23:06 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:23:06 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD

5Ghz with AP only when connecting my iPhone:

Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD IEEE 802.11: authentication OK (open system)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD MLME: MLME-AUTHENTICATE.indication(PHONEMACADD, OPEN_SYSTEM)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:25:04 2020 daemon.info hostapd: wlan0: STA PHONEMACADD IEEE 802.11: authenticated
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD IEEE 802.11: association OK (aid 1)
Tue Apr 28 15:25:04 2020 daemon.info hostapd: wlan0: STA PHONEMACADD IEEE 802.11: associated (aid 1)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD MLME: MLME-ASSOCIATE.indication(PHONEMACADD)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD MLME: MLME-DELETEKEYS.request(PHONEMACADD)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD IEEE 802.11: binding station to interface 'wlan0'
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: event 1 notification
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: start authentication
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD IEEE 802.1X: unauthorizing port
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: sending 1/4 msg of 4-Way Handshake
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: received EAPOL-Key frame (2/4 Pairwise)
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: sending 3/4 msg of 4-Way Handshake
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD WPA: received EAPOL-Key frame (4/4 Pairwise)
Tue Apr 28 15:25:04 2020 daemon.notice hostapd: wlan0: AP-STA-CONNECTED PHONEMACADD
Tue Apr 28 15:25:04 2020 daemon.debug hostapd: wlan0: STA PHONEMACADD IEEE 802.1X: authorizing port
Tue Apr 28 15:25:04 2020 daemon.info hostapd: wlan0: STA PHONEMACADD WPA: pairwise key handshake completed (RSN)
Tue Apr 28 15:25:04 2020 daemon.info dnsmasq-dhcp[4609]: DHCPDISCOVER(br-lan) PHONEMACADD
Tue Apr 28 15:25:04 2020 daemon.info dnsmasq-dhcp[4609]: DHCPOFFER(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:25:06 2020 daemon.info dnsmasq-dhcp[4609]: DHCPREQUEST(br-lan) 192.168.3.223 PHONEMACADD
Tue Apr 28 15:25:06 2020 daemon.info dnsmasq-dhcp[4609]: DHCPACK(br-lan) 192.168.3.223 PHONEMACADD iPhone

This behavior is the same on any of my 5Ghz devices:

Galaxy S7
iPhone 6s (13.4.1)
DW1560 (BCM4352) (AC)
DW1820A (BCM4350) (AC)
Apple BCM4360CS2 (AC)
Intel 6235 (N only)
Intel 8260/8265 (AC)

I assumed at first it was a dnsmasq issue but after some googling seems like hostapd has its own share of issues. I tried the regular releases (19.07, .01 and .02) and the latest snapshots. If there is anything I can provide please tell me. Thank you.

TL;DR:
5Ghz AP breaks if it's already in STA mode, disabling STA brings back AP mode but again no internet. When it's broken the SSID is visible but cannot provide IP address.

1 Like

Did you ever find a solution to this? I'm facing a similar issue and I don't know if it's unrelated or not.

EDIT: I am actually facing the same exact issue on my Archer C7 V5 [19.07.7] using radio0 as a client and an AP.

Check the wifi drivers. Try the non CT version.

ath10k-firmware-qca988x

kmod-ath10k

Also you could try enabling software and hardware flow offload in the firewall.

1 Like

If the AP that the STA links to is on a DFS channel, simultaneous AP operation is not possible. I think this is the case with either ct or non-ct drivers.

2 Likes

Also I am kind of curious if a different wpad might help. Instead of wpad-basic, try wpad. Or perhaps try wpad-mesh-openssl for an experiment as I don't know if anyone has tried that yet.

I have ath10k non CT wifi drivers and wpad-mesh-openssl installed on my C7's when I mesh tested them. I will make an AP + STA on channel 36 and check it out. I have the C7 v2 but it uses the same 5Ghz chip as the v5 (QCA9880).

That's a good tip - I didn't know that.

@TrendMend you could also post your system and kernel logs after it crashes. Strip out any personally identifying info, IP's, SSID's, MAC's, etc..

Using a C7 v2/ 19.07.7 in AP + STA mode, connected to an EA8300 / 21.02.0 rc3 on channel 36 VHT-80. I have two AR750S / 3.201 (TV and STEREO) in client mode joined to the C7. Using wpad-mesh-openssl, and ath10k non CT wifi drivers. WPA3 SAE strong. All devices are using qualcomm chips. It all works so far.

1 Like

Here's the interesting thing though, the STA does occasionally use a DFS channel, but a rollback 18.06.8 did solved it for me, no matter the channel. I'm going to reset and update it again, then I'll try some of the ideas y'all had. I could also be ignorant and incorrect, but I'll see what works and what doesn't.

1 Like

This was the solution! Installing the non-ct versions fixed the issue - Now I'll have to wait and see the stability of it.

I may or may not also try the wpad one just out of curiosity, but only after I make some sort of pipeline to build this version for me automatically. Thanks! - We really need the devs to rollback to non-ct as it matures, atleast for a major release. I've posted an issue on Github but will need to colllect more information.

1 Like