May 042014
 

Gestern erhielten wir ein Paket aus China, mit einem BananaPi als Inhalt. Wie grün noch ist diese in den Markt gebrachte Banane? Reift sie genauso wie “Banana Software” erst mit der Zeit nach?

Hier ist unser erster Eindruck von der neuen Platine, die dem Raspberry Pi Konkurrenz machen möchte!

Auspacken

BananaPi-Bubble-PackageBanana-Pi-CartonBox

BananaPi-ESD-bag

Unsere Banana Pi Platine kommt dick in Luftpolsterfolie eingewickelt, einem unbeschrifteten weißen Karton (schneller Markteintritt?), und natürlich in einem antistatischen ESD Beutel verpackt.

Sobald dieser Beutel aufgerissen ist, kann man den BananaPi in Ruhe von allen Seiten betrachten:

Banana-Pi-shot

Die Banane misst 92 mm x 60 mm, was ein wenig größer ist als unsere vertraute Beere (85 x 56 mm ).

Inkompatibel mit Raspberry Pi Gehäusen

Leider wird sie durch die größere Platinengröße, und auch die zusätzlichen Anschlüsse (z.B: SATA Anschluss), inkompatibel mit den meisten Raspberry Pi Gehäusen. Abgebildet ist das TEK-BERRY Gehäuse, das wir für fast alle unsere Raspberry Pi Produkte verwenden:

BananaPi-TEKBERRY-case

 

Anschlüsse / Interfaces

Der Banana Pi hat, wie der Raspberry Pi auch, zwei USB Ports, einen micro-USB Anschluss für Power (neben dem SATA Port, NICHT an der “gewohnten” R-Pi Position!).

Für Video-Ausgabe sorgen der HDMI Port, und ein RCA Jack (NTSC / PAL). Für Audio gibt es die gewohnte 3.5 mm Klinkenbuchse. Audio kann natürlich auch über den HDMI Port ausgegeben werden.

Er wird als Raspberry Pi kompatibel vermarktet, hat daher den gewohnten GPIO Pin Header mit UART, I2C, SPI, Power. Nach eigenen Angaben pin-kompatibel, noch nicht von uns getestet.

Er hat jedoch noch einige mehr Anschlüsse, bzw. vom Pi abweichend:

  • GBit LAN Anschluss
  • IR – Empfänger
  • USB OTG Anschluss (kann auch zum “powern” des B-Pis genutzt werden)
  • SATA Anschluss (& Power Header für SATA drives)

 

  • zusätzliche Pins (GPIO Port) –> CAN bus, ADC
  • Eingebautes Mikrofon (neben dem Audio Ausgang)
  • Drei Tasten (Reset, Power Key, Uboot Key)
  • Eine Custom programmierbare LED (beim Pi kann eine LED ebenfalls umfunktioniert werden)

Was wir bei dem Banana Pi vermissen ist eingebautes WiFi & Bluetooth, was bei dem Raspi auch wirklich, wirklich fehlt. Liebe Foundation, vielleicht bei Model C? In unseren Raspberry PI Kits legen wir daher oft einen WLAN Stick bei, der jedoch einen der USB Ports gleich belegt.

BananaPi-FrontBananaPi-Back

Die Fotos zeigen den Banana Pi von vorne und von hinten. Der SoC und die beiden RAM Chips sind hinten gut erkennbar. Bei dem Raspberry Pi befindet sich der Speicher direkt über dem SoC (d.h. das ist der Chip den wir eigentlich darauf sehen).

Folienkabel – Anschlüsse:

Der BananaPi hat einen DSI Display Connector, neben dem LAN Port, und einen CSI Camera Connector. Im Vergleich zum Pi sind diese damit genau umgekehrt! Durch veränderten Pitch sind die Stecker anders als beim Pi dimensioniert – 16 mm Breite des Folienkabels beim R-Pi (Kameramodul), ca. 20,5 mm Breite der Buchse beim R-Pi. Das BananaPi hat Buchsen für ein ca. 21 mm breites Folienkabel, und die Buchsen selber sind ca. 26 mm breit.

