From 850300af5a89cdede47898c4703fca7e1b5e5eec Mon Sep 17 00:00:00 2001
From: Felix Baumann <felix.bau@gmx.de>
Date: Fri, 16 Jun 2023 03:29:42 +0200
Subject: [PATCH] ramips-mt76x8: add support for TP-Link TL-MR6400 v5

---
 docs/user/supported_devices.rst                          | 1 +
 package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular | 4 ++++
 package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua | 4 ++++
 targets/ramips-mt76x8                                    | 8 ++++++++
 4 files changed, 17 insertions(+)

diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 6838cd36..06ad779a 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 b60d8e6a..4631d4f0 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 6debe8c5..5e9e161e 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 b11b7672..52fb71be 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', {
-- 
GitLab