quick review Banana Pi M3
2 2

122 posts in this topic

Recommended Posts

What you say about security problems really scare me, I dont know what to do because I bought it on Aliexpress and I can't send it back. I do not have much money to buy another board either.

The goal is to replace my actual debian server which is too powerfull for the usage : host a phpbb forum for my friends, a owncloud server for personal usage and some other services. It's a total waste of energy.

What do you suggest to me ? Should I go with this solution anyway ?

Share this post


Link to post
Share on other sites

The goal is to replace my actual debian server which is too powerfull for the usage

 

If you want to connect the board to the Internet and let others access it from the outside I would really not rely on any BSP/vendor kernel. They're all known for countless security flaws. Use a recent Armbian Jessie/Xenial image that makes use of mainline kernel. Since this is not be expected anytime soon for A83T I would try to sell it and the decide which board to buy.

 

Always remember: Igor runs this whole forum on a little A20 equipped Olimex Lime2 board. Dual core @ 900 MHz is enough if storage is snappy and network not the bottleneck.

Share this post


Link to post
Share on other sites

What about Orange PI ?

 

Way better for this use case than BPi M3. But mainline kernel support isn't ready now. An Orange Pi One/PC with a fast 32GB Samsung EVO and good I/O settings (Armbian defaults) makes up a nice server.

Share this post


Link to post
Share on other sites

I dont know what is "mainline" kernel. Is it the last stable version ? Does it mean that there are security flaws like for the bpi ?

 

Igor calls mainline "vanilla" in contrast to legacy. Mainline is just the official kernel and not some vendor specific crap that has been hacked together by SoC vendors that only care about Android functionality (this is called 'BSP kernel').

 

For sunxi devices like Bananas and Oranges please have a look at http://linux-sunxi.org/Mainlining_Effort#Planned_for_4.7

 

Since Armbian supports Orange Pis and Igor spent a whole day on patching Allwinner's kernel sources from 3.4.39 up to 3.4.112 (already two times since we exchanged BSP kernel base) our legacy kernel sources for Orange Pis contain a few hundred security flaws less than SinoVoip's kernel for Banana Pi M3 (or all the other OS images for Oranges out there).

 

So while it's better from a security point of view to take Armbian with a legacy kernel since we fixed more flaws and update way more early it's still better to rely on hardware where mainline kernel is able to run on.

 

The main difference is: When you want to add a new driver to the official (mainline) kernel sources a huge peer review process starts and countless people have to look over the code and give their aknowledgement (acked-by). When a new driver is added to a BSP kernel some developer paid by a SoC vendor maybe even suffering from a hangover might hack together insecure crap and if it works somehow commits it... and this will then remain forever in this kernel tree. So from a security point of view vendor/BSP kernels are always just another time bomb. See the 'rootmydevice' example from Saturday!

Share this post


Link to post
Share on other sites

I checked all the boards listed here.

 

Huh? Regarding SATA please have a look here: http://linux-sunxi.org/Sunxi_devices_as_NAS

 

And regarding boards we support there: http://www.armbian.com/download/

 

And Orange Pi Plus is IMO absolutely uninteresting since it features the slowest USB-to-SATA bridge in the world and also not all real USB ports are exposed. The freshly announced Orange Pi Plus 2E (what a name!) is way more interesting: http://www.cnx-software.com/2016/04/26/orange-pi-plus-2e-development-board-with-gigabit-ethernet-2gb-ram-16gb-emmc-flash-to-sell-for-35/

Share this post


Link to post
Share on other sites

LOL. SinoVoip is still very busy doing things wrong. Instead of providing online updates for their many OS images like Armbian does (so that people not always have to start from scratch) they still try very hard to waste time creating crappy OS images instead.

 

Instead of adopting Armbian's build system (which would immediately increase the quality of their OS images by magnitudes) they manually fiddle around with an Armbian rootfs, combine it with their various u-boot/kernel combinations for M2, M2+ and M3 to create something not a single of their customers wants or asked for: OS images that might run crappily on all these three different Banana boards if you're able to deal with the weird CLI tool needed.

 

This here is NOT Armbian:

 

54090e73e6f812c74653547cf7311726a877175f

 

Armbian images have NOT  been manipulated by any human being, they're clean and made from scratch. SinoVoip manipulated already (since otherwise the hostname would be 'unknownhardware' instead -- I knew why I changed that in our armhwinfo script back then! :) ) so please don't trust in crappy OS images provided by SinoVoip even if they chose a rootfs made by us.

 

