After read the mt76 source code, I find the source code miss eerpom 0x34 setting (not a real eeprom, just flash factory partition), and 0x34 is used to choose antenna number…
So fix is pretty simple:
--- a/mt7603/init.c
+++ b/mt7603/init.c
@@ -277,6 +277,9 @@ mt7603_init_hardware(struct mt7603_dev *dev)
if (ret < 0)
return ret;
+ if (((u8*)dev->mphy.eeprom.data)[MT_EE_NIC_CONF_0] == 0x11)
+ dev->mphy.antenna_mask = 1;
+
ret = mt7603_dma_init(dev);
if (ret)
return ret;
Once we find 0x34(MT_EE_NIC_CONF_0) is 0x11, force the driver use one antenna. That’s all.
Now after over 1 hour test, this mt76 driver is working very well and stably at >= 52Mbps 1T1R.