I don’t see the repository link in the Wiki
That would be great. Just found the official Mediatek repo/build. But the .img will not be build (maybe to large?) and a sysupdate will also not work with the FIT files.
Can somebody share a working build/repo/image? The pre-installed 21.01-S seems to have some bugs and I want to check and update the kernel and firmware.
Also, not sure about AFT and U-Boot for that …
We also discussed this in the Openwrt forum
Maybe @sinovoip can give us here some more insights.
I was able to build it using the site you posted. This results in .itb files. Following the link at the end of the page, there is also a tutorial on how to flash it.
For eMMC, you have to “Update the partition table by programming GPT_EMMC_mt798x_itb”. I think, I correctly did this by executing the following python2 (!) script within the arm-trusted-firmware/tools/dev-folder:
python mtk_gpt.py --i example/mt798x-itb-emmc.json --o GPT_EMMC
I also managed to build U-Boot following these instructions (used mt7987_emmc_rfb_defconfig in the configure step) and ATF with “make -f Makefile PLAT=mt7987 BOOT_DEVICE=emmc DRAM_USE_DDR4=1 BL33=u-boot.bin all fip” (since mt7987a does not seem to be available yet) to get the bl2.img and fip.bin.
Following the instructions under Flash the images/ Bootloaders: EMMC Procedure, I could successfully transfer the GPT-info and the bl2.img file using tftp, but the last step (upgrading FIP) fails with
*** FIP initialization failed (-22) *** *** FIP verification failed ***.
I think this is because of the PLAT=mt7987 issue.
Apart from that, I was then able to upgrade the firmware, since after the GPT partitioning, the partition “firmware” exists. But. The following boot fails.
Ah, I noticed a single_img_wrapper-directory in the arm-trusted-firmware/tools/dev-folder but am unable to see, if this works with an itb file right now.
Will test it tomorrow ![]()
Tried a lot of stuff but can not generate something which is worth to call stable or at least good enough to test the board properly. In the pre-installed 21.01 version, a lot of bugs and performance issues are present. I just want to use the board without Wi-Fi for now.
I think the U-Boot needs a fresh build too. But I have to dive into that fist. Found something here: https://git01.mediatek.com/plugins/gitiles/?format=HTML
Thanks to @slapstick559 I could build a custom 24.0X image (+U-Boot, +ATF) and it works more stable as the 21. After some tests, I put this thing to production ![]()
Hope the board will get part of the Openwrt supported hardware. For now I’m happy!
Missing PHY Firmware for 2.5GbE on BPI-R4-Lite (MT7987A)
Hello,
I’ve successfully built OpenWrt 24.10 for the Banana Pi BPI-R4-Lite (MT7987A) using your official GitHub repository:
BPI-SINOVOIP/BPI-R4Lite-OPENWRT-V24.10.0-Master-Devel
The board boots and operates correctly, but the 2.5 GbE WAN PHY fails to initialize due to missing firmware files required by the MediaTek driver.
[ 14.110383] MediaTek MT7987 2.5GbE PHY mdio-bus:0f: Firmware date code: 0/0/0, version: 0.0
[ 14.117994] MediaTek MT7987 2.5GbE PHY mdio-bus:0f: failed to load firmware: mediatek/mt7987/i2p5ge-phy-DSPBitTb.bin, ret: -12
[ 14.129550] mtk_soc_eth 15100000.ethernet eth1: mtk_open: could not attach PHY: -12
Driver Requirements
The source file
drivers/net/phy/mediatek/mtk-2p5ge.c
explicitly references two binary blobs:
mediatek/mt7987/i2p5ge-phy-pmb.bin (size 0x18000 = 98 KiB)
mediatek/mt7987/i2p5ge-phy-DSPBitTb.bin (size 0x7000 = 28 KiB)
Neither of these files are included in:
- this GitHub repository
- the built OpenWrt images
- or any public firmware package from BPI or MediaTek
As a result, the WAN 2.5 GbE PHY never comes up (NO-CARRIER).
References
Source code confirmation from Sinovoip
“When can I get the BPI-R4-Lite source code?”
→ Sinovoip confirmed that the GitHub repo above is official, but no firmware binaries are included.
https://forum.banana-pi.org/t/when-can-i-get-the-bpi-r4-lite-source-code/24253
Official hardware description
“1 × 2.5 G SFP and 1 × 2.5 G RJ45 WAN (PoE-ready)”
Confirms that the RJ45 2.5 GbE WAN port is part of the official design.
https://forum.banana-pi.org/t/banana-pi-bpi-r4-lite-wifi7-router-board-design-with-mediatek-mt7987/22633
Similar issue on BPI-R4 (MT7988)
Several users reported that the 2.5 GbE link only worked with “factory” MediaTek images, probably due to missing proprietary PHY firmware.
https://forum.banana-pi.org/t/bpi-r4-no-link-on-2-5g-interface/19138
Questions
- Are the
i2p5ge-phy-pmb.binandi2p5ge-phy-DSPBitTb.binfiles proprietary and therefore excluded from the public repositories? - If so, is there any official channel to obtain them (e.g. under NDA, through a binary SDK, or a private download link)?
- Alternatively, could you provide a factory image or SDK that includes these firmware blobs so developers can extract them and integrate into OpenWrt builds?
Summary
The board runs correctly from SD, U-Boot, and kernel boot all succeed.
The only missing component is the PHY firmware that prevents the 2.5 GbE WAN from functioning.
Providing these two binary files would allow full support of the MT7987-based R4-Lite platform in OpenWrt.
Thank you very much for your support and continued work on the Banana Pi platform.
Best regards,
Luca
Here?
Found through github’s search.
Official feed:
I bit hasty to come to this conclusion.
Searched for I don’t know how many days…
Many many many thanks
You are the man!
PS: You’re absolutely right — I was a bit hasty there ![]()