Armbian is an automated build system and a huge knowledge base thrown into. And any working Armbian image is just the last logical step of using the important part: the build system. Anything else is just insane.

 

TL;DR: SinoVoip still doesn't get it. Instead of adopting Armbian's build system to enhance quality of their OS images they try to trick their users into believing by combining a manipulated Armbian rootfs with their outdated u-boot/kernel stuff they would get Armbian quality. Nope, not true.

Share this post


Link to post
Share on other sites

TK,

 

First of all, kudos for providing such a detailed topic on this board. I'm a bit late to this forum and I wish I had found this before spending my money on the M3 board. Oh well.

 

I'm a bit newbie on this, and given that you have such remarkable experience, would you be willing to provide a guide on how to install a base ubuntu (16.04) image onto the M3? I've got as far as compiling their kernel by following this guide (https://bananapi.gitbooks.io/bpi-m3/content/howtosetupdockerenvtobuildgithubsourcecod.html), if it helps. I've also asked for help on their forum but honestly I don't think they know what they're doing.

 

I tried a few of the images that SinoVoip provides but they're super loaded with so much junk that who knows what other spyware they've installed, and I just don't feel safe using it.

 

Thanks in advance and I truly appreciate your help.

Share this post


Link to post
Share on other sites

Only guidance I can provide (since I don't want to waste my time with this useless device any more) is this: http://forum.banana-pi.org/t/bpi-m3-new-image-bpi-m3-ubuntu-16-04-beta-mate/1440/16

 

Everything should be outlined there in detail. And the basics are always the same: If you want or have to rely on their outdated u-boot and kernel you need the skeleton from any of their images (bootloader + kernel + initrd contained in the first MB of the image, then 1 small FAT partition and then a larger ext4 partition) and then you can simply exchange the contents of the ext4 partition with any armhf rootfs of your choice (that's how they create the gazillions of crappy OS images themselves all the time).

 

You can create a 16.04 LTS rootfs with our Armbian build system (like moso did in the aforementioned thread) and this is also what I would recommend. But please keep in mind: Kernel 3.4 is at 3.4.112 -- what do you get when relying on SinoVoip 'support': 3.4.39... they're either too dumb to patch the kernel up to latest version or too lazy. Probably the former since they waste so much of their own and their users time providing OS images with features no one needs or asked for (filling the FAT partition with junk to be able to boot the same OS image on M2, M2+ and M3 after executing some weird tool to overwrite this and that)

Share this post


Link to post
Share on other sites

@tkaiser

 

Bananapi M3 Armbian images are not public?

I think the source.list contain Banana pi m2plus Armbian I debian-lite image has the Armbian based on published in banana pi Forum, but because poor conditions.

Share this post


Link to post
Share on other sites

Bananapi M3 Armbian images are not public?

 

Armbian does not support BPi M3 at the moment (might change or not sometimes in the future). I provided a combination of an Armbian rootfs with 'Team BPi's bootloader+kernel a while ago but this is still no Armbian.

 

Also the various images you find there that claim to be Armbian aren't (since 'Team BPi' doesn't understand what Armbian is -- a build system and not a rootfs).

 

You find Armbian for M2+ at the usual location: http://www.armbian.com/banana-pi-m2-plus/(this is an image built from scratch and not crappy u-boot/kernel by @sinovoip combined with a manipulated Armbian rootfs). And there's still nothing for M3 now.

Share this post


Link to post
Share on other sites
Guest Marcus

Hi,

 

i have purchased the M3 as soon as it came out instead of waiting and reading this forum before... however, I decided to give it a try now. Some thoughts about hat:

 

1. I will try to power the M3 via the "SATA" power connector. I have done so with the Bpro, that works pretty fine. According to the schematics, this also should be possible with the M3, but I did not test so far. The device will be mounted in a metal case together with a bunch of other electronics, so an additional cable does not matter.

 

2. The ultra low performance fake-SATA is annoying but a minor problem in my case, since my application does not require much harddisk bandwidth. I could even stay with SD card, but I plan to connect a small SDD anyway since they are more reliable than SD from my experience. I will keep the boot system on eMMC which should reduce the boot time.

 

3. For my application I need pretty much computational ressources for numeric processing. That is why I was quite happy to learn that Sinovoip will provide an 8-core Banana device. The thermal problems with the M3 may be a serious problem, but currently I am using a BPro which has to carry a sustained load of about 3.0, and not all parts of the application are implemented. Even if I cannot operate all 8 cores at nominal 2GHz, I expect that the M3 can provide the required performance. I plan to apply a heatsink and a small cooling fan and see how far I can go with that setup.

 

In a nutshell I would say, thet the M3 clearly is a crutch, but possibly it is instrumental for me.

 

I have followed the instructions you linked in #102 and put the image into the emmc, everything works fine so far. However, it seems that wifi is not working. There is no kernel module named AP62<something>, which is required as far as I understand. Could you give a hint?

 

Thanks a lot

Marcus

Share this post


Link to post
Share on other sites
Guest Buldamoosh

Since neither Armbian nor Bananian will support the M3 anytime soon (Nico got his M3 also back in Dec but I would believe he will focus on M2+ he got today since there regarding H3 everything's ready to publish a Bananian image) it would be fair if you take the latest 'official' image from SinoVoip for tests.

 

Keep in mind that you can install on any of their Debian based OS images RPi-Monitor with A83T adoptions pretty fast (relying on my install script) and if you start heavy benchmarking then be prepared that you will end up with a quad core SoC rather fast since AFAIK they still use the dumb ths settings they got from Allwinner (leading to killed CPU cores instead of throttling).

 

So be prepared that with their settings and without using a heatsink the M3 will be magnitudes slower (four times easily, if the 2nd CPU cluster gets killed) than with 1) approriate ths settings 2) a heatsink and 3) a small fan blowing air over the heatsink's surface. Have a look at the last 2 rows, same Banana, same settings, one times heatsink, the other heatsink+fan. Running multithreaded benchmarks this makes a huge difference (unfortunately the PTS contains also single threaded stuff where throttling has no influence): http://openbenchmarking.org/result/1603096-GA-1603090GA04

 

