diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 72691397ba498694f3187bdb7ffb0ffa28cfa42b..60fac6f136f7a409c3f2bd2b8e10b4fac6fe941d 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -303,6 +303,7 @@ ramips-mt7620
 * TP-Link  
 
   - Archer C2 v1
+  - Archer C50 v1
 
 * Xiaomi
 
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 8fd6872fc15be59d8b150b3cd358e47220d4d9b3..1f5c7a8822180f22d8354bdf388de21600504421 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -61,7 +61,7 @@ elseif platform.match('mpc85xx', 'p1020', {'aerohive,hiveap-330'}) then
   table.insert(try_files, 1, '/sys/class/net/eth0/address')
 elseif platform.match('mpc85xx', 'p1020', {'ocedo,panda'}) then
   table.insert(try_files, 1, '/sys/class/net/eth1/address')
-elseif platform.match('ramips', 'mt7620', {'miwifi-mini', 'tplink,c2-v1'}) then
+elseif platform.match('ramips', 'mt7620', {'miwifi-mini', 'tplink,c2-v1', 'c50'}) then
   table.insert(try_files, 1, '/sys/class/net/eth0/address')
 elseif platform.match('ramips', 'mt7621', {'dir-860l-b1'}) then
   table.insert(try_files, 1, '/sys/class/ieee80211/phy1/macaddress')
diff --git a/targets/ramips-mt7620 b/targets/ramips-mt7620
index 9872bdd80326b539676061891528e2dfbeba3244..860193e5939cad8fc92ee8aeac9453f6e3d9da9a 100644
--- a/targets/ramips-mt7620
+++ b/targets/ramips-mt7620
@@ -34,10 +34,19 @@ device('nexx-wt3020-8m', 'wt3020-8M', {
 
 -- TP-Link
 
+local tplink_region_suffix = ''
+if (env.GLUON_REGION or '') ~= '' then
+        tplink_region_suffix = '-' .. env.GLUON_REGION
+end
+
 device('tp-link-archer-c2-v1', 'tplink_c2-v1', {
         factory = false,
 })
 
+device('tp-link-archer-c50', 'ArcherC50v1', {
+        factory = '-squashfs-factory' .. tplink_region_suffix,
+})
+
 
 -- Xiaomi