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 "[email protected]" (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:
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 @Ahfish22); 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).
KED1 (MEDEKE?) firmware (thanks):
TW2 (TopWinner?) firmware (thanks):
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
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.
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.