Ah, and in case they sent you a sample from the 1st batch with crappy Micro USB for DC-IN I hope you have a solder iron ready or use a short USB cable and test headless since otherwise the board will power off.

I just unboxed my M3 and installed your image straight away.  One thing I noticed is that only 4 of the cores are running.  After reading through the thread more, should I assume that this is due to overheating of the processor, cores are shutting down so it doesn't melt?

Share this post


Link to post
Share on other sites

One thing I noticed is that only 4 of the cores are running.  After reading through the thread more, should I assume that this is due to overheating of the processor, cores are shutting down so it doesn't melt?

 

Exactly. You should read through the whole device page to get the basics. Then the thermal settings aren't part of my image but contained in bootloader stuff I use from @sinovoip. The good news: If you install their latest bootloader+kernel stuff (provided as a deb and requiring messing around with a tool called bpi-bootsel) you get the possibility to adjust script.bin so you can use bin2fex/fex2bin to finetune the throttling settings (script.bin being read not from the usual location).

 

If you've a board with Micro USB for DC-IN you're lost (or have to read from here on in case you have solvering skills), if you have a device from the last batch with barrel plug and a quality 5V/3A PSU then search for a large and efficient heatsink (this might already prevent killing the 2nd CPU core cluster).

 

And if you use my Armbian hybrid image then there's a script that will be called from within /etc/rc.local. Just check this file and adjust the script since in its current form it was made for H3 devices and only takes care of cpu0-cpu3 -- on BPi M3 you have to expand that to cpu0-cpu7 instead. Out script will bring back killed CPU cores when thermal situation is ok again.

Share this post


Link to post
Share on other sites

BTW: I won't answer any questions to this paperweight any more since it's such a waste of time. If you bought this device you get the support you deserve in the official support channel: http://forum.banana-pi.org/c/bpi-m3

 

All community collected information is still available here: http://linux-sunxi.org/Banana_Pi_M3

 

It seems Nora, Banana Pi's product manager, really thinks they did a great job and the many design flaws this board shows are based on 'BPI fans' requests (so shitty DC-IN and all sorts of problems related with that aren't the vendor's fault but again just the users themselves): http://forum.banana-pi.org/t/booting-from-ssd-sata/1845/28

 

In case you disagree or are not satisfied please let Nora know, ask questions in http://forum.banana-pi.org and also do rate the quality of hardware, software and support there. Since Armbian doesn't support BPi M3 for a reason ('Team BPi' obviously is not able to understand) no support in any form here any more. Please rely on 'vendor support' only.

Share this post


Link to post
Share on other sites

BTW: I won't answer any questions to this paperweight any more since it's such a waste of time.

ROTFL, how many times did I read this from you.

 

 

It really hurts how blind they (Nora /SinoVoip) are about their current situation - I can just imagine that they lie to each other as much as they can.

It might already hurt themselves :huh:

 

 

Here is a fan of Micro USB, Dave Jones of EEVBLOG.

The idea that everybody in the world has a MicroUSB cable may be handy, but from a technical perspective still not the right solution for every SBC !

Share this post


Link to post
Share on other sites

ROTFL, how many times did I read this from you.

 

Unfortunately true. But it's a matter of fact that the board vendor is not able to understand how to improve things and so people buying this board should get what they deserve without others wasting time trying to compensate.

 

Everyone saving some research prior to buying should get back to the vendor / seller. Unfortunately we can't help which really makes me sad since I talked recently to an SBC enthusiast who founded a 'Banana Stammtisch' that nearly all of them bought an M3 considering this to be a beefy upgrade of the M1 based on advertising just to realize that it's a horrible downgrade regarding IO capabilities and being almost useless due to missing software/support. So all their M3 are collecting dust now.

 

At least I tried to document one potential solution for the limited IO bandwidth situation in the aforementioned thread. Time to stop.

Share this post


Link to post
Share on other sites
Guest jjthomas3

I actually got my M3 POS up and running using the Ubuntu 15.x MATE image, and then upgrading to Ubuntu 16.04 LTS via the Ubuntu Update engine. The boards is stable only because I addressed issues 1 and 2. That having been said....I think the board, in conjunction with it's support is complete rubbish. I think it best to describe the Banana Pi M3 as an overpriced, over engineered, hardware based Internet browser...... at best. In case anone reading this thread hasn't already figured this out. I too found this thread too late, and was suckered buy the impressive hardware stats.... Fool me once.....shame on you....fool me twice..... SinOverIP...er SINOVOIP will not get the opportunity to hold another single dollar of mine.

 

Thanks for the links and the info guys! Too bad you aren't making a SBC....it might actually work :D

 

 

Share this post


Link to post
Share on other sites
Guest Mike

I also just bought an M3 before stumbling on this forum..

 

The main reason that I bought an M3 is network throughput: a raspberry PI has a max of 100mbit throughput, and I simply need more.. Which device would you recommend buying for having at least 1Gb of network throughput?

 

Kind regards, and thanks for your persistence.

 

Share this post


Link to post
Share on other sites

The main reason that I bought an M3 is network throughput: a raspberry PI has a max of 100mbit throughput, and I simply need more.. Which device would you recommend buying for having at least 1Gb of network throughput?

 

No RPi has Ethernet capabilities but just one single USB2 connection to the outside. It's always an option to ignore the onboard USB-to-Ethernet adapter built into the internal USB hub with something better, eg. Realtek RTL8153 based. But if the data to be transmitted over Ethernet is located on an USB disk then this single USB2 connection will be the bottleneck anyway.

 

We support a couple of GbE capable boards but I doubt the majority provides 'at least 1Gb of network throughput'. Being able to negotiate a GBit Ethernet connection is one thing, saturating this connection another. The only Armbian supported device known to be able to fully saturate Gbit Ethernet while also maxing out IO paths is Solid-Run's Clearfog Pro (at a higher price -- you always get what you pay for ;) )

 

Therefore it would be a good idea to tell us your real use case since it's easier to recommend anything when we know what's also important (eg. IO, Banana Pi M3 is the best example how useless Gbit Ethernet can be when combined with a moronic design where only one USB port of the SoC is used and then also relying on the slowest USB-to-SATA bridge in the world).

 

In the meantime you want to read through:

Share this post


Link to post
Share on other sites
Guest Mike

My specific use case is a network monitoring device. Basically i want to send all network traffic (internal as well as external) to the device and apply some monitoring to it. That's why it needs a high performant network interface, and some decent processing power. Ive tested it on the rpi3, and while it works fine for very small networks, I would love to improve the performance a little bit.

Share this post


Link to post
Share on other sites

My specific use case is a network monitoring device. Basically i want to send all network traffic (internal as well as external) to the device and apply some monitoring to it. That's why it needs a high performant network interface, and some decent processing power. Ive tested it on the rpi3, and while it works fine for very small networks, I would love to improve the performance a little bit.

Than check Odroid xu4. It cost more but it's powerful and decently supported.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

2 2

  • Support the project

    We need your help to stay focused on the project.

    Choose the amount and currency you would like to donate in below.