[Android Head-Units] sbruda:
Please note that I gave up on this unit (MTCD PX5 units are so much nicer...). I will try to update this post (however infrequently) with information that may appear in this thread or come my way by other means, but I will not seek information actively and updates will no longer be from my own experience or experiments.

At the time of writing this head unit is available here and (probably) here. These are both custom fit for Kia Sorento, but other versions do exist; in particular several EONON units feature the same hardware configuration (model numbers GA2160, GA7153 GA7163, and I am sure others).

Hardware-wise this seems to be the same unit as described in this thread so many tricks therein will work for this unit. In particular the USB debugging password continues to be "john@tw-desktop" (without quotes); the extra settings password is most likely either 123456 or 668811; the factory reset and developer options passwords appear to be both 7890.

In all the unit is an Allwinner quad core R16, with the MCU version 5.3.19-16-10-650101-161115 and System version V7.3.1-2016-11-12.100233_TW2. Here is the Droid Info report:

DEVICE
Model: QuadCore-R16 (astar_d7)
Manufacturer: Allwinner
Baseband Version: Not Available
RIL Version: sw-dataonly-ril-for-6.0_v1.0
Build Number: astar_d7-eng 6.0.1 MOB30R 20161112 test-keys
Build Fingerprint: Allwinner/astar_d7/astar-d7:6.0.1/MOB30R/20161112:eng/test-keys
Bootloader: unknown
Java VM: ART 2.1.0
OS Version: Marshmallow (6.0.1)
SDK: 23

DISPLAY
Resolution: 1024x600 pixels
Software Density: 160 dpi (mdpi)
Refresh Rate: 60 Hz

PROCESSOR
CPU Architecture: ARMv7 Processor rev 5 (v7l)
Board: exdroid
Chipset: sun8i
Cores: 4
Clock Speed: 480 MHz - 1200 MHz
Instruction Sets: armeabi-v7a, armeabi
CPU Features: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt
CPU Governor: Not Available
Kernel Version: 3.4.39
Kernel Architecture: armv7l

GRAPHICS
Renderer: Mali-400 MP
Vendor: ARM
OpenGL Version: OpenGL ES 2.0

RAM
Total: 986 MB
Java Heap: 80 MB

STORAGE
Internal: 12 GB
EXTERNAL: Not Detected

Software-wise the unit comes with a fairly stock version of Marshmallow, though as usual the operating system is a bit locked down (but to my surprise not too locked down) compared to stock.

The purpose of this thread is to gather information about the software and possible customization for these units. I have added the information I gathered from my experience and I will update this post with any new information I manage to obtain.

1. Partition dump

For reference I dumped all the partitions of my device. The dump is available here. The dump was done by name (for those partitions that have a name) and symlinks point to the device name from /dev/block. Feel free to share (credit appreciated but not necessary) and please share any information that you gather from it (which will be included in this section as it becomes available).

2. Flashing firmware

There are multiple ways of flashing new firmware, depending on the actual unit and also its state (working, bootloop, etc.). All methods require that the all the files (three to six) that contain said firmware (see next section) be placed in the root of a SD card formatted FAT32 and inserted in the GPS slot of the unit. Some reports of the firmware being flashed from a USB stick rather than the SD card also exist; they also mention that choosing one USB port over another might make the difference between success and failure.

On a working system inserting the card and/or USB stick and choosing "update system" from preferences will likely do the trick.

On a system that is not working the following methods have been reported:

Hold Home, press Reset, and keep holding Home until the update starts (thanks).

A hardware solution is to short Key 1 (steering wheel controls) to ground, then press and hold Reset for 10 seconds; release Reset and disconnect Key 1 when "update" is displayed (thanks).

Yet another procedure might be needed for some units (thanks): Using a USB stick prepared as above and inserted in the unit, turn ignition to ACC, press Reset, turn ignition off, then after 5 seconds turn it again to ACC. A video is also available.

3. Flashable firmware

All the reports I have seen indicate that all the firmware versions are interchangeable. However, a factory reset will be needed most of the time for full functionality, especially so when installing firmware from a different vendor. It is VERY important however to note that the file bd07a5ee-fbb0-11e4-ae78-000c29ba27c0 contains the MCU firmware and so SHOULD NOT be flashed on incompatible devices as doing so will brick the unit (thanks).

