So there seems already a way to load eeprom from file…but this image seems to have no public sourcecode yet
OpenWRT creates this folder in build_dir
. Based on the folder name I think it’s the latest mt76 version.
./build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/mt76-2020-05-30-85c51608
I’ve gone further into testing WiFi performance. I still can’t call 5 GHz WiFi operational.
mt7615 constantly causes a system crash and reboot after about 30-50 sec. of iperf3
operation.
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 74.9 MBytes 625 Mbits/sec
[ 5] 1.00-2.00 sec 77.3 MBytes 650 Mbits/sec
[ 5] 2.00-3.00 sec 72.2 MBytes 606 Mbits/sec
[ 5] 3.00-4.00 sec 72.4 MBytes 607 Mbits/sec
[ 5] 4.00-5.00 sec 73.3 MBytes 616 Mbits/sec
[ 5] 5.00-6.00 sec 50.1 MBytes 419 Mbits/sec
[ 5] 6.00-7.00 sec 21.2 MBytes 178 Mbits/sec
[ 5] 7.00-8.00 sec 27.2 MBytes 228 Mbits/sec
[ 5] 8.00-9.00 sec 17.5 MBytes 147 Mbits/sec
[ 5] 9.00-10.00 sec 30.7 MBytes 258 Mbits/sec
[ 5] 10.00-11.00 sec 51.6 MBytes 433 Mbits/sec
[ 5] 11.00-12.00 sec 56.9 MBytes 477 Mbits/sec
[ 5] 12.00-13.00 sec 77.7 MBytes 653 Mbits/sec
[ 5] 13.00-14.00 sec 97.2 MBytes 816 Mbits/sec
[ 5] 14.00-15.00 sec 99.0 MBytes 830 Mbits/sec
[ 5] 15.00-16.00 sec 97.8 MBytes 821 Mbits/sec
[ 5] 16.00-17.00 sec 99.4 MBytes 833 Mbits/sec
[ 5] 17.00-18.00 sec 55.7 MBytes 468 Mbits/sec
[ 5] 18.00-19.00 sec 994 KBytes 8.13 Mbits/sec
[ 5] 19.00-20.00 sec 8.22 MBytes 68.9 Mbits/sec
[ 5] 20.00-21.00 sec 12.0 MBytes 101 Mbits/sec
[ 5] 21.00-22.00 sec 17.0 MBytes 143 Mbits/sec
[ 5] 22.00-23.00 sec 32.4 MBytes 272 Mbits/sec
[ 5] 23.00-24.00 sec 46.2 MBytes 387 Mbits/sec
[ 5] 24.00-25.00 sec 47.7 MBytes 399 Mbits/sec
[ 5] 25.00-26.01 sec 59.8 MBytes 501 Mbits/sec
[ 5] 26.01-27.00 sec 53.9 MBytes 453 Mbits/sec
[ 5] 27.00-28.00 sec 60.6 MBytes 509 Mbits/sec
[ 5] 28.00-29.00 sec 72.4 MBytes 608 Mbits/sec
[ 5] 29.00-30.00 sec 61.6 MBytes 516 Mbits/sec
[ 5] 30.00-31.00 sec 66.6 MBytes 558 Mbits/sec
[ 5] 31.00-32.00 sec 67.0 MBytes 563 Mbits/sec
[ 5] 32.00-33.00 sec 78.1 MBytes 655 Mbits/sec
[ 5] 33.00-34.00 sec 68.9 MBytes 578 Mbits/sec
[ 5] 34.00-35.00 sec 67.4 MBytes 565 Mbits/sec
[ 5] 35.00-36.00 sec 106 MBytes 885 Mbits/sec
[ 5] 36.00-37.00 sec 25.0 MBytes 210 Mbits/sec
[ 5] 37.00-38.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 38.00-39.01 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 39.01-40.01 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 40.01-41.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 41.00-42.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 42.00-43.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 43.00-44.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 44.00-45.00 sec 0.00 Bytes 0.00 Mbits/sec
mt7622 seems more stable, but it too has some instability once in a while.
[ 5] 460.00-461.00 sec 15.2 MBytes 127 Mbits/sec
[ 5] 461.00-462.01 sec 4.04 MBytes 33.7 Mbits/sec
[ 5] 462.01-463.00 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 463.00-464.01 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 464.01-465.01 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 465.01-466.01 sec 0.00 Bytes 0.00 Mbits/sec
[ 5] 466.01-467.00 sec 5.00 MBytes 42.2 Mbits/sec
[ 5] 467.00-468.00 sec 16.4 MBytes 137 Mbits/sec
[ 5] 468.00-469.00 sec 16.3 MBytes 137 Mbits/sec
[ 5] 469.00-470.00 sec 15.9 MBytes 133 Mbits/sec
At least my mt7615 works fine ~1h. Where did you get this board? I think you should contact you board manufacturer.
It’s a BPI-MT7615 module. Should I contact @sinovoip?
I have issues on official LEDE image too: when I bring up mt7615 module system goes in reboot.
Hi, @svintuss
Would you please create a github repo for all patches and firmware bin. I can’t follow your approach. Thanks.
Sure, will do that soon. I just want to find out how to make OpenWRT patches from manually modified files. I don’t like a “compile - install - make changes - recompile again - replace modules on working system” approach.
I’ve got some progress here.
After several hours of load testing with iperf3
I found out that mt7615 makes system crash if TX power exceeds 21 dBm. That means that in ‘AU’ or ‘US’ regional domains one have to manually limit TX power to 21 dBm.
I don’t know yet whether it’s my unit’s or a general BPI-MT7615 board/driver problem.
I also have that problem. I got a solution from BPI. If you want use BPI-MT7615 module on BPI-R64 board, The R64 board must modify a resistance to provide more power to the pci-e slot.
Which slot (pcie0,cn25?), which resistant and to which value?
You’re right.
Thanks to the assistance of 肖 [email protected] from @sinovoip I’ve managed to solve the TX power crash problem.
BPI-R64’s mPCIe slot current is limited to 1.5A (1.44A to be precise). When TX power of mt7615e board exceeds 22 dBm it starts to draw too much current and the whole system crashes.
This 1.5A limit is managed by SY6280 programmable switch. There are two solutions:
- Short circuit pins 1 and 5 and remove the current limit.
- Increase current limit by replacing R217 resistor to 3K one. This will give 2,27A current limit. The resistor is 0402 (1 mm x 0.5 mm)
I tried method 1, I can confirm that it works. Board is stable with 23 dBm TX power. Maybe the same procedure could be done to CN8 slot too.
UPD: There seems to be an issue with method 1: mt7615e goes up only after initial power on. If one reboots the board or presses reset
button there comes up this message in kernel log:
[ 12.231122] mt7615e 0000:01:00.0: Firmware is not ready for download
UPD2: Can confirm that method 2 works without issue. After changing R217 to 3KOhm the board is working fine on 23 dBm.
Cn8 has additional problem with missing capacitors on tx-lines
Is there any new state using eeprom from file? In Mainline i see only mtd version (which conflicts with mt7622), and mtd in 5.4 is broken (at least in openwrt)
And also mt76 git
hi svintuss,
I encounter this problem too. when I use MT7615 5g wifi, the board will be stuck then reboot. don’t have any log output. I hard to debug with my less knowledge of it without any log output in console.
i am remove the paython,when make it ,get this error:
–without-pymalloc CONFIG_SITE= ; fi )
configure: error: Please install autoconf-archive package and re-run autoreconf
Makefile:352: recipe for target '/home/neo/BPI_R64_OpenWRT/openwrt/build_dir/hostpkg/Python-3.9.4/.configured' failed
make[3]: *** [/home/neo/BPI_R64_OpenWRT/openwrt/build_dir/hostpkg/Python-3.9.4/.configured] Error 1
make[3]: Leaving directory '/home/neo/BPI_R64_OpenWRT/openwrt/feeds/packages/lang/python/python3'
time: package/feeds/packages/python3/host-compile#5.97#0.40#8.36
package/Makefile:111: recipe for target 'package/feeds/packages/python3/host/compile' failed
make[2]: *** [package/feeds/packages/python3/host/compile] Error 2
make[2]: Leaving directory '/home/neo/BPI_R64_OpenWRT/openwrt'
package/Makefile:107: recipe for target '/home/neo/BPI_R64_OpenWRT/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile' failed
make[1]: *** [/home/neo/BPI_R64_OpenWRT/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/neo/BPI_R64_OpenWRT/openwrt'
/home/neo/BPI_R64_OpenWRT/openwrt/include/toplevel.mk:218: recipe for target 'world' failed
make: *** [world] Error 2
copying kernel,dt, rootfs
cp: cannot stat 'build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/bpi_bananapi-r64-kernel.bin': No such file or directory
cp: cannot stat 'build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/image-mt7622-bananapi-bpi-r64.dtb': No such file or directory
cp: cannot stat 'build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/root.ext4': No such file or directory
done. Copy folder r64-boot into root folder of USB drive (at least 4GB needed)
Have you tried this?
The R64 is fully supported by mainline OpenWrt by now, no need to start off with outdated vendor-modified version of OpenWrt. You can follow the documentation on Build system setup regarding the prerequisites.
Then clone OpenWrt and launch menuconfig
git clone https://git.openwrt.org/openwrt/openwrt.git/
cd openwrt
scripts/feeds update
scripts/feeds install -a
make menuconfig
Then select R64 board and packages you would like:
Then trigger build using make -j$(nproc)
and wait for a long time
A third option, like option 1 is to disable the current limiting by shorting pins 2 and 3. i.e. using a 0 ohm Resistor for R217 the ISET. This leaves the EN pin still functional so the reboot works. I was successful with this approach.
My ugly solder job:
Hello guys. It’s been some time since I tried to make use of BPI R64 and I fell off track. Could somebody fast forward me on recent updates regarding OpenWRT support?
- Does mainline OpenWRT produce complete images for both SD and eMMC? Or I still need to extract the preloader, ATF and UBoot from BPI repository and then take compiled kernel and rootfs from OpenWRT and flash them manually?
- Is it possible now to use squashfs or it’s still necessary to choose ext4 rootfs?
- Are EEPROM patches for MT7615 and MT7622 still needed or you have found a way to place EEPROM in a file/on a partition?
- Does Bluetooth work with MT7615?