Banana Pi BPI-R4 Wifi 7 router board with MediaTek MT7988A (Filogic 880),4G RAM and 8G eMMC

Thank you! You helped me saving a lot of time for searching!

1 Like

I’ve just tried the M.2 Key-M socket on the back of the board with a cheap NVMe SSD (S3+ S3SSD240) and trying to read AT24 I2C EEPROM in the same bus which is also used as SMBus (MFG Data and MFG Clock) of the M.2 socket (see schematics excerpt below):

image

image

The problem here is that the presence of the SSD doesn’t only result in the at24 EEPROM (and probably also the RTC, I didn’t try) not being accessible any more, but also all other busses on the mux stop working and hence SFP modules can no longer be probed.

As MFG Data and MFG Clock signals are hardly ever needed, I suggest to not populate R228 and R230 in future versions.

please make sure you use the right revision in feeds.conf before compiling the image.

I checked the datasheets. In the Platform Datasheet, I found one reference:

In the registers datasheet part 1, I found several references, but I’m not sure if they’re relevant:

first one is only the register for accessing the efuse corresponding to the dt node

second seems are parts of efuse used by other subsystems (netsys,infracfg), but no information about how to write the efuse…maybe there is a hint in the first part (set bit X to have write access and then push data to Y)

@moore I’ve followed the steps exactly for Non-MLO SDK Release (20240112), all revisions are correct but it’s throwing error when building kernel

scripts/Makefile.build:42: /scripts/basic/Makefile: No such file or directory
make[5]: *** No rule to make target '/scripts/basic/Makefile'.  Stop.
make[5]: Leaving directory '/home/graphine/Desktop/mtk-openwrt/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7988/linux-5.4.260'
make[5]: *** [Makefile:530: scripts_basic] Error 2
make[4]: *** [Makefile:32: /home/graphine/Desktop/mtk-openwrt/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7988/linux-5.4.260/.configured] Error 2
make[4]: Leaving directory '/home/graphine/Desktop/mtk-openwrt/openwrt/target/linux/mediatek'
make[3]: *** [Makefile:11: compile] Error 2
make[3]: Leaving directory '/home/graphine/Desktop/mtk-openwrt/openwrt/target/linux'
time: target/linux/compile#7.43#2.90#9.17
    ERROR: target/linux failed to build.

I can build images successfully by using the ubuntu 18.04. I guess it’s a build environment issue.

I’ve modified the ugly patch. Ppe seems to be working now even with 4GB. Although I expected all 3 PPEs to work, and only ppe0 works. I tried with different gmacs.

I don’t expect this to be merged anywhere .

@dangowrt

1 Like

Has anyone ran some nvme ssd speed test? Can we expect to reach 10G speeds via SMB/NFS?

10G from SSD will not be possible as there is only a PCIe Gen-3 (8 GT/s) x1. Yes, only one lane! On R3 it was PCIe Gen-2 (5 GT/s) x2 which ends up a bit faster than the single Gen-3 lane on the R4.

1 Like

I see, since it’s gen 3 link, we should hopefully see around 7. I just installed a 980 formatted as f2fs in the slot, and I’m getting around 65 MB/s over samba 4 and connected to one of the 1G ports of the switch. Not able to test 10G port yet, but for 1G port it uses around 20% CPU. Not sure if the PPE comes into play to offload some parts.

No youll only see around 1GB/s on the PCIe port on the BPI-R4, to me it’s a waste to put Samsung 980 in it, id just get some cheaper one from other well known brands, afaik PPE isn’t working on dangowrt build because of 4gb ram

PPE works on my bpi-r4 branch, but even without it I was able to get 9.5gbps~ with Mellanox connectx3 on the other end

Can you share a link

2 Likes

I’ve looked at the patch and the part relevant to get PPE working with 4 GiB boils down to

Using all 3 PPE units is still on another page, of course…

I’ve also figured out why 100M/10M speeds were not working and got a fix for that as well

Please re-test with my updated tree on [WIP/RFC] mediatek: switch to Linux 6.1 and add BananaPi BPi-R4 by dangowrt · Pull Request #14140 · openwrt/openwrt · GitHub or build from mt7988-for-next branch of GitHub - dangowrt/linux: Linux kernel source tree .

2 Likes

Oooh, you’re getting real close lol

I modified mtk_gdm_condig to work on a targeted mac instead of all devices, but then something becomes unresponsive… need to debug it further

1 Like

Hi! I want to make sure I understand powering the board via the DC in barrel connector.

  • On the PCB next to the connector is printed “DC12V”.
  • But in the wiki it says 12V or 19V/3.2A (I understand the full aperage will not be needed without peripherals)
  • And on the forum here it says it can tolerate 9-24V

I can just power the BPI-R4 with a 20V supply? And I don’t have to set any jumpers or sw4 assuming I am not using the WiFi extension card? Can I simply input 20V at the barrel connector where it says 12V? And the polarity of the connector should be inside positive?

Yes, I supply it with 20V USB PD charger

1 Like