diff --git a/docs/index.rst b/docs/index.rst
index 76dc63faa3590d46fb00edb98a16b5bd55b071da..41a64ad725392cdc98742d79b7824c067feba237 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -305,6 +305,7 @@ ipq40xx
 * OpenMesh
 
   - A42 [#80211s]_
+  - A62 [#80211s]_
 
 * ZyXEL
 
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 cbf7be2e1da517450a2e487313e54794295725bb..353fa1562f508264fa786d82248aca56a173f99a 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -45,7 +45,7 @@ elseif platform.match('ar71xx', 'generic', {'archer-c5', 'archer-c58-v1',
                                             'archer-c7'}) then
   table.insert(try_files, 1, '/sys/class/net/eth1/address')
 elseif platform.match('ipq40xx', nil, {'avm,fritzbox-4040',
-                                       'openmesh,a42'}) then
+                                       'openmesh,a42', 'openmesh,a62'}) then
   table.insert(try_files, 1, '/sys/class/net/eth0/address')
 end
 
diff --git a/targets/ipq40xx b/targets/ipq40xx
index 0fd84f50bc0dd1c0b199aad45fd073101ba7e02e..1ab2530d804df2eaf1a9729e1aa9b5384d6bf1ba 100644
--- a/targets/ipq40xx
+++ b/targets/ipq40xx
@@ -1,6 +1,8 @@
 ATH10K_PACKAGES_IPQ40XX=
+ATH10K_PACKAGES_QCA9888='ath10k-firmware-qca9888'
 if [ "$GLUON_WLAN_MESH" = 'ibss' ]; then
 	ATH10K_PACKAGES_IPQ40XX='-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca4019 ath10k-firmware-qca4019-ct'
+	ATH10K_PACKAGES_QCA9888='-ath10k-firmware-qca9888 ath10k-firmware-qca9888-ct'
 fi
 
 
@@ -35,6 +37,9 @@ packages $ATH10K_PACKAGES_IPQ40XX
 device openmesh-a42 openmesh_a42
 packages $ATH10K_PACKAGES_IPQ40XX
 
+device openmesh-a62 openmesh_a62
+packages $ATH10K_PACKAGES_IPQ40XX $ATH10K_PACKAGES_QCA9888
+
 
 # ZyXEL