Android Tablets Forum banner

[rom] CyanogenMod 10 for Allwinner A31 devices - Now with HDMI and USB Bluetooth support!

328K views 736 replies 182 participants last post by  Alexico 
#1 · (Edited by Moderator)
If you appreciate my work and would like to support me with a small donation you can click on button.
If every happy user of this rom would just donate something I could invest more time in all these Android projects.

What doesn't work

Probably many other things won't work (btw, if they'd release the code things will be MUCH better) but these are the things i noticed:

* Keyboards: the feedback on the key press is sluggish (anyway it seems that SwiftKey is working decently). Allwinner's Android framework code would fix this problem.
* Trebuchet: shows a black line in the top of the screen while in landscape, if it bothers you just install another launcher (Apex or Nova are reccomended) or try differen wallpapers
* Accelerated video playback is supported by MX Player in HW+ mode or using a local UPNP server like BubbleUPNP and setting MX Player in HW (not HW+) mode. This last method plays pretty much every kind of video but Hi10p ones.
* Camcorder doesn't work but I might consider this as a feature since I really don't wanna that you guys look like iPad users that go around the world filming stuff with something pan-sized


Features

* Bluetooth USB dongle support
* USB GPS support (cp210x and pl2303)
* Xbox 360 gamepad support (xpad)
* PS3 USB gamepad support (hid-sony)
* Generic / chinese (Pantherlord / GreenAsia) gamepads support (hid-pl and hid-gaff)
* OpenVPN support (tun)
* Veno congestion control algorithm

Instructions

* You need TWRP to be able to flash this rom. Read the linked thread for instructions.
* Put rom (cm-10-$DATE-UNOFFICIAL-spark.zip) and gapps (gapps-jb-$DATE-signed.zip) files inside internal or external sdcard.
* Turn on the tablet in recovery mode as explained in TWRP thread.
* If this is your first install select "Factory reset" from "Wipe" menu.
* Flash rom (cm-10-$DATE-UNOFFICIAL-spark.zip), gapps (gapps-jb-$DATE-signed.zip) and, if you're installing this rom on a device that is not the Spark, the required compatibility zip.
* Now select "Reboot".
* Enjoy CyanogenMod 10!

Changelog & download links

2013-04-11

* Fixed HTML5 audio/video playback (now the Browser won't FC anymore if a page has HTML5 contents, in this way I suggest you to use "iPad" UserAgent and get rid off the damn Flash)
* Added HDMI support
* Added A2DP support
* Some minor changes under the hood

PS: I don't see the point of releasing a "different" ROM based on this one but with some added APKs and/or build.prop entries. If you still wanna do it just release a flashable zip that will add your stuff, I like keeping track of how many people use my builds.
If you still wanna release your ROM just build it from scratch, easy peasy


ROM 2013-04-11 (md5sum)
Gapps

Compatibility zips

* Onda V972 (v2.0 based) 2.0_rc1
* Onda V812 (V1-V4) (v2.0 based) 2.0_rc2
* Onda V812 (V5) (v2.0 based) 2.0_rc1
* Nextway F9X (v2.0 based) 2.0_rc0
* Chuwi V99 (v2.0 based) 2.0_rc1
* Onda V813 (v2.0 based) 2.0_rc0
* Onda V811 (v2.0 based) 2.0_rc0
* Freelander PD80 (v2.0 based) 2.0_rc0
* Chuwi V10 (v2.0 based) 2.0_rc0
* Onda V818mini (v2.0 based) 2.0_rc0
* Ployer MOMO20 (v2.0 based) 2.0_rc0

FAQs

* If your devices doesn't have a volume rocker you can install one of these apps to control volume from the notifications: Volume in notification, TrayVolume
* WiFi now can stay enabled with display turned off. Note that if WiFi is enabled the tablet won't enter deep sleep so if you're more interestead in battery life instead of an always on WiFi change policy (on "Advanced" WiFi settings) from "Always" to "Never" and select your preferred WiFi timeout.
* Internal memory is mounted at /storage/sdcard0, external sdcard is mounted at /storage/sdcard1. If you wanna swap them (and make primary your real microsd) just edit "persist.sys.vold.switchexternal=0" to "persist.sys.vold.switchexternal=1" in "/system/build.prop" file
 
See less See more
3
#2 · (Edited by Moderator)
Old builds

2013-04-08

* Based on binary blobs from Allwinner SDK 2.0. There are new compatibility zips for the Onda supported tablets, try them and check with "lsmod" if the extra kernel modules are loaded. Chuwi V99 (btw, does it work with the previous build?) and Nextway F9X comp zips will be updated when the manufacturer will release the 2.0 firmware (just let me know about it and I'll do it). Right now V99 and F9X users I don't suggest you to try this build because I think it won't work properly... Anyway if you wanna give it a try just take a nandroid backup before.
* Added USB Bluetooth support (generic "btusb" and Atheros "ath3k" devices are supported, if your dongle doesn't work, or works only sometimes, it's not fully hci compliant; so not Linux friendly. FLSuperstore has for sure BT dongles that work with my ROMs)
* Added game pads support (xbox(360), ps3 and generic chinese pads)
* Added USB2Serial support (cp210x, ftdi_sio and pl2303)
* Added TUN support (now you can connect to an OpenVPN secure network)
* Added UInput support (for apps like DroidMote)
* Added (and set as default) veno tcp congestion algorithm

ROM 2013-04-08 (md5sum)

2013-04-04

* First beta

ROM 2013-04-04 (md5sum)

Old compatibility zips

* Onda V972 (v1.35 based) 1.0
* Onda V812 (v1.35 based) 1.0
 
#5 ·
If you appreciate my work and would like to support me with a small donation you can click on button.
If every happy user of this rom would just donate 1€ per month I could invest more time in all these Android projects, it'd cost you just like one coffee per month.

What doesn't work

Probably many other things won't work (btw, if they'd release the code things will be MUCH better) but these are the things i noticed:

* HTML5 video playback is broken because I had to replace libwebcore.so (main webkit) with stock one otherwise every webkit based browser / app (pretty much every app that shows a web page) was giving a FC, disabling webgl or enabling force_cpu_upload doesn't change the math. It'd be interesting knowing what did they change in webkit to let it work on the A31.
* HDMI: Allwinner uses a proprietary implementation for HDMI, I have to see if the A10 way will work, stay tuned.
* Keyboards: the feedback on the key press is sluggish, the keyboard itself seems pretty reactive but probably because of a bug in the touchscreen kernel module (it's not the first time they hack android's libinput.so instead of writing a proper touchscreen kernel module) the visual feedback on key presses is delayed. Unluckily stock libinput.so breaks completely CM10 so I can't try with it to see if that library would fix the problem. Their Android's source code will be required, or they have to fix their touchscreen kernel module.
* Trebuchet: shows a black line in the top of the screen while in landscape, if it bothers you just install another launcher (Apex or Nova are reccomended)
* Antutu score seems pretty low (~9k)
* Accelerated video playback is supported by MX Player in HW+ mode

Instructions

* You need TWRP to be able to flash this rom. Read the linked thread for instructions.
* Put rom (cm-10-$DATE-UNOFFICIAL-spark.zip) and gapps (gapps-jb-$DATE-signed.zip) files inside internal or external sdcard.
* Turn on the tablet in recovery mode as explained in TWRP thread.
* If this is your first install select "Factory reset" from "Wipe" menu.
* Flash rom (cm-10-$DATE-UNOFFICIAL-spark.zip) and gapps (gapps-jb-$DATE-signed.zip).
* Now select "Reboot".
* Enjoy CyanogenMod 10!

Changelog & download links

2013-04-04

* First beta

ROM 2013-04-04 (md5sum)
Gapps

FAQs

* WiFi now can stay enabled with display turned off. Note that if WiFi is enabled the tablet won't enter deep sleep so if you're more interestead in battery life instead of an always on WiFi change policy (on "Advanced" WiFi settings) from "Always" to "Never" and select your preferred WiFi timeout.
* Internal memory is mounted at /storage/sdcard0, external sdcard is mounted at /storage/sdcard1. If you wanna swap them (and make primary your real microsd) just edit "persist.sys.vold.switchexternal=0" to "persist.sys.vold.switchexternal=1" in "/system/build.prop" file
How can I boot to recovery in CyanogenMod 10 for Ainol Spark (beta)? It seems like it's not possible in "settings". I had TWRP 2440 installed.
 
#6 · (Edited by Moderator)
from the power menu

@all

hdmi from a10 doesn't work, "display.exdroid.so" has changed (obviously everything undocumented) and when at boot tries to load it, it simply hangs and crashes the boot process. The full source code is required, I guess that adding this display library support the UI might me more responsive (but it's only a feeling).

