Mainline linux kernel 4.4-rc1 have support BPI-M2

good news ,mainline linux kernel 4.4-rc1 have support BPI-M2

Here you can read the full story:

And the most funny thing is: A forum member called “sinovoip” (obviously a marketing person without any technical knowlege) posts the ‘great news’ that the new kernel release ‘has support’ for the BPi-M2. In fact a linux-sunxi community member wrote a new device tree file for the M2 from scratch because the one SinoVoip provided before was more or less crappy and a result of copy&paste from somewhere else.

That means now official U-Boot and Kernel have good working device tree files while the OS images SinoVoip provides and all their Github repos contain bad ones. And while they advertise the M2 being officially supported they DO NOT exchange their crappy device tree stuff with the ‘official’ ones from the community. Why?!

@sinovoip What about the GPU, is it also supported by OpenSource or not?

How to I get operating systems that run this new kernel? Like specifically Android?

You won’t.

Always keep in mind:

a) the heart of the M2, the A31s SoC, was already discontinued by the SoC manufacturer when SinoVoip shipped the M2. And Allwinner doesn’t provide newer Android SDKs even for SoCs that aren’t discontinued (for example, the A83T got support for Android Lollipop, the H3 not)

b) the linux-sunxi community started to write mainline u-boot/kernel for A31/A31s from scratch. Many things currently don’t work and will most likely never work, for example HW accelerated video and stuff like that. You would be able to use the M2 as a headless server with mainline kernel but not with Android

c) SinoVoip used the outdated Android SDK for the A31s they got from Allwinner. Containing kernel 3.3.0 and an even more outdated u-boot version. And they refuse to change anything so you will be cut-off from any new developments when you try to use Android on the M2 (you won’t even get GPIO support without recompiling the whole bloated so called ‘SDK’)

d) Even if you would use OS images from SinoVoip that use mainline kernel, you wouldn’t benefit from the fixes made upstream since the SinoVoip people refuse to adjust their ‘development style’. They still don’t get it that it’s moronic to clone every few weeks the most recent linux kernel but to use the official repo from instead.

So there’s absolutely no way to get gpio working with Android on the m2 at all? That’s my ultimate goal with this board :sob:

Since you M2 customers do not kick the manufacturer in his a**… nope.

If the Banana Pis would be products with support then the manufacturer would’ve provided the necessary pieces of software already. But they don’t care. They think it’s ok to solder components on a PCB and do some marketing. And you end up not with a SBC but a paperweight instead :slight_smile:

Since you’ve to use kernel 3.3.0 and an outdated ut’s still the boring procedure to

a) define Pin mappings in a so called fex file

b) compile the outdated u-boot version since there’s no support for script.bin

c) exchange u-boot on the SD-card

And it’s a shame that the manufacturer of this device released OS image without any GPIO pin mapping at all (like they did with their Linux OS images as well). Seems they don’t provide an Android image that’s booteable at all in the meantime?

I can boot every version of android available I’ve had my m2 since the first batch release (got mine at the end of March) I know the manufacturer isn’t supporting their product and it’s a shame how they separated their community cause now their really is no use for this product

I know the original banana pi and the pro have unofficial images available done by community members available it’s a shame no ones done it for the m2 I have no idea how or I’d do it myself (as I feel a lot of community members have in common)

dts file for BPI-M2.

OMG. This silly posts shows the whole problem. You post a link to a file somewhere on earth.

And at the same time you fail to understand that you should use the file you’re referring to for your OS images. And you don’t do this. All of your OS images based on mainline kernel contain not the dts file you’re referring to but a crappy one.

You also fail to understand that you should immediately delete all your github repos containing cloned linux mainline kernels and instead use the one from

You simply don’t get the idea how ‘open source development’ works. Thx again for the confirmation.

1 Like

we know what you mean, we will update kernel 4.4 . and make M1,M1+,M2,M3 all support it. have do many work about this .

OMG. You don’t need to “update kernel 4.4”!

Learn to become a community player. Commit your fixes upstream. Use mainline kernel/u-boot from the official repos where possible instead of maintaining own github repos with outdated cloned kernel/u-boot stuff.

And no, this does no apply to the M3. The M3 uses the A83T SoC. For this SoC only an outdated kernel 3.4.39 is available and mainline kernel efforts doesn’t cover this SoC that much: – so we’ll talk again in 2017 about mainline kernel and M3. Maybe just to realize that work has stopped.

Ok I’m completely new to Linux (only barely heard of it before stumbling across the world of soc’s) I bought the banana pro (m1+) and the m2 (they came out around the same time and I wasn’t aware of which was better or not so got both(personally I prefer the the m2 over the pro tho)) I have an excellent idea for a project which is almost complete (amazing for someone who had no programming history prior) I just need gpio working (with WiFi and touchscreen) on android, I’ve been trying to learn this kernel and sdk stuff to figure out gpio but I’m kinda lost, I’ve been playing around with Android for years (rooting my phone’s running custom roms such as cyanogenmod) but atm I’m completely lost, on most android phones it is possible to change the, kernel with root access (never tried it but reading on xdadevlopers and other sites gave me this info if I’m understanding correctly) so I guess I’m asking if this is something I should attempt on my m2? I could use the sinovoip os and change the kernel to this kernel would that work for whatI wanna do?