diff --git a/docs/index.rst b/docs/index.rst
index f2fefd10a8f381d1db6ca950026e34fab75f82b4..03839d3d2eb468924db3fc63792a9079d8b5af9a 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -168,8 +168,8 @@ ar71xx-generic
   - MR600 (v1, v2)
   - MR900 (v1, v2)
   - MR1750 (v1, v2) [#ath10k]_
-  - OM2P (v1, v2)
-  - OM2P-HS (v1, v2, v3)
+  - OM2P (v1, v2, v4)
+  - OM2P-HS (v1, v2, v3, v4)
   - OM2P-LC
   - OM5P
   - OM5P-AN
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 a963eb80847a24c998c5fe23bb50fb3914577f0b..9ad9b82016737a0d784139713be98ecc9fbcd996 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -34,8 +34,9 @@ elseif platform.match('ar71xx', 'generic', {'unifi-outdoor-plus', 'carambola2',
                                             'mr600', 'mr600v2',
                                             'mr900', 'mr900v2',
                                             'mr1750', 'mr1750v2',
-                                            'om2p', 'om2pv2',
+                                            'om2p', 'om2pv2', 'om2pv4',
                                             'om2p-hs', 'om2p-hsv2', 'om2p-hsv3',
+                                            'om2p-hsv4',
                                             'om2p-lc',
                                             'om5p', 'om5p-an',
                                             'om5p-ac', 'om5p-acv2',
diff --git a/targets/ar71xx-generic b/targets/ar71xx-generic
index fde87258eb2b6bdd5837b5294ccc5e8d7bce5b9f..09b6ef326eca5dcbbe3b5b8afc599aac81a59251 100644
--- a/targets/ar71xx-generic
+++ b/targets/ar71xx-generic
@@ -138,9 +138,11 @@ alias openmesh-mr900v2
 
 device openmesh-om2p om2p OM2P
 alias openmesh-om2pv2
+alias openmesh-om2pv4
 alias openmesh-om2p-hs
 alias openmesh-om2p-hsv2
 alias openmesh-om2p-hsv3
+alias openmesh-om2p-hsv4
 alias openmesh-om2p-lc
 
 device openmesh-om5p om5p OM5P