CVJI-E212, one more cheap Allwinner A10 media player

I started looking into a number of devices based on Allwinner A10 SoC — this appears to be a very popular chip in China, and there are endless varieties of cheap tablets and HDMI media players. Among the most known are Mele A1000/A2000, MK802, MK802+, MiniX media players — they all provide HDMI interface, one or two USB ports, and some of them come with a built-in WiFi adapter.Β  The chip also supports OTG USB interface, and some of those devices also provide it. Also MK802 can be powered from the USB port.

Those devices come usually with pre-installed Android 4.0. Typically the OS supports only a limited range of screen resolutions and frequencies (I couldn’t get a decent picture on my Sony Bravia TV and on a computer monitor via a HDMI-to-DVI adapter).

Anyway, I’m a server guy, and my primary interest is in “server” applications, even on such small appliances. So, I don’t really care about graphics.

Jean-Luc Aufranc in his blog pointed to a method to build a “server” image for A10-based devices. It almost works: the “sudo lb build” command is stuck in the middle, and then it requires “sudo lb clean; sudo lb build” in order to finish building the Ubuntu filesystem for ARM CPU. Strange that “sudo lb clean” before building does not help.

Also Jean-Luc has organized nightly builds of Linux kernel for A10 devices. Also there are scripts which format the SD card and install the required kernel and the filesystem.

As Jean-Luc mentioned, MK802 currently fails to boot the image for some reason. Also the device has quite inconvenient way to attach the serial console, so I didn’t go far with this.

Ok, on to the new stuff: I found and ordered another such device from China. It has an Ethernet port, which is quite important for most of my uses. The specs also mention an OTG port, but it doesn’t look like it exists. It took a bit of an effort to open the enclosure, but it was worth it: the board has quite easy (and marked properly!) connectors for attaching the serial console. At 115200 baud, I could easily see the boot log, and the nightly build (mele-a1000-server_hwpack_2012.07.26) kernel has successfully booted.

The boot log is available here.

The filesystem build process still needs some improvement: there are lots of error messages during the boot, and also the SSH daemon cannot find the host keys (for some reasons they were not present in the filesystem). Also the image tries to launch MySQL server, unsuccessfully because of missing files or directories.

The WiFi antenna is quite small in this device. I didn’t yet test the signal quality, but I wouldn’t expect a revolution here.

The device has an SD slot, so you need an microSD-to-SD adapter. Also the card goes into it only half length, so the rest pops out outside the enclosure.

The good thing is that the kernel immediately recognizes the onboard NAND flash and allows writing to it. So, the development plan would be as follows:

  1. Make an SD card image which boots on most of those devices. It should bring up automatically all available Ethernet ports (built-in and USB Ethernet cards), and also all available WiFi adapters with a predefined SSID and password, and configure the DHCP client on them.
  2. Ideally, if the device has an OTG port, initialize the gadget driver and emulate a serial port with a TTY attached. This way the device could be managed via a serial terminal without the need to attach the serial console.
  3. Make a set of scripts which re-format the onboard NAND flash and install the production Linux system on it. This would be most probably Ubuntu because of better hardware support. This should be a minimal instance with SSH daemon, graphics disabled and all RAM available for applications, and the network interfaces and OTG port would be automatically configured as specified above.
  4. Ideally, this would be the same kernel filesystem as on the SD card. Then the installation script would simply clone the whole running system from SD to NAND.

UPD: PCB pictures

1. The overall view. The UART serial contacts are at the bottom, near the LED

2. The WiFi chip and what they call an antenna