Das Kameramodul des R-Pis und dessen Software ist auf den Broadcom SoC des Pis optimiert, um beispielsweise direkt in H.264 aufzeichnen zu können.

Ich vermute, dass es mit einem Gewaltmarsch in Software, und evtl. Hardware-Rerouting möglich wäre, das Kameramodul des Pis an den Banana Pi anzubinden. “Out of the box” scheitert es jedoch allein schon an dem Steckverbinder.

Erweiterungen

Rund um den Raspberry Pi gibt es eine Vielzahl von Erweiterungen, beispielsweise auch unser Touch Display Modul, das per GPIO Kabel angebunden wird.

In diesem Fall (und falls der Header wirklich Pin-kompatibel ist, wie behauptet) hängt die Nutzung nur von der Software ab, die für den Banana Pi neu geschrieben werden muss. Unser Display ist beispielsweise noch nicht kompatibel mit dem Banana Pi, da es ein besonderes Kernel-Modul, das für den R-Pi Kernel kompiliert wurde, benötigt. Da dieser Kernel wiederum für den R-Pi ist, dürfte er auf dem Banana Pi nicht starten, oder es könnte Unterstützung für diverse Hardware fehlen.

BananaPi-Ribbon-Cable

Viele der Erweiterungen werden allerdings speziell für den Formfaktor des Raspberry Pis hergestellt. Beispielsweise sieht man in den folgenden zwei Bildern das beliebte PiFace. Links auf dem Banana Pi, rechts auf dem Raspberry Pi:

BananaPi-PiFaceRaspberry-Pi-Piface

Wie man auf dem linken Bild erkennen kann blockiert der anders angebrachte LAN Port des Banana Pis das erfolgreiche Einstecken des PiFaces! Dieses kann jetzt nur noch über spezielle Adapterplatinen, wie bspw. Farnell’s Multi-breakout Board angeschlossen werden.

Das ist wichtig zu wissen, bevor man den Banana Pi kauft.

Auch Erweiterungen die einen wesentlich kleineren Footprint haben können problematisch sein:

BananaPi-RasClock

Die RasClock, Realtime Clock für den Raspberry Pi, lässt sich gut stecken. Mit dem Batteriehalter, und damit +3V berührt sie jedoch einen der Pins des BananaPis! Das ist auf dem Foto bei genauem Hinschauen zu erkennen.

Die Entfernung zwischen Composite Port und GPIO Header ist ebenfalls eine andere, dadurch sind weitere Erweiterungsplatinen inkompatibel. Raspi.TV hat ein Foto.

Hardware & Software

Der Banana Pi hat im Vergleich zum Raspberry Pi einen deutlich leistungsfähigeren, Dual-Core AllWinner A20 SoC – ARM Cortex A7 basierend.

1 GB DDR3 SDRAM im Vergleich zum R-Pi sind ein schöner Sprung, es gibt jedoch bereits Embedded-Boards mit noch mehr RAM.

Die Mali 400 GPU des BananaPis (ARM Mali400MP2) ist OpenGL ES 2.0/1.1 fähig.

In den SD/MMC Slot können bis zu 64 GB Karten eingesteckt werden, und bis zu (angeblich) 2 TB Festplatten an den SATA Anschluss angeschlossen werden. Ich vermute, dass auch größere Festplatten möglich sein sollten.

Die zwei USB Ports sind direkt an den AllWinner SoC angebunden, dadurch ist natürlich der Gesamtdurchsatz je Port im Vergleich zum Pi erhöht. (Der Pi bindet LAN, und beide USB Ports über einen einzigen tatsächlichen USB Port des SoCs an.)

Strom erhält der Banana Pi über einen oder beide Mikro-USB Ports. Er benötigt 1,7 A im Vergleich zu dem deutlich genügsameren R-Pi mit 750 mA. Wir haben mit einem 2 A Netzteil getestet.

Gebootet wird der Banana Pi genauso wie der Raspberry Pi von der SD Karte.

Nicht kompatibel mit SD Karten für den Raspberry Pi

