Adding support for the Banana Pi M2 Ultra

Hi everyone,

I own this device, the Banana Pi M2 Ultra, and I want to add support upstream in OpenWrt.

The performance is much better than the already supported Banana Pi (Allwinner A20) which can only NAT around 400MBit/s. Since my internet is 600MBit/s, I wanted something faster, and the Banana Pi M2 Ultra with 4xCortex A7 is able to NAT at the full speed of my connection (600MBit).

I added a page on the Wiki ToH with the techdata.

Here is my GitHub PR to add support. I am already running OpenWrt trunk on my Banana Pi M2 Ultra.

While this is not the newest hardware, hopefully it is interesting to someone!

Regarding your PR:

From: https://openwrt.org/submitting-patches

If you add support for new hardware: Include in your commit message a short description of the hardware and how to install OpenWrt on it. Have a look at the recent additions for some examples

Hello
Is the Ethernet port configured by default as wan?
regards

I have copied the image to the sd memory he started the system, but when the system is about to finish, it restarts from nowhere and remains in that loop, I am not able to make any modification, it has some image that I can use that does not be the sea of the openwrt repository?
first of all, Thanks

Yes, there is a known bug in procd on this hardware that causes the hardware watchdog to time out and reset.

Look in the bug for the patch which resolves the issue. The procd maintainer says the bug is in the kernel module and thus will not be fixed in procd. I have not had time to debug the kernel module to figure out why it is failing.

Lower the timeout in procd, as mentioned in the bug report (linked above) and it will boot.

I've just tested the two new snapshot images for Bananapi M2 ultra:

openwrt-sunxi-cortexa7-sun8i-r40-bananapi-m2-ultra-ext4-sdcard.img
and
openwrt-sunxi-cortexa7-sun8i-r40-bananapi-m2-ultra-squashfs-sdcard.img

none of the two works! The board doesn't start.

Tested both, "dd" and "bpi-copy" writing procedures without any success.

I have seen that kernel 4.19 and mainline 5.4 there are differences between dtsi

something similar happens between dts for wifi

  • 4.19.85
    & reg_dldo1 {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc-wifi-io";
    };

& reg_dldo2 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi";
};

  • 5.4-rc8
    & reg_dldo1 {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc-wifi-io";
    };

/ *

  • Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same
  • time, with the two being in sync, to be able to meet maximum power
  • consumption during transmits. Since this is not really supported
  • right now, just use the two as always on, and we will fix it later.
  • /

& reg_dldo2 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi";
};

& reg_dldo3 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi-2";
};