diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
index 4bd26ea0f2bbcc64e7953daca5cfdab68c64868c..038a777158380228c4d39933cbe7d5728d242481 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -49,6 +49,8 @@ elseif platform.match('ar71xx', 'generic', {'archer-c5', 'archer-c58-v1',
 elseif platform.match('ipq40xx', nil, {'avm,fritzbox-4040',
                                        'openmesh,a42', 'openmesh,a62'}) then
   table.insert(try_files, 1, '/sys/class/net/eth0/address')
+elseif platform.match('ipq806x', nil, {'netgear,r7800'}) then
+  table.insert(try_files, 1, '/sys/class/net/eth1/address')
 elseif platform.match('ramips', 'mt7621', {'dir-860l-b1'}) then
   table.insert(try_files, 1, '/sys/class/ieee80211/phy1/macaddress')
 end
diff --git a/targets/ipq806x b/targets/ipq806x
index 287e8c782a83a81f8e06fb2a09d825e5b6d939bf..cce037d54f0e70c1354c8590c84fec728d30c0f3 100644
--- a/targets/ipq806x
+++ b/targets/ipq806x
@@ -1,7 +1,31 @@
-ATH10K_PACKAGES='-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca99x0 ath10k-firmware-qca99x0-ct'
+# The QCA9980 was discontinued by Qualcomm. It didn't receive any firmware-update for over 4 years.
+# See https://github.com/kvalo/ath10k-firmware/tree/master/QCA99X0/hw2.0
+# 802.11s was never implemented for the chip's firmware. It will most likely be broken forever.
+# The QCA9984 on the other hand works fine for 11s meshes on both bands.
 
+QCA9980_PACKAGES='-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca99x0 ath10k-firmware-qca99x0-ct'
+QCA9984_PACKAGES='kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9984 -ath10k-firmware-qca9984-ct'
 
-# TP-Link
 
+#
+# QCA9980
+#
+
+if [ "$BROKEN" ]; then
+# TP-Link
 device tp-link-archer-c2600 tplink_c2600
-packages $ATH10K_PACKAGES
+packages $QCA9980_PACKAGES
+fi
+
+#
+# QCA9984
+#
+
+# -- ToDo --
+# The BROKEN flag for the target can be removed when switching to an OpenWrt base newer than 18.06,
+# as in 18.06 the LEDs are not yet functional. This is already fixed in the current OpenWrt master.
+
+# NETGEAR
+device netgear-nighthawk-x4s-r7800 netgear_r7800
+factory .img
+packages $QCA9984_PACKAGES
diff --git a/targets/targets.mk b/targets/targets.mk
index 9826f4720041cb05d35052320edc304d6f06e25b..f89c82f3d0fcb6c0f244cad77430ed24ff054129 100644
--- a/targets/targets.mk
+++ b/targets/targets.mk
@@ -22,6 +22,6 @@ endif
 ifneq ($(BROKEN),)
 $(eval $(call GluonTarget,ar71xx,mikrotik)) # BROKEN: no sysupgrade support
 $(eval $(call GluonTarget,brcm2708,bcm2710)) # BROKEN: Untested
-$(eval $(call GluonTarget,ipq806x)) # BROKEN: unstable wifi drivers
+$(eval $(call GluonTarget,ipq806x)) # BROKEN: See target file for details
 $(eval $(call GluonTarget,mvebu,cortexa9)) # BROKEN: No AP+IBSS or 11s support
 endif