Mein erster Versuch war, direkt von einer für den Raspi bespielten SD Karte zu booten. Fehlanzeige – der Bildschirm blieb dunkel, nur eine LED leuchtete.

Es müssen speziell für das System erstellte Images heruntergeladen werden. Es gibt ein auf Raspbian basierendes Image, das sogar die Raspbian Repositories für Software-Installation nutzt.

Es ist jedoch eigentlich sinnvoller, falls man nicht auf die Raspbian – Ökosphäre angewiesen ist, ARMv7 – Repositories / Software zu nutzen. Beispielsweise wird dank ARMv7 Ubuntu unterstützt, oder nach eigenen Angaben auch Android 4.4.

Für Android gibt es momentan allerdings nur ein Android 4.2 Image zum Download.

BananaPi-and-Picard

Mit unserer half-size SD Karte pi.card ist der Banana Pi kompatibel. Die Karte lässt sich nicht ganz so leicht wie bei dem Raspberry Pi entfernen, schließt jedoch bei dem Banana Pi bündig mit dem Rand ab.

pi.card wird also mit allen für den Banana Pi erscheinenden Gehäusen kompatibel sein. Mit den passenden Images für den Banana Pi kann man pi.card mit unserem beiliegenden SMILE SD Reader an jedem Rechner bespielen.

Raspbian auf dem Banana Pi Board

Das Image kann man von http://www.lemaker.org herunterladen (Google Drive Mirror). Raspi.TV hat in ihrem Review darauf hingewiesen, dass das Image für manche 8 GB Karten zu groß ist, daher habe ich es nach dem Entpacken gleich auf eine 16 GB Karte gespielt.

Das System startet direkt nach dem Boot in den Desktop (kurze Wartezeit mit dunklem Bildschirm inklusive).

Wie bereits beschrieben ist die Raspbian Repository eingebunden, und Pakete können wie gewohnt mit aptitude install installiert werden, z.B. aptitude install chromium

Chromium funktioniert, ebenso wie Midori.

Alles, inklusive den Browsern, und der Paketinstallation läuft spürbar schneller als auf dem Pi, jedoch für meine (vielleicht sehr anspruchsvollen?) Surf-Bedürfnisse immer noch ZU langsam (Seitenaufbau, Reaktionszeiten).

Das gleiche gilt auch für raspi-config, mit dem man z.B: die Tastatur konfigurieren kann. Ich bezweifle dass Übertakten, etc. aus raspi-config heraus funktionieren wird, ausprobiert habe ich es jedoch noch nicht.

Bei unserem Test hatte der HDMI Ausgang nach einem Time-Out ausgeschaltet. Auch durch Tastaturdruck / Mausbewegung konnte der Bildschirm nicht reaktiviert werden. Vielleicht eine Einstellungssache?

omxplayer

omxplayer ist zwar installiert, beendet sich aber mit der Fehlermeldung

“* failed to open vchiq instance”

egal ob man ihn als root oder user pi ausführt.

Das war nicht anders zu erwarten, ist doch omxplayer für OpenMAX, und insbesondere den VideoCore IV, die GPU des Raspberry Pi SoCs entwickelt worden. Die Mali GPU des Banana Pis muss anders angesprochen werden!

vlc

vlc konnten wir leider nicht testen, da es sich nicht installieren ließ. Das könnte mit den benötigten Reboots zusammenhängen (siehe oben: HDMI Time-Out)

Noch keine Unterstützung für WiringPi, RPi.GPIO

Gemäß Raspi.TV hat der Banana Pi (dort liebevoll ‘nana genannt) noch keine High-Level Unterstützung der GPIO Ports für Python, etc. Das wird sich bestimmt mit der Zeit ändern (Kernel-Unterstützung), hängt jedoch auch sehr von der Community-Größe ab. Hier hat der Pi die Nase eindeutig vorne.

Für GPIO-Interfacing sind darüber hinaus die Prozessor / Netzwerk Fähigkeiten des Pis vollkommen ausreichend – wenn man die Daten aufwendig weiterverarbeiten möchte währe eventuell ein zusätzlicher Server, beispielsweise eine virtuelle Maschine, aktuell eine interessantere Wahl als die Banane.

Android auf der Banana

Das Android Image von lemaker.org kann NICHT mit Win32DiskImager geschrieben werden. Es muss ein Tool von Allwinner dazu genutzt werden (PhoenixCard). Wir haben es aufgrund von Sicherheitsbedenken nicht getestet, da dieses Tool leider nicht direkt auf der Allwinner Seite herunterzuladen war.

Hier ist die benötigte Anleitung.

Fazit

Der Banana Pi ist eine gute Idee, jedoch steckt der Teufel in den Details:

  • Viele Raspberry Pi Erweiterungen mechanisch inkompatibel
  • Gehäuse inkompatibel
  • Software muss neu erstellt und angepasst werden (z.B. Kernel-Treiber)
  • Leistungssprung relativ gesehen nicht “sensationell”, potentiell schlechtere Grafik-Performance / Hardware Encoding / Decoding (noch zu wenig Infos darüber verfügbar)

Für Bastler, die nur den GPIO Port mit Python, etc., nutzen wollen, ist der Raspberry Pi nach wie vor erste Wahl. Hierbei spielt der langsame Prozessor keine solche große Rolle. Je nach eigenen Fähigkeiten sind auch Arduino-kompatible Boards sehr, sehr interessant. Ich sehe hier für den BananaPi nicht den Schlüsselmarkt.

Für NAS / … Anwendungen kann man entweder auf dedizierte Hardware zurückgreifen (die preislich mit Gehäuse etwa gleich liegt), oder auf einen leistungsfähigen Intel Atom SoC / bald auch auf einen AMD ARM64 setzen. Intel’s Minnowboard Max bietet z.B:

  • 64 bit Intel Atom SoC, auch als dual-Core erhältlich
  • 2 GB DDR RAM
  • einen USB 3.0 port (!)
  • PCI Express Gen 2.0 Lane

Es ist zwar natürlich teurer als der Raspberry Pi, und als der Banana Pi – aber auch deutlich leistungsfähiger und zukunftssicherer dank USB 3.0!

Für CloudComputing – Anwendungen ist der Formfaktor des Rpis / des BPis uninteressant, da nicht platzoptimiert, auch die Leistung per € / $ ist zu niedrig.

Summa summarum wirkt der Banana Pi auf uns momentan noch sehr unreif – wir empfehlen zu warten, bis die Plattform reifer wird, oder zu einer Alternative zu greifen.

Gute Alternative: HummingBoard

Wer von dem Banana Pi nicht ganz überzeugt ist:

Eine weitere Raspberry Pi “look-alike” Plattform, HummingBoard von SolidRun steht schon in den Startlöchern. Falls die Abmessungen der Platine, und deren Konnektoren kompatibler zum R-Pi sind, wäre schon viel gewonnen.

SolidRun geht beim Aufbau der Plattform und Community auf jeden Fall geschickter vor – die Platine befindet sich jetzt erstmal in den Händen von Entwicklern, auch für OpenELEC / Raspbmc Unterstützung wurde von Anfang an gesorgt. Wer auf den Raspi-Formfaktor verzichten kann, kann bereits jetzt bei SolidRun einen Computer in Form eines kompakten, passiv gekühlten Würfels bestellen.

Leider hat auch das HummingBoard keinen WiFi on-board support. Bei den anderen SolidRun Modellen ist WiFi teilweise eingebaut.

Momentan ist das HummingBoard noch nicht verfügbar. Bei entsprechender Nachfrage (bitte um Kontakt) werden wir uns überlegen, es auch in unser Sortiment als “Highend Raspi” aufzunehmen.

Referenz & further reading:

Jul 032013
 

That’s what we all want to see – a functioning, lightning-fast modern browser on the Raspberry Pi.

Some resources I collected on the web look pretty promising.

XWayland server

The XWayland server has already been demoed, although not released to the broad public yet. We have seen Midori (or Chromium?) and LibreOffice running on top of it. Pretty smoothly, it seems.

This SHOULD be available soon and support all “classical” X software.

The future: Webkit

The company Igalia, amongst many others, is working to allow WebKitGTK+ run on a Wayland backend.

WebKit is the base of the most modern browsers (even Opera started to use it, AFAIK. One notable exception of course is Microsoft with it’s Trident engine. I bet we will grow old to see it arrive on the Raspberry, though).

Epiphany, the default web browser of GNOME, is based on WebKit. Chromium is also based on WebKit.

Igalia has a blog, in which these two entries seem the most interesting to me:

Briefly, this post outlines why it would be a good thing to have the Core IV GPU of the Raspberry do the heavy lifting of layer-composition, instead of the CPU (which could focus on JavaScript, for instance …)

The post explains some background, has a YouTube demo video of Epiphany running under Wayland (showing off some 3D effects) and goes on to outline the current state of the work. “GTK3 is already providing a Wayland backend, WebKitGTK+ needs to use GTK3 only”.

Most notably, full screen video playback (GStreamer) and plugins may be problematic. We all can / should live without Flash by now, which will probably never get ported to GTK3. Adobe’s phasing Flash out, too. HTML5 is the way to go!

As GNOME is betting huge on Wayland, and Epiphany is its flagship browser, it is only a matter of time until Webkit-based browsers (Midori, Chromium, …) WILL be available for the Raspberry Pi.

More Information

is one of the few good collections of the current state of Wayland support. Not everything applies to the Raspberry of course, but we can “feel, see and touch the future” here. GTK+ support seems to be complete – which is quite promising for many applications. It also lists the all-important browsers. Apparently Chromium removed Wayland support?? It was added back in in a fork / patch it seems, this is already one year old.

On the Wayland mailing list it was shared, that Midori has finished preliminary support for Wayland. This is news as of the end of April 2013, and will probably take some time to come to the Raspi. Will midori be the first browser we use with Wayland?

Webkit-clutter seems to be another possible approach to Weston. (Clutter is apparently another application toolkit, an alternative to GTK+). As we all know Collabora is the company behind the Weston/Wayland software on the Pi, we may expect something from this, too. Here’s some more background info on Clutter & Webkit.

Meanwhile:

This video shows a comparison of several browsers available on the Pi. Netsurf does not run JavaScript, this is where the huge performance gains when rendering arise from. Chromium was apparently no easy task to compile for a Raspberry, but it works now – albeit quite slow. We’re not taking it for granted Winking smile

 

Gomoto’s Browser

This is an interesting light-weight WebKit-based browser. Supporting JavaScript, CSS, etc – yet the code is so short you can easily read it, modify it, and recompile it. In fact I have experimented with it tonight.

Read the following thread to obtain more information

Or go directly to Google Code Homepage of “minimal-web-browser”. Download the browser package or the source.

Installation instructions:

  • wget the omxgtk package
  • aptitude install xterm
  • dpkg –i omxgtk_0.1_rc3_armhf.deb
  • wget the web package
  • dpkg –I web_1.0-6_rc3_armhf.deb

now you can start the browser from an X session with “web”.

This browser CAN ALSO SUPPORT YOUTUBE PLAYBACK! You need to create a shell script to support this, and install youtube-dl. The author also added Radio playback.

Guenter Kreidl has built a Minimal Kiosk Browser on the base of Gomoto’s browser. Look at this Raspberry Pi forum thread to find out more. It looks quite promising, incorporating some interesting features (have a look at the README he attached to a post).

FireFox OS for Raspberry Pi

A guy called Philipp Wagner has released a FireFox-based software stack for the Raspberry Pi, which operates without using the X server! It is a mixture of Linux and OpenGL which he runs on top of.

Apparently, right now, there is no input support for mouse / keyboard, but this could be great for digital signage-class systems.

If you like his work, you can get him something nice from his Amazon wishlist Winking smile

I’ll be testing the performance of the FireFox OS after I post this, and will report back in the comments.

Optimization WordPress Plugins & Solutions by W3 EDGE