Develop on a chip like MT7628 is full of adventure…For new version of firmware I plan to use opensource MT76 driver instead of MT7628 driver. Weird thing is MT76 works well on some devices, but not well on some others, include VoCore2.
I guess it is antenna issue, because for normal WIFI4 routers default has two antennas works at same time for 300Mbps, 802.11n mode; but for VoCore2, default antenna 2 is disabled to save power and avoid cross talk when no second antenna attached.
Thanks to github MT76 contributors, I have some clues to fix this: https://github.com/openwrt/mt76/issues/423
After apply that patch, change mt76-2020-03-10-08054d5a/mt7603/init.c line 538
- dev->mt76.antenna_mask = 1;
+ dev->mt76.antenna_mask = 3;
I get a good result, 5minute no disconnect anymore.
...
[ 5] 297.00-298.00 sec 6.31 MBytes 52.9 Mbits/sec
[ 5] 298.00-299.00 sec 6.38 MBytes 53.5 Mbits/sec
[ 5] 299.00-300.00 sec 6.41 MBytes 53.7 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-300.00 sec 1.75 GBytes 50.2 Mbits/sec sender
[ 5] 0.00-300.07 sec 1.75 GBytes 50.2 Mbits/sec receiver
So this should be the solution, just need test more. Currently we store 1T1R and 2T2R parameter to factory setting partition in flash, so there are two ways, one is to add factory setting patch to change it, another is to add DTS setting patch to change it, emm, which way is better? hard choice.
To be continue…