diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 6838cd360e7be33b1af4038755609c0593563438..06ad779a71a6f3d4e8e0f3a514aac5eedba58928 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -444,6 +444,7 @@ ramips-mt76x8
   - RE305 (v1) [#device-class-tiny]
   - TL-MR3020 (v3)
   - TL-MR3420 (v5)
+  - TL-MR6400 (v5)
   - TL-WA801ND (v5)
   - TL-WR841N (v13)
   - TL-WR902AC (v3)
diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular b/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular
index b60d8e6aaf797ccf7016a64bb58c0f76bf811996..4631d4f0e8c6ba954318e82d99ea285c21a51f07 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular
@@ -58,6 +58,10 @@ elseif platform.match('ramips', 'mt7621', {
 	'wavlink,ws-wn572hp3-4g',
 }) then
 	setup_ncm_qmi('/dev/ttyUSB2', 'ncm', 15)
+elseif platform.match('ramips', 'mt76x8', {
+	'tplink,tl-mr6400-v5',
+}) then
+	setup_ncm_qmi('/dev/cdc-wdm0', 'qmi', 15)
 end
 
 uci:save('network')
diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
index 6debe8c5dd3e6ea7c4da7f76fe163f8a2cc0400f..5e9e161e0781a4c60d5269ad0e8e1eeba12ab18d 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
@@ -85,6 +85,10 @@ function M.is_cellular_device()
 		'wavlink,ws-wn572hp3-4g',
 	}) then
 		return true
+	elseif M.match('ramips', 'mt76x8', {
+		'tplink,tl-mr6400-v5',
+	}) then
+		return true
 	end
 
 	return false
diff --git a/targets/ramips-mt76x8 b/targets/ramips-mt76x8
index b11b7672afaddbc3239deff7b907195eb8425641..52fb71bee4188bb5e6c53832fceee08eb921a9f2 100644
--- a/targets/ramips-mt76x8
+++ b/targets/ramips-mt76x8
@@ -80,6 +80,13 @@ device('tp-link-tl-mr3420-v5', 'tplink_tl-mr3420-v5', {
 	},
 })
 
+device('tp-link-tl-mr6400-v5', 'tplink_tl-mr6400-v5', {
+	factory = false,
+	extra_images = {
+		{'-squashfs-tftp-recovery', '-bootloader', '.bin'},
+	},
+})
+
 device('tp-link-tl-wa801nd-v5', 'tplink_tl-wa801nd-v5', {
 	factory = false,
 	extra_images = {
@@ -101,6 +108,7 @@ device('tp-link-tl-wr902ac-v3', 'tplink_tl-wr902ac-v3', {
 	},
 })
 
+
 -- VoCore 2
 
 device('vocore2', 'vocore_vocore2', {