Partition 11 of the above dump in particular stores a flashable image. It contains the following files:

81cb828c-9b57-11e6-ad2a-df6786178d62

827ba428-9b57-11e6-8dfb-37398ea70e52.0

827ba428-9b57-11e6-8dfb-37398ea70e52.1

bd07a5ee-fbb0-11e4-ae78-000c29ba27c0

The files 827ba428-9b57-11e6-8dfb-37398ea70e52.* in particular when cat-ed together form an ext4 file system that appear to be a copy of the system partition. This 4pda forum thread contain more information (thanks [MENTION=7152327]Ahfish22[/MENTION]); I do not speak Russian at all but Google Translate does a good job most of the time.

Since I started this thread many people have posted many firmware versions. Here is a hopefully complete list. There might be duplicates and misses and I apologize for both in advance.

The following set of firmware (in particular V7.3.1_20170610.110122_KED1 therein) come recommended by several users (thanks).

EONON firmware:

GA2162_KBT2_20170309 (thanks)

V7.3.1_20170114.111256_KBT2 (thanks)

EONON-R16-20170509 (thanks)

EONON-R16-KLD20170515

V7.3.1_20170427.104257_KBT2 (thanks)

EONON-R16-KLD20170515 (thanks)

KED1 (MEDEKE?) firmware (thanks):

V7.3.1_20170216.180104_KED1

V7.3.1_20170720.152039_KED1

TW2 (TopWinner?) firmware (thanks):

V7.3.1_20170111.114952_TW2-IVT+ROOT+RADIO

V7.3.1_20161229.175327_TW2

V7.3.1_20161201.154419_TW2

TH6 firmware (thanks): V7.3.1_20161129.194710_TH6

JYZC1 (Joying?) firmware (thanks):V7.3.1_20170317.114203_JYZC1

Kaier firmware (thanks)

Rooted KLD (Klyde) firmware (thanks):V7.3.1_20170512.203736_KLD1-0-1-mod

4. Recovery

Mot units do have a working recovery partition, though some are reported not to have such. The command "reboot recovery" at a root prompt (terminal emulator or ADB) will enter recovery (if available).

Alternatively recovery can be reached with an external USB keyboard as follows: While holding Alt and Print Screen keep tapping i; the system will eventually restart in recovery (thanks pir8man) .

It should be noted that despite the on-screen instructions the stock recovery does not react to any buttons on the head unit, but works well with an external USB keyboard.

5. Customization

There are useful tweaks that come with the stock operating system including speed-dependent volume and (apparently, I have not tested exhaustively) the elimination of the full-screen keyboard.

I found this alternative to the stock radio app (context, source code) which is pretty nice except that the app force closes upon attempting to enter settings. If you speak Russian it may be worth discussing this with the developer.

Root: Kingoroot works, though several attempts (reboot and try again) may be needed. Note that a reliable Internet connection is needed during the whole process. I do not like the extra apps and intrusive ads that come with Kingoroot. I therefore recommend once rooted to install Chainfire's SUperSU, let it update the su binary, and then uninstall Kingoroot. Note however that the current Play Store SuperSU (namely, version 2.82) may not be able to overwrite Kingoroot's su (saying instead that "the su binary is occupied"). If this is the case you may want to try version 2.79 (downloadable from here) which is known to work. Once the Kingoroot's su binary is overwritten you can upgrade to the latest (Play Store) SuperSU.

Busybox: Installed without incidents using the usual installer from the Play Store.

Xposed: Installed using the Xposed installer v. 3.1.1 and works well. I tried Gravity Box and Xprivacy.

6. Outstanding issues

It should be possible to redefine the default apps for music, video, and radio but I did not find any way to do it.

Mapping SWC and front button panel events works to some degree (for testing purposes I mapped the "Band" button to the app drawer), but this seems to be exclusively at the mercy of the MCU, which only allows mapping to predefined actions. I could find no way to map these events to custom actions on the OS side. It was reported that button events are communicated to the OS as long as no MCU app is running. However, I was unable to reproduce this; for me no event is ever seen by the OS no matter how many (or how few) apps are running. I stopped all the MCU apps but even so KeyTest does not register any event.

Needless to say, no custom recovery (such as TWRP) exist for these units.