diff --git a/openwrt_patches-21.02/409-master-mt76-add-support-for-muru_onoff-via-debugfs.patch b/openwrt_patches-21.02/409-master-mt76-add-support-for-muru_onoff-via-debugfs.patch
new file mode 100644
index 0000000..f8abe01
--- /dev/null
+++ b/openwrt_patches-21.02/409-master-mt76-add-support-for-muru_onoff-via-debugfs.patch
@@ -0,0 +1,144 @@
+diff --git a/package/kernel/mt76/patches/1006-mt7915-muru-onoff-switch-via-debugfs.patch b/package/kernel/mt76/patches/1006-mt7915-muru-onoff-switch-via-debugfs.patch
+new file mode 100644
+index 0000000..ce576e9
+--- /dev/null
++++ b/package/kernel/mt76/patches/1006-mt7915-muru-onoff-switch-via-debugfs.patch
+@@ -0,0 +1,135 @@
++diff --git a/mt7915/init.c b/mt7915/init.c
++index 67677021..62a6d53b 100644
++--- a/mt7915/init.c
+++++ b/mt7915/init.c
++@@ -515,6 +515,7 @@ static void mt7915_init_work(struct work_struct *work)
++ 	mt7915_init_txpower(dev, &dev->mphy.sband_2g.sband);
++ 	mt7915_init_txpower(dev, &dev->mphy.sband_5g.sband);
++ 	mt7915_txbf_init(dev);
+++	dev->dbg.muru_onoff = OFDMA_DL | MUMIMO_UL | MUMIMO_DL;
++ }
++ 
++ static void mt7915_wfsys_reset(struct mt7915_dev *dev)
++diff --git a/mt7915/mcu.c b/mt7915/mcu.c
++index eb003bbc..dae38e63 100644
++--- a/mt7915/mcu.c
+++++ b/mt7915/mcu.c
++@@ -1535,6 +1535,7 @@ mt7915_mcu_sta_muru_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
++ 			struct ieee80211_vif *vif)
++ {
++ 	struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
+++	struct mt7915_dev *dev = mvif->phy->dev;
++ 	struct ieee80211_he_cap_elem *elem = &sta->he_cap.he_cap_elem;
++ 	struct sta_rec_muru *muru;
++ 	struct tlv *tlv;
++@@ -1550,9 +1551,10 @@ mt7915_mcu_sta_muru_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
++ 
++ 	muru = (struct sta_rec_muru *)tlv;
++ 
++-	muru->cfg.mimo_dl_en = mvif->cap.he_mu_ebfer ||
+++	muru->cfg.mimo_dl_en = (mvif->cap.he_mu_ebfer ||
++ 			       mvif->cap.vht_mu_ebfer ||
++-			       mvif->cap.vht_mu_ebfee;
+++			       mvif->cap.vht_mu_ebfee) &&
+++			       !!(dev->dbg.muru_onoff & MUMIMO_DL);
++ 
++ 	muru->mimo_dl.vht_mu_bfee =
++ 		!!(sta->vht_cap.cap & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE);
++@@ -1563,13 +1565,14 @@ mt7915_mcu_sta_muru_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
++ 	muru->mimo_dl.partial_bw_dl_mimo =
++ 		HE_PHY(CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO, elem->phy_cap_info[6]);
++ 
++-	muru->cfg.mimo_ul_en = true;
+++	muru->cfg.mimo_ul_en = !!(dev->dbg.muru_onoff & MUMIMO_UL);
++ 	muru->mimo_ul.full_ul_mimo =
++ 		HE_PHY(CAP2_UL_MU_FULL_MU_MIMO, elem->phy_cap_info[2]);
++ 	muru->mimo_ul.partial_ul_mimo =
++ 		HE_PHY(CAP2_UL_MU_PARTIAL_MU_MIMO, elem->phy_cap_info[2]);
++ 
++-	muru->cfg.ofdma_dl_en = true;
+++	muru->cfg.ofdma_dl_en = !!(dev->dbg.muru_onoff & OFDMA_DL);
+++	muru->cfg.ofdma_ul_en = !!(dev->dbg.muru_onoff & OFDMA_UL);
++ 	muru->ofdma_dl.punc_pream_rx =
++ 		HE_PHY(CAP1_PREAMBLE_PUNC_RX_MASK, elem->phy_cap_info[1]);
++ 	muru->ofdma_dl.he_20m_in_40m_2g =
++diff --git a/mt7915/mcu.h b/mt7915/mcu.h
++index a50c7692..41825cef 100644
++--- a/mt7915/mcu.h
+++++ b/mt7915/mcu.h
++@@ -1326,4 +1326,10 @@ struct csi_data {
++ };
++ #endif
++ 
+++/* MURU */
+++#define OFDMA_DL			BIT(0)
+++#define OFDMA_UL			BIT(1)
+++#define MUMIMO_DL			BIT(2)
+++#define MUMIMO_UL			BIT(3)
+++
++ #endif
++diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
++index 3caa2c2a..3edb1033 100644
++--- a/mt7915/mt7915.h
+++++ b/mt7915/mt7915.h
++@@ -351,6 +351,7 @@ struct mt7915_dev {
++ 		u32 bcn_total_cnt[2];
++ 		u16 fwlog_seq;
++ 		u32 token_idx;
+++		u8 muru_onoff;
++ 	} dbg;
++ #endif
++ };
++diff --git a/mt7915/mtk_debugfs.c b/mt7915/mtk_debugfs.c
++index 9072ff3f..a2cdc6d5 100644
++--- a/mt7915/mtk_debugfs.c
+++++ b/mt7915/mtk_debugfs.c
++@@ -2628,6 +2628,38 @@ static int mt7915_token_txd_read(struct seq_file *s, void *data)
++ 	return 0;
++ }
++ 
+++static int mt7915_muru_onoff_get(void *data, u64 *val)
+++{
+++	struct mt7915_dev *dev = data;
+++
+++	*val = dev->dbg.muru_onoff;
+++
+++	printk("mumimo ul:%d, mumimo dl:%d, ofdma ul:%d, ofdma dl:%d\n",
+++		!!(dev->dbg.muru_onoff & MUMIMO_UL),
+++		!!(dev->dbg.muru_onoff & MUMIMO_DL),
+++		!!(dev->dbg.muru_onoff & OFDMA_UL),
+++		!!(dev->dbg.muru_onoff & OFDMA_DL));
+++
+++	return 0;
+++}
+++
+++static int mt7915_muru_onoff_set(void *data, u64 val)
+++{
+++	struct mt7915_dev *dev = data;
+++
+++	if (val > 15) {
+++		printk("Wrong value! The value is between 0 ~ 15.\n");
+++		goto exit;
+++	}
+++
+++	dev->dbg.muru_onoff = val;
+++exit:
+++	return 0;
+++}
+++
+++DEFINE_DEBUGFS_ATTRIBUTE(fops_muru_onoff, mt7915_muru_onoff_get,
+++			mt7915_muru_onoff_set, "%llx\n");
+++
++ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
++ {
++ 	struct mt7915_dev *dev = phy->dev;
++@@ -2637,6 +2669,7 @@ int mt7915_mtk_init_debugfs(struct mt7915_phy *phy, struct dentry *dir)
++ 	dev->dbg.fwlog_server_ip = 0xFFFFFFFF;
++ 	scnprintf(dev->dbg.fwlog_ifname, sizeof(dev->dbg.fwlog_ifname), "wlan0");
++ 
+++	debugfs_create_file("muru_onoff", 0600, dir, dev, &fops_muru_onoff);
++ 	debugfs_create_file("fw_debug_internal", 0600, dir, phy, &fops_fw_debug);
++ 	debugfs_create_file("fw_debug_module", 0600, dir, dev,
++ 			    &fops_fw_debug_module);
++-- 
++2.29.2
++
+-- 
+2.29.2
+