this stuff is contained in services jni (libandroid_server.so), of course you can't use the stock one because cm's is heavily customized and it won't boot (and btw replacing stuff with the precompiled is not the better choice anyway)
 
#12 ·
I noticed that smart keyboard pro behaves better than stock too.

I don't think it's a problem of the stock keyboard because the same apk used in the 0320 fw works fine, there must be something A31 related that has to be merged


Too bad for the HDMI, they have changed the display apis and trying to use the a10 fails miserably


Thank you guys
 
#14 ·
Only time will tell


The best thing would be if they are going to release the full sdk 2.0 code, kernel + android.

They can keep the kernel for themselves but at least sharing android's code
 
#16 ·
gapps are closed source google stuff
 
#19 ·
does the v972 have a bluetooth? because i guess that it may work just using the old a31 baseband (1.35) kernel
 
#23 ·
This .zip will flash oc_daemon, a CPU management tool with two profiles, one for screen off and one for screen on.

Its configuration is stored in text files inside /system/etc/virtuous_oc and I've configured it this way:

screen on: CPU max 1008, CPU min 408
screen off: CPU max 1008, CPU min 216

The governor is for both of them fantasys. These are all the frequencies you can set:

Code:
120000<br />
144000<br />
168000<br />
192000<br />
216000<br />
240000<br />
264000<br />
288000<br />
312000<br />
336000<br />
360000<br />
384000<br />
408000<br />
432000<br />
456000<br />
480000<br />
504000<br />
528000<br />
552000<br />
576000<br />
600000<br />
624000<br />
648000<br />
672000<br />
696000<br />
720000<br />
744000<br />
768000<br />
792000<br />
828000<br />
864000<br />
900000<br />
936000<br />
972000<br />
1008000<br />
1044000<br />
1080000<br />
1116000<br />
1152000<br />
1200000<br />
1248000<br />
1296000<br />
1344000<br />
1392000<br />
1440000
Note that going below 216 MHz is useless because they are not used, I discourage you to set anything above 1152000 as max freq.
This might be useful for people that keep WiFi on and the device won't deep sleep.

Download link
 
#25 ·
Edit them from the path in system using a root capable file manager. I like solid explorer for example.
You have to reboot to apply changes.
 
#27 ·
No it isn't without the kernel source code.
 
#28 · (Edited by Moderator)
Great, thanks again CT.
I used Solid Explorer and edited wake_max_freq as a text file using SE TextEditor and changed the value from 1008000 to 1152000 and saved. I rebooted but when I go to Performance, it claims that max freq is still 1008. Did I miss any steps?
 
#33 · (Edited by Moderator)
I've flashed your ROM on my Onda v812. It boots fine.
Touchscreen driver seems different, no input is recognized, so I use a keyboard with touchpad for testing.
Camera not working, microphone works, orientation sensor too, but sometimes messed up (orientation 90 degrees displaced).

Changing to 160dpi switched the UI from phone to tablet. Nice work.
Do you plan an implementation for other A31 devices ?

For reference, the link to v812 fw:
http://www.onda.cn/Tablet/ProductInfo.aspx?ProductId=240&d=down
 
#34 · (Edited by Moderator)
maybe, but as I stated in the OP, if people donates I can change priorities on android projects over other incomes. All my roms count many downloads, if almost everybody donates just 1€ per month I could do this as full time job and supporting as many tablets as possible.
I mean, this takes me many many hours, and when I'm not building / debugging I'm offering support on the forum...
When I'll get a full time job I think I'll say android "bye bye" because I have to pay bills and groceries

It might be a win-win strategy if most people donates, I don't think any will be broke for 12 €/$ per year, in exchange they'll get tech support and updated roms. But most people only takes...
 
#35 ·
You should have bought an Onda V812 or V972. Or make some "noise" that you are trying to port CM10 to a A31 device.
The user base is huge and there are a lot of people who are willing to donate (before SDK 2.0 the device was unusable):

http://forum.cyanogenmod.org/topic/67010-request-onda-v972-a31-quad-core-powervr-gpu-sgx5544-8-cores/

But Allwinner has to release more information to make your work easier, right? I'm willing to donate, too, if there might be a chance for the Onda V812 and others will donate if there's a chance for Onda V972.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top