Why we have so many OLinuXino Linux SBC with Allwinner SOCs


community

Many people ask us why we do OSHW boards with Allwinner SOCs and ignore other vendors. Allwinner do not do the best SOCs on the Chinese makers. Their software support is mostly about Android and are with proven GPL violations records.

The reason is simple – because the Linux-Sunxi community is the biggest and most friendly and if there is problem you have place where to ask for help or advice.

Most of the Allwinner SOC Linux mainlining work is not done by Allwinner software engineers but Linux-Sunxi community.

We want our boards to run Linux, and when we say Linux we mean mainline, not Linux 2.6 (what was the Freescale official iMX2XX, where all decent kernel work is also done by the community) neither Linux 3.X with patched Android kernels and binary blobs which usually all Chinese vendors provide.

This is why we are not interested to do something on these new SOCs which pop every 6 month and basically has nothing to offer differently as software support. We wait and release our boards when there is proper Linux support which we test or do not consider to waste our time on them.

Linux-Sunxi community was created naturally around 7 years ago after Luke Kenneth Casson Leighton rised a lot of noise for the new and cheap Allwinner A10 processor and later Tom Cubie (ex-employee of Allwinner) start to deliver some A10 based TV boxes to interested developers and revealed some inside “secrets” to the people who were gathered around the “ARM netbook project” which LKCL never delivered, but this is another story. At some point the developers just separated and formed what we know now as Linux-Sunxi. Since then Linux-Sunxi community is growing and is very active compared to all other SOCs communities and many talented Linux developers are contributing on daily basis. The Linux-Sunxi Allwinner SOCs mainlining efforts are here.

Unfortunately SOC vendors never have been good at writing software. This is expected as they are hardware vendors after all and their focus is the silicon. My guess is that they do want to offer good support, but they just have no idea how to do it. They can’t attract quality developers and lot of their developers leave after working year or two, leaving messy code to the next who comes.

Their management usually do not fully understand how important open source software support is for the longevity success of their silicon.

A20 for instance is SOC which is selling well for more than 6 years, Allwinner has no other processor which sells so well, why is this? Because there is mainline Linux support and because our OSHW reference designs which thousands of people use to make their own hardware.

So Open Source Software and Hardware create business for them, but I guess this is something they didn’t analyzed well. No one uses A20 with Android now (as the official A20 Android version is obsolete 4.2.2 and there are no updates since the chip release), but Linux help them to sell for years.

Linux-Sunxi developers do code mostly for hobby and fun in their free time. The result is that there are no deadlines to deliver code and when the code is delivered it’s good one. So good that Allwinner re-use it their own repositories instead the code of their own engineers.

A recent single line patch which triples the A20 SATA write speed just proves that the code done by the community is better than this one released by the SOC vendors.

With A10/A20 SATA the Allwinner developers delivered very poor code, which crippled the performance of their SATA controller and everyone believed that it’s so lame because this is poorly done at hardware level. It appears single value change in SATA DMA register triples the speed of the SATA write. Allwinner is supposed to know best their processors then why they do such lame initialization mistakes? My guess is lack of documentation and coordination between the different teams inside the company. They do not document well their silicone and other departments don’t know what what is doing.

Rockchip which 7 years ago was about the same level as Allwinner for software support has been pushed by Google as they use some of their chips in Chromebooks. So Rockchip is forced by Google to submit Linux upstream drivers support and patches, which is great., but what they produce is far from the best quality. For instance Recent GitHub repository I check contains Windows app to generate public and private keys used to encrypt their secure boot Linux images 🙂 I have just to guess which genius decide this approach, but it speaks well about what kind of decisions are taken in these companies.

EDIT: Jon is right Rockchip did it good, the windows apps to generate keys and encrypt images were in Allwinner SDK 🙂

 

9 Comments (+add yours?)

  1. jonsmirl
    May 13, 2019 @ 16:53:10

    There’s a Linux app for secure boot…
    https://github.com/rockchip-linux/tools/tree/master/linux/Linux_SecureBoot
    I have not tried it, does it need the Windows tool too?

    I’m not so much of an Allwinner supporter any more. Allwinner employees rarely participate in open source work. And due to their disbandment of the international marketing group it is a pain to talk to the various operating groups.

    Right now Allwinner is absent on the CNN neural network front. They made a bet on HAAR AI. Unfortunately for them a discovery in the CNN world made it far outperform HAAR.

    Rockchip seems to be far more supportive of open source. Their code on github all builds and most of it even works. If the sunxi people all moved over to Rockchip, Rockchip could potentially become the leading SOC.

    A huge difference between Allwinner and Rockchip is in Rockchip delivering unified Linux and Android builds. Allwinner practices port and forget. They deliver a semi-working BSP for a chip and then move their programmers onto another chip. That semi-working BSP gets few if any updates. This behavior requires a group like sunxi to compensate for it. I don’t think Allwinner appreciates how valuable sunxi is too them.

    Rockchip is supporting all of their chips in a single source tree. For example you can build Linux for about ten chips from their Linux release. Same for Android. A unified model is so much better.

    Reply

    • OLIMEX Ltd
      May 13, 2019 @ 17:00:40

      I agree, Allwinner Android images are dated when the SOC is released and they do not touch anything afterward. When one see on their product web they quote Android 4 for recently released SOC this should ring bells that this SOC is just re-branded old chip.

      Reply

  2. jonsmirl
    May 13, 2019 @ 17:10:59

    In my experience dividing Allwinner up into competing divisions is going to be a long term disaster. I worked at a US company that did that. After a while they concluded that it was a huge problem because all the divisions did was to fight with each other over resources. When you compensate a manager for his division winning there are two solutions – sell the most, or make sure your competing divisions can’t sell anything. Which is easier to achieve? The best way to win is to starve your competing divisions of resources.

    Chip companies always make the mistake of assigning software people into the chip design teams. That’s were port and forget comes from. When the chip ships the design team gets disbanded. Port and forget is awful for software — Allwinner is the poster child for this.

    The smart way is to have a single software group which then provides support to the hardware teams. That’s how you end up with a unified Android and Linux tree.

    Reply

  3. Ted Huntington
    May 13, 2019 @ 21:21:14

    great article- a20 is very inexpensive for what it delivers and I was able to get Armbian working without much effort at all- even added RT_PREEMPT kernel with little trouble- so is pretty easy to get working. But I had trouble getting an initramfs to build- but the existing armbian initramfs works – and this is with a recent 4.19.31 kernel.

    Reply

  4. Trackback: How secure are Allwinner SOC we use in our OLinuXino boards? | olimex
  5. Théo Bueno
    May 14, 2019 @ 16:54:00

    Very well said. I would love to see more Olimex boards with Rockchip SoCs.

    Reply

  6. tuxd3v
    May 16, 2019 @ 13:21:01

    Well,
    We are also speaking about a time were Allwinner doesn’t even troubled with support..
    That Now is changing with Google forcing Mainline support..
    You can see that in the Allwinner Mainline effort..

    I would like to see a Allwinner H6 chip in Olinuxino Lime 3, if allwinner piblishes a out of tree driver for pcie…

    Reply

  7. :-)
    May 17, 2019 @ 10:30:52

    Is the code to boot with this Chips (A10, A20 and A64) fully open source?

    Reply

    • oliver
      Aug 14, 2019 @ 01:07:33

      Uboot is mainlined, so yes. The bootrom however is not. While it may be gpl violating, there was not much interesting found yet in the dumped and partially analyzed assembly

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: