Banana Pi Review
Operating Systems
There are many web sites purporting to be the “official” Banana Pi web site, which is quite confusing.
https://www.banana-pi.com
https://www.bananapi.com
https://www.sinovoip.com.cn
The main community site is:
https://www.lemaker.org
Life is simpler in the case of the Raspberry Pi, where the official site and community forums all branch off from:
https://www.raspberrypi.org
Here is a list of operating systems found on the official & community sites for both the Banana Pi and the Raspberry Pi:
Banana Pi | Raspberry Pi |
www.lemaker.org | www.raspberrypi.org |
Raspbian (Debian Wheezy) | Raspbian (Debian Wheezy) |
Fedora | PiDora (Fedora Remix) |
ArchLinux | Arch Linux |
Lubuntu (Ubuntu derivative) | Risc OS (like BBC micro) |
OpenSuse | |
OpenElec (XBMC) | |
Bananian (light server) | RaspBMC (XBMC) |
Scratch | |
NOOBS full image | |
www.bananapi.com | NOOBS network install |
Android (4.2.2, 4.4 beta) | |
Kali Linux | |
OpenWrt | |
nOS | |
Kano | |
Moebius |
Software Compatibility
Just as software compatibility with the original IBM PC was important for Compaq, software compatibility with the Raspberry Pi is important to the Banana Pi.
Fortunately, Raspbian is based on the standard Debian Linux for the various ARM architectures, and little software accesses the hardware directly, so there should be a very high level of compatibility.
There are certain to be incompatibilities in certain areas – specifically low level graphics capabilites, and other unique features of the Allwinner A20 SOC vs. the Broadcom BCM2835 SOC (such as dma controller, specific I/O peripheral implementations) but most of these should not affect “regular” users.
I decided to re-install the software I already installed under the previous v3.0 Raspbian port, so I could report on the Raspbian 3.1 port compatibility.
1) Raspbian
During the course of this review, a v3.1 port of Raspbian was released for the Banana Pi. I downloaded the zip, unzipped the image and wrote it to a 16GB SD card. It booted quickly, and presented me with the same error message that my earlier v3.0 install gave me – namely:
“GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Cannot determine user of subject”
Some googling revealed that this has happened on other Debian installs in the past, and as it only presented itself on the first boot, it does not seem to warrant any concern.
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703016
- https://www.linuxquestions.org/questions/debian-26/gdbus-error-org-freedesktop-policykit1-error-failed-4175427513/
2) Common Applications
- The GIMP: ‘sudo apt-get install gimp’ and it was running fine
- scrot: ‘sudo apt-get install scrot’ and I could take screen captures
- gedit: ‘sudo apt-get install gedit’ and I had my simple editor back
- joe: ‘sudo apt-get install joe’ I always install my old standby editor
- LibreOffice: ‘sudo apt-get install libreoffice’ works fine
- Chromium: ‘sudo apt-get install chromium’ works fine (sorry, I don’t like Midori)
- SimpleIDE: see https://learn.parallax.com/propeller-c-set-simpleide/raspberrypi .. works fine
- xrdp: ‘sudo apt-get install xrdp’ works fine, use bananapi for both username and password
- remmina: ‘sudo apt-get install remmina’ worked fine
I did not have any problems installing any of the applications above, and brief testing shows them to work as expected.
I’d say that as far as user-level apps go, the compatibility is excellent.
3) GPIO
One of the strength of the Raspberry Pi is the availability of great community written open source software.
Gordon Henderson (@drogon on Twitter) has written some excellent open source programs and libraries for the Raspberry Pi, which Lemaker has been porting to the Banana Pi.WiringPi is Gordon’s library for C and C++ allowing easy access to the Pi’s I/O, with a strong Wiring/Arduino flavor. He also wrote a very handy command line GPIO utility for manipulating I/O from the command line.
(Link to Gordon’s WiringPi website – Link to Lemaker’s port of WiringPi)
Ben Croston maintains a repository for the Python interface RPi.gpio which he published under an unrestricted – essentially public domain license, and there is a Wiki that provides documentation for it.
Why did I talk about the C/C++ Wiring library, the RPi.GPIO python library and the command line GPIO utility?
Because they have all been ported to the Banana Pi, making it easier to use the Raspberry Pi documentation, tutorials and example code on the Banana Pi.
I have not had a chance to do more than a cursory test of these ported tools, however the basics (digital input and output) seem to work without any issues.
(Note that the Broadcom pin numbering scheme was translated to the the Banana Pi, so that the examples worked the same as they would on a Raspberry Pi)
I used my Pi Jumper Plus to test the GPIO libraries.
(click on image for larger version)
Review Index
Page 1: Introduction, Does it look the same?
Page 2: Closer Look, Feature Comparison
Page 3: Operating Systems, Software Compatibility
Page 4: WiringPi, RPi.GPIO, Hardware Compatibility
Page 5: More board compatibility test results
Page 6: USB WiFi stick Compatibility, Documentation, Benchmarks
Page 7: Power Utilization, Support, Conclusion