, ,

  1. #1 by Pat Wood on August 1, 2012 - 11:14 pm

    Nice description. I would expect the ssh keys are not there because you need to create a new set of keys for each server (distributing a set of “standard” keys would mean that everyone has a copy of your private ssh keys — not a good idea). Try doing this with your sd card mounted:

    ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N ” -t rsa
    ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N ” -t dsa

    • #2 by txlab on August 2, 2012 - 6:28 am

      the debian package installer actually generates the keys, and I saw them being generated during the root system build. However, they didn’t make it onto the SD card for some unknown reason. This is only the first test, I will dig deeper later when I have more time free from paid job πŸ™‚
      “apt-get remove openssh-server; apt-get install openssh-server” — this helped.

  2. #3 by Pat Wood on August 1, 2012 - 11:15 pm

    Oh, and can you post pix of the insides?

    • #4 by txlab on August 2, 2012 - 6:30 am

      I’m lazy, but ok, will do that πŸ™‚
      there’s nothing fancy, just the serial console connectors a bit bigger than in mk802. Also a placeholder for an RTC clock battery, not soldered in. Also a placeholder for the third USB connector, also not soldered in.

      • #5 by Pat Wood on August 2, 2012 - 6:41 pm

        Thanks for the pix. An RTC? I’m surprised they provisioned the HW (which costs a couple of bucks) and didn’t bother with the battery holder.

  3. #6 by anthonyvenable110 on August 1, 2012 - 11:58 pm

    Reblogged this on anthonyvenable110.

  4. #7 by Olof on August 2, 2012 - 2:56 pm

    Can this device run XBMC app smooth? What is needed for this device to be upgradable to run Android 4.1?
    Im intressting in having this as my HTPC running along with my NAS. Are there any more tests on this device? All google links leads to this blog πŸ˜‰
    Im not intressted in hacking and putting linux or anything on it.

    • #8 by txlab on August 2, 2012 - 3:32 pm

      well, you should look for Allwinner A10 references. It comes with Android 4.0, and there are successful attempts to run Ubuntu on devices with the same chipset. In general, I’m on the opposite side – graphics are of no interest πŸ™‚

  5. #9 by Sebastian on August 11, 2012 - 2:47 am

    I have the same device, pics here
    and the back side
    I been trying to boot anything from the SD card, debian, ubuntu, whatever, with no luck.
    Looks it boots but the ethernet iface doesn’t work.

    I notice you mention a serial console on the device.
    According to your images it should be the Tx/Rx in between the led and infrared sensor.
    Is that so? a good old UART 16550 is there?


    • #10 by txlab on August 11, 2012 - 6:28 am

      it’s 3V UART, don’t try to connect a COM port directly: the standard RS232 has 5V logic. You can find lots of instructions how to make a 3V UART adapter from a Nokia USB cable. On that little pad with tx/rx contacts, you will get the boot loader’s and kernel’s console at 115200 baud.

      • #11 by Sebastian on August 11, 2012 - 6:46 am

        That explains a little the garbage I was getting at the console πŸ™‚
        Hope I didn’t fry anything.

    • #12 by txlab on August 11, 2012 - 7:41 am

      • #13 by Sebastian on August 13, 2012 - 3:54 am

        Thanks, living at the end of the world makes purchasing this things a little hard. I think I will go with max3232 and leave it in the box, just in case.

  6. #14 by Sebastian on August 13, 2012 - 3:52 am

    For those that have been living under a rock and were not aware of the existance of UART 3v, here there are good resources
    All in all, you will need a MAX3232 and some skill of use a cell phone cable.

    • #15 by txlab on August 13, 2012 - 7:50 am

      really? I thought buying a Nokia cable is easy anywhere in the world. There are hundreds of them on ebay

      • #16 by Sebastian on August 13, 2012 - 11:12 am

        Yes, I am sorry, I posted this before reading your update. Agreed, a nokia cable would be much more easy to get anywhere.

  7. #17 by flux on August 22, 2012 - 7:09 pm


    How did you open the case? I’ve tried to open mine but I’m afraid to brake something.
    Does uboot look for the kernel and rootfs on sd card first or the serial console is needed to change uboot parameters?

    • #18 by txlab on August 22, 2012 - 9:20 pm

      you need a screw driver and a bit of force. Maximum that you may break is scratches on the enclosure.

      The bootloader searches for a bootable image on SD card first, and then on internal flash. So if you know for sure that the image works on such device, you may go away without the need for console access.

  8. #19 by Kos on September 8, 2012 - 5:30 pm

    Hi, Can You help me find original firmware for this device? I update my device with wrong firmware from mele and cannot revert it.

  9. #20 by Walter Deleon on September 23, 2012 - 5:35 am

    Hey! I think I’m gonna try to do the same thing you’ve been doing with these small “servers”. But before I buy one, how’s the build quality? Of course, I’m not expecting much, the devices are Chinese. But is the plastic durable? How’s your experience been with them?

    • #21 by txlab on September 23, 2012 - 9:45 am

      unfortunately I couldn’t find enough time to go any further with this device. The box is pretty well done and sturdy.

      I’ve got several ALIX boxes ( in production use, and they are the best choice so far: easy to order, easy to install, and they aren’t much bigger.

      • #22 by Walter Deleon on September 23, 2012 - 5:42 pm

        The ALIX boxes seem much more versatile. Thanks!

      • #23 by Sebastian on September 23, 2012 - 6:17 pm

        Indeed, pcengines boards are quite durable. I have a WRAP .1E that has been in prod for arround 10 years.
        Regarding this particular device, I have an external 2 Tbytes HDD connected to it, and from time to time, when the fridge starts I get an EMI error on the USB that resets the bus.
        Sep 21 07:14:54 mpg kernel: [47259.240000] ehci_irq: port change detect
        Sep 21 07:14:54 mpg kernel: [47259.250000] hub 2-0:1.0: port 1 disabled by hub (EMI?), re-enabling…
        Sep 21 07:14:54 mpg kernel: [47259.260000] usb 2-1: USB disconnect, device number 2
        Sep 21 07:14:55 mpg kernel: [47259.650000] usb 2-1: new high speed USB device number 3 using sw-ehci
        Sep 21 07:14:55 mpg kernel: [47259.870000] usb 2-1: New USB device found, idVendor=174c, idProduct=5106
        Sep 21 07:14:55 mpg kernel: [47259.890000] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
        Looks designers were a little sloopy on this. Other than that, works flawlessly.


  10. #24 by randy frank on November 10, 2012 - 5:51 pm

    where can i find the firmware for this device

  11. #26 by randy frank on November 10, 2012 - 8:37 pm

    i really need this firmware img file

  12. #27 by randy frank on November 23, 2012 - 12:31 pm

    hey guys any word on the firmware of this box, or help on porting linux, ubuntuxbmc, or openelec onto this box. please assist

    • #28 by txlab on November 25, 2012 - 7:30 pm

      I gave you the link to cnx-software, and it’s useless to ask here.

Leave a Reply

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

You are commenting using your 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: