Orange Pi Zero is an interesting little ARM Linux board thanks to its low price, but also because it features a new Allwinner H2 / H2+ quad core Cortex A7 processor very similar to Allwinner H3 minus the 4K video decoding part, as well as Allwinner XR819 WiFi module, which I have not seen on any other boards so far.
But hardware without software is pretty much useless, so developers will be happy to find out that Allwinner H2 SDK with Linux (lichee) and Android has been released or leaked, and it also includes the Allwinner XR819 WiFi driver.
You’ll find the SDK on Zoobab server with three main directory / files:
- Android folder – Android 4.4.2 SDK
- lichee folder – Linux 3.4.39 source code. However you’d probably better use Linux 3.4.113 currently released by sunxi-linux, or Linux mainline. The latter does have some limitations, and may or may not be suitable for your project.
- H2-V1.2.tar.bz2 – The tar file with both Android and lichee folder in case you want to download the full SDK on your computer
If another hardware comes with Allwinner XR819 WiFi module and you just need the Linux driver, you’ll find it in linux-3.4/drivers/net/wireless/xradio directory.
tkaiser managed to enable XR819 on armbian after disabling dhd driver:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
tk@orangepizero:~$ iwconfig wlan0 wlan0 IEEE 802.11bgn ESSID:"Snort-Honeynet" Mode:Managed Frequency:2.412 GHz Access Point: BC:05:43:BE:C1:E7 Bit Rate=39 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=66/70 Signal level=-44 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:1 Invalid misc:0 Missed beacon:0 tk@orangepizero:~$ nmcli dev wifi list * SSID MODE CHAN RATE SIGNAL BARS SECURITY Snort-Honeynet Infra 1 54 Mbit/s 92 ▂▄▆█ WPA2 EasyBox-116D28 Infra 9 54 Mbit/s 84 ▂▄▆█ WPA1 WPA2 FRITZ!Box Fon WLAN 7360 Infra 1 54 Mbit/s 67 ▂▄▆_ WPA1 WPA2 DISTORTEDPEOPLE Infra 9 54 Mbit/s 55 ▂▄__ WPA1 WPA2 CubaLibre Infra 1 54 Mbit/s 45 ▂▄__ WPA2 tk@orangepizero:~$ cat /etc/modprobe.d/dhd.conf blacklist dhd tk@orangepizero:~$ ls -la /system/etc/firmware/ total 140 drwxr-xr-x 2 root root 4096 Nov 9 13:57 . drwxr-xr-x 3 root root 4096 Nov 9 13:55 .. -rw-r--r-- 1 tk tk 2308 Nov 9 13:57 boot_xr819.bin -rw-r--r-- 1 tk tk 126416 Nov 9 13:57 fw_xr819.bin -rw-r--r-- 1 tk tk 744 Nov 9 13:57 sdd_xr819.bin |
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Really, the only interesting thing in the leaked H2+ SDK is driver/firmware for this new Wi-Fi module (which is not that great compared to 8189FTV as on older Orange Pi boards but will easily outperform every 2.4 Ghz Wi-Fi dongle while consuming less). And there’s also not much need to fiddle around with the horribly outdated 3.4.39 kernel contained in this SDK, better use linux-sunxi community’s 3.4 sun8i kernel (3.4.113 currently and with tons of fixes) or mainline. Already tested Orange Pi Zero with megous’ 4.7 branch (since I failed to get his 4.8 and 4.9 branches working). Combined with… Read more »
So much useless garbage for an “SDK”.
@tkaiser
In 4.8, there’s is a new sunxi-ng clock driver. You may need to enable it in comparison to 4.7 kernel configuration, to make the newer kernels work. Otherwise, everything else is quite similar to 4.7.
Also, 4.9 branch contains HDMI driver from http://moinejf.free.fr/opi2/index.html, which is pretty exciting, because that means a limited desktop experience with mainline kernel on H3.
@tkaiser
I’ve uploaded working configs here: https://files.megous.com/orange-pi-dvfs/
@tkaiser
I’d assume people who want to use Android might also find it useful.
Honestly, who wants Android 4 anymore? Most likely with open stagefreight and shellshock vulnerabilities?
@megous
Thank you, highly appreciated. I first tried 4.9-hdmi and got it working but only when I used wrong DT (dvfs then failing). With correct DT used we ran in freezes with both 4.8 and 4.9.
@tkaiser
what about mali driver ? Would it be ever possible to get that working on a 4.9 kernel ?
@Benjamin
Well, I’m not really qualified since I don’t care about Mali at all (since it’s only necessary for OpenGL ES stuff and where’s the use case for this? Retro gaming mostly, at least that’s what http://orange314.com/RetrOrangePi is about, the only known use case for Armbian overclocking Mali400 on H3 devices 😉 )
But if I understood correctly the Mali kernel driver bits can be used with mainline kernel (out-of-tree) as long as the userland blobs are available (which might be the case or not, some are floating around but with unclear license).
@Benjamin
No. ARM Holdings plc doesn’t want you to be able to use it.
Orange Pi Zero booting with latest mainline kernel version: http://sprunge.us/LSUb (well, not that surprising since fortunately H2+ is just a H3 without 2 features so all the hard work done by linux-sunxi community within the last year can be used directly for H2+ too)
Breaking news: Allwinner’s H2+ is faster than the Broadcom SoC used on RPi 3 !!!1!11! https://hackaday.com/2016/11/07/orange-pi-releases-two-boards/#comment-3265290
@Jerry
Thats pretty pathetic. Pretty scummy of them not to provide drivers for newer kernels.
@tkaiser
Is it possible to get hardware accelerated desktop and video decoding without mali driver ? Eg general desktop usage.
@Benjamin Sure, all this Mali hype is soooooo useless. You don’t need 3D acceleration for 2D and video. This whole GPU thing is most probably just the result of people misinterpreting the word ‘GPU’. On x86 systems GPU means 2D, 3D and video but on ARM it means only 3D. And since almost no software makes use of old boring Mali’s OpenGL ES (no OpenGL!) it simply doesn’t matter. Some projects like Kodi see this differently (they want GPU support to draw the UI and if that’s not possible drop the whole SoC support) but for a normal desktop and… Read more »
While porting xradio driver to mainline (more of a hack now, needs a rewrite to be included upstream) MoeIcenowy spotted that XR819 has an own ARM core. So OPi Zero is in reality a hexa core machine if we apply Allwinner marketing standards 😉 4 Cortex-A7 and 1 OpenRISC inside H2+ and most probably a Cortex-M0 inside XR819. ‘iw list’ mentions WoWLAN support: * wake up on anything (device continues operating normally) * wake up on disconnect 123 WoWLAN support: * wake up on anything (device continues operating normally) * wake up on disconnect I don’t think WoWLAN being that useful with… Read more »
@megous Megi, I’m now running with 4.9 and everything works except of thermal readouts (therefore also no throttling). Sunxi-ng clock driver is activated (I used lib/config/kernel/linux-sun8i-dev.config from github.com/igorpecovnik/lib) so maybe I just have to tweak DT? Will look into it as soon as mainline Wi-Fi driver is ready 🙂 Anyway: Did you succeed running code on the AR100? IMO this is still one of the most interesting use cases: Turning H2+/H3 boards into MCU like devices with ARM cores powered off, consuming less than 50mW while running solely on the OpenRISC core and activating the 4 x 1.2 GHz Cortex-A7… Read more »
@tkaiser
You forgot to include Mali-400MP2 with GPU shader cores + the other geometry? core, so that 6+3 = nonacore processor ! 🙂
@Jean-Luc Aufranc (CNXSoft) What a beast! Nonacore, that’s one core per dollar! 😉 But to be honest this little gem looks really capable, especially the new Wi-Fi chip. I saw that it also supports mesh networks, maybe I buy two more and start to play around with open80211s and stuff like that. And regarding core count: Let’s forget about Mali and the 4 Cortex-A7. It would open up a whole world of new use cases if this board could also run with just the AR100 OpenRISC core and maybe XR819’s M0 active (low power mode). And maybe bringing up from… Read more »
@tkaiser
Do you know if the Xradio supports ad-hoc mode? Most mesh protocols works over ad-hoc mode.
@zoobab Seems so (can’t test any further since it seems I killed Wi-Fi yesterday on this board). ‘iw list’: Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * mesh point * P2P-client * P2P-GO software interface modes (can always be added): * AP/VLAN * monitor valid interface combinations: * #{ managed } <= 2, #{ AP } <= 1, total <= 3, #channels <= 1 * #{ managed } <= 3, total <= 3, #channels <= 1 * #{ managed } <= 2, #{ P2P-client, P2P-GO } <= 1, total <= 3, #channels <= 1… Read more »
@tkaiser
The RasPi is likely more aggressive in throttling frequencies then the Allwinner which saves power but reduces performance.
@RK Hmm… I don’t understand what you’re saying, so just as a hint: what ‘the RasPi’ does is controlled by the firmware (or a few folks who have access to this properietary stuff and are able to adjust dvfs settings for all the millions of users out there). AFAIK you can only control one thermal treshold? At least with Allwinner it’s more complicated: you have everything under your own control (requires some knowledge) or you have to trust. When you trust in hardware vendors (Allwinner and Xunlong in this case) you get an Orange Pi that performs low but heats… Read more »
I have created the Buildroot configuration working on Orange Pi Zero, that supports WiFi. It is available in the usenet post https://groups.google.com/forum/#!topic/alt.sources/thi51Py7-6g Of course I have just integrated the work of others. Many thanks to all who contributed to XR-819 support. Unfortunately, the current driver does not support the Ad-hoc mode, which is crucial for me, as the devices should be used as nodes of the BATMAN based wireless mesh network. Is anybody working on ad-hoc support in the XR-819? The CW-1200 driver seems to support it. I’ve made some trivial changes (e.g. enforced transmission of packets in the NL80211_IFTYPE_ADHOC… Read more »