• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

Mediatek MT8173 & MT8176 Development

Search This thread

Goayandi

Member
May 2, 2016
44
42
Essen
github.com
Mediatek MT8173 & MT8176 development

Hi folks, after I've long been working on my device and only made little progress in building LineageOS for my Xiaomi Mi Pad 3 I decided to look for other developers with similar devices.

My Mi Pad 3 (codename: cappu) is a tablet based on a Mediatek MT8176 SoC. It was launched in April 2017. The tablet comes with a 7.9" display with a resolution of 2048 pixels by 1536 pixels at a PPI of 326 pixels per inch. It is powered by a 2.1GHz/1.7GHz Hexa Core processor ( 2 x 2.1GHz Cortex A72 + 4 x 1.7GHz Cortex A53 ) and it comes with 4GB of RAM. The tablet packs 64GB of internal storage that cannot be expanded. It was shipped out with Android 7.0 (Miui) and is still on this version).
Two months ago Xiaomi finally released Kernel Source Code for my device. It was broken, but I fixed most of the conflicts, streamed the kernel up to latest linux-stable and added some features. I also tried to build LineageOS & AOSP trees, but I have to admit, I'm starting to get desperate. For this specific SoC - even it's predecessor MT8173 - there is no activie development. And that is what I am looking for!

I collected some devices that either use MT8176 SoC, or the older MT8173 SoC. Some of them have Kernel Sources, which I listed and linked below.

All questions, requests for help, suggestions, ... are welcome. If you own any of the listed devices feel free to write and help. This thread is also on Reddit.

MT8176

Xiaomi Mi Pad 3
GPD XD+
Chuwi Hi9
Teclast Master T8
Teclast Master T10
Asus Zenpad 3S 10
Acer Iconia Tab 10 A3-A50
Alfawise Tab

MT8173

ALLDOCUBE Freer X9 (Cube Free X9 (U89))
HITSAN Onda V10 Pro
Pegasus JDTab J01
Acer Chromebook R13 CB5-312T-K8Z9
Amazon Fire HD 10 2017
Lenovo N23 Yoga
Lenovo Flex 11
Xiaomi Mi Box 3 2016
Amazon Fire TV (sloane)

Firmwares & Source-Code:

Chuwi Hi9
https://www.needrom.com/download/chuwi-hi9/ (Firmware)

Acer Iconia Tab 10 A3-A50
https://github.com/Goayandi/android_kernel_acer_titan
https://snlookup.com/acer-iconia-tab-10-a3-a50-tablet-p104780 (Firmware & Kernel-Source)

Xiaomi Mi Pad 3
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/tree/cappu-n-oss (Kernel-Source)
https://github.com/Goayandi/android_kernel_xiaomi_cappu/tree/3.18.108 (Kernel-Source)
http://en.miui.com/a-234.html (Firmware)
https://multirom.me/index.php?m=app&a=view&id=81&app=roms (Firmware)

Teclast T10
https://www.needrom.com/download/teclast-t10-e3c5/ (Firmware)

Teclast T8
https://www.needrom.com/download/teclast-t8-e8c1/ (Firmware)

GPD XD+
https://github.com/Goayandi/android_kernel_mt8176_common (Kernel-Source)
https://github.com/skelton/android_kernel_mt8176_common (Kernel-Source)
https://droidbox.co.uk/how-to/flashing-gpd-xd-plus-firmware/ (Firmware)
http://www.gpd.hk/news.asp?id=1519&selectclassid=002002 (Firmware)

Asus Zenpad 3S 10
https://github.com/Goayandi/android_kernel_asus_z500m (Kernel-Source)
http://dlcdnet.asus.com/pub/ASUS/EeePAD/Zenpad/Z500M/Z500M_V13_6_10_15_kernel.zip (Kernel-Source)
https://www.asus.com/us/Tablets/ASUS-ZenPad-3S-10-Z500M/HelpDesk_BIOS/ (Firmware)

Onda V10 Pro
https://www.needrom.com/download/onda-v10-pro/ (Firmware Android)
http://onda.cn/Tablet_Supports.aspx?id=371 (Firmware Phoenix OS)
http://onda.cn/Tablet_Supports.aspx?id=370 (Firmware Phoenix OS)

Pegasus JDtab J01
https://www.needrom.com/download/jdtab-j01/ (Firmware)

Amazon Fire TV 2015 (sloane)
https://github.com/Goayandi/android_kernel_amazon_sloane (Kernel-Source)

Amazon Fire HD 10 (7th Generation)
https://fireos-tablet-src.s3.amazon...PR/Fire-HD10_7th_Gen-5.3.6.2-20180315.tar.bz2 (Kernel-Source)
https://kindle-fire-updates.s3.amaz...wyB/update-kindle-40.6.0.5_user_605485120.bin (Firmware)

ALLDOCUBE Freer X9 (U89)
http://51cube.com/services?_search=U89 (Firmware)
https://www.leakite.com/2017/10/cube-stock-firmware.html (Firmware)
 

BiG_FooT

Senior Member
Nov 17, 2012
356
154
Rotterdam area
First thanks for your initiative! And I am very interested in obtaining a Custom ROM for my Teclast T10 E3C5 device with the aforementioned MTK8176 Chipset. I cannot help you with development but are open to test it and report bugs.
 

diplomatic

Senior Member
Mar 12, 2017
1,410
1,862
Hi Goayandi,

I'm not sure how many experienced ROM developers you will get. (I'm not one of them. I have compiled and modded existing ROMs, but never ported one.) I've heard several people say they will look into building a custom ROM for mt8163 or mt8173. But that's always as far as it gets. They never come back with any results. So I was just curious, what are you getting stuck on?

As far as I can tell, one major problem with porting to Mediatek is that they modify a lot of Google's OS code like frameworks and libraries. I do see that you already have some MTK customized repositories in your github library. You may have to do some reverse engineering of the stock ROM to confirm that the MTK changes are the same ones you have in your repos. Yes, that's a huge pain. It's also likely that MTK's patches for mt81xx and mt67xx, which is probably what you have, are pretty different.

One suggestion I want to make is to start out with a ROM that's as close to stock as possible. That means building a plain AOSP build NRD90M. This will reduce as many trouble-causing variables as possible. That's how I would do it. If you accomplish that, it will be easy to move on to higher Android versions or LineageOS, etc.

I would also use the prebuilt kernel for now. There is not much point to compiling your own for the same reason I just mentioned. A lot more variables would enter the equation. (Unless maybe you can test it independently with the stock FW.)
 

xivxivxiv

Member
May 12, 2011
11
0
In T10 thread I have heard of same kind of issue. Disconnect battery (solder) or wait for device to die, then charge and it should be fine

I tried that. That would work if recovery were bootlooping, and system were intact. In my case, my T8 cannot get to system. The Teclast Logo goes through its animation on startup, then gets stuck there. Holding volume up and power gives me 3 choices: recovery, fastboot, normal. Recovery and Normal are both broken. Fastboot is the only one I can do. How to recover from that?
 

fastmix

Senior Member
Feb 4, 2012
164
58
I tried that. That would work if recovery were bootlooping, and system were intact. In my case, my T8 cannot get to system. The Teclast Logo goes through its animation on startup, then gets stuck there. Holding volume up and power gives me 3 choices: recovery, fastboot, normal. Recovery and Normal are both broken. Fastboot is the only one I can do. How to recover from that?

You need to reflash firmware/rom with the sp flash tool.
 

BiG_FooT

Senior Member
Nov 17, 2012
356
154
Rotterdam area
You need to reflash firmware/rom with the sp flash tool.

You should flash stock firmware on your tablet with SPflash tools. Search for Mediatek SPflash + your device name in Google. Flash procedure should look like this:
FLASH Mediatek device
- Unpack FlashTools, and Click on Flash_tool.exe
- Select "scatter-Loading" and search MT8173_Android_scatter.txt in ROM
- Wait file to be added into Flash Tool
- Select "Download Only" or if upgrade "Firmware upgrade"
- Turn off your phone (and don't turn on the phone).
- Press “Download” button to start
- and connect your phone into the computer via USB data cable.
- The process will start and a red progress bar will appear after color purple, yellow.
- And green circles display
- Finish !
- You can now safely disconnect your phone and turn it on.

So you should look for your ROM/FIRMWARE and than flash it. Key step for you is to turn of the tablet, push download button in SPflash tools, and then connect USB to the tablet. Flash will then start!

But Google for instructions on how to use SPflash
 

xivxivxiv

Member
May 12, 2011
11
0
Thank you, BiG_FooT and fastmix! Leaving it in power off state before SP flash was the missing step. I don't know how I missed that in previous Google searches. Fully working tablet now.

I now have two of these things. If you (or any others interested in developing this Mediatek) want me to use one of my Teclast T8s for testing for you, let me know. :cowboy:
 

radicalx

Member
Jun 5, 2011
10
10
Hi! I have an Alfawise Tab (rebranded JDTAB 01) with MT8173 chipset and android 6.0.
I managed to find the stock firmware and recovery, so i tried to port this TWRP recovery: https://forum.xda-developers.com/mi-pad/development/recovery-twrp-3-2-1-0-mi-pad-3-cappu-t3744185 unsuccessfully, maybe because of the different android versions(?)
I don't know....
Does anyone know how to port- build a custom recovery for these chipsets (mt8173-76)?
Or know if there is a working TWRP based on android 6.0 and these chipsets?
 
  • Like
Reactions: BiG_FooT

ralphclark

Senior Member
May 3, 2009
113
21
What an utter failure. Of both the manufacturers and the community.
It's fairly clear that the problem is hardware fragmentation. There is just too much diversity in Android hardware platforms, even too many different ARM-based CPUs, and too few users on many of those to justify a major development effort for any of them.

The moral of the story must be: if you want your tablet to remain useful for more than a couple of years, don't buy a cheap Chinese generic one made by a company that isn't a famous global brand. Stick to hardware that has sold in the millions.
 
Feb 20, 2019
22
2
What an utter failure. Of both the manufacturers and the community.
It's fairly clear that the problem is hardware fragmentation. There is just too much diversity in Android hardware platforms, even too many different ARM-based CPUs, and too few users on many of those to justify a major development effort for any of them.

The moral of the story must be: if you want your tablet to remain useful for more than a couple of years, don't buy a cheap Chinese generic one made by a company that isn't a famous global brand. Stick to hardware that has sold in the millions.

What we really need to do is reverse engineer a few roms already built for these chipsets, then see what they all have in common. This will help us figure out what needs to be done to the kernel, and what firmware we need.
 
  • Like
Reactions: blakegriplingph

bigrammy

Senior Member
Apr 8, 2011
2,938
2,545
huddersfield
Where To Start??

Mediatek MT8173 & MT8176 development
Hi,
If I were you I would start by having a really good look through the MTK_X20_BASE_AOSP open source code here https://github.com/archermind/MTK_X20_BASE_AOSP
In that you will find all the required mtk binary's and documented associated google dependency's and stock mtk app's needed. Dig through all the make files and compare your project_confg which should be in your system/data/misc on 6.0 and vendor/data/misc 7.0 with the one in that source to see whats built.
Because it's mediatek it's messy and things are all over the place but after days of reading it you can kinda start follow the rabbit eventually :laugh:
Take what you need and assemble it into a nice logical fashion using a experienced dev's work as a example and try a AOSP build if that works then try Lineage.
When you have things stable follow others who have stepped up in firmware version.
Most things should work if you have a working kernel.
Best place to start would be HERE it's invaluable :good:
There are other places and make's for BT WiFi GPS etc etc so ensure to explore it well.
Obviosly get the blobs from your own device if poss else pinch them form that source and give them a try it's all trial and error.
If I ever find the time I may join you one day to build a rom for the Lenovo Tab2 mt8165 please note most of these mt8xxxx have a equivalent mt67xx/mt65xx see my sig below for a example.
Good Luck and Happy building :D :fingers-crossed:
 

Sword900

Member
Dec 1, 2013
41
27
Hi,
If I were you I would start by having a really good look through the MTK_X20_BASE_AOSP open source code here https://github.com/archermind/MTK_X20_BASE_AOSP
In that you will find all the required mtk binary's and documented associated google dependency's and stock mtk app's needed. Dig through all the make files and compare your project_confg which should be in your system/data/misc on 6.0 and vendor/data/misc 7.0 with the one in that source to see whats built.
Because it's mediatek it's messy and things are all over the place but after days of reading it you can kinda start follow the rabbit eventually :laugh:
Take what you need and assemble it into a nice logical fashion using a experienced dev's work as a example and try a AOSP build if that works then try Lineage.
When you have things stable follow others who have stepped up in firmware version.
Most things should work if you have a working kernel.
Best place to start would be HERE it's invaluable :good:
There are other places and make's for BT WiFi GPS etc etc so ensure to explore it well.
Obviosly get the blobs from your own device if poss else pinch them form that source and give them a try it's all trial and error.
If I ever find the time I may join you one day to build a rom for the Lenovo Tab2 mt8165 please note most of these mt8xxxx have a equivalent mt67xx/mt65xx see my sig below for a example.
Good Luck and Happy building :D :fingers-crossed:

Hello!
Do I have a chance to do this with my teclast T8 device if I don't have even kernel-source code? For now I've ported most of firmwares different from my stock ROM (MIUI, ZenUI etc). But I would like to upgrade android version ( Nougat to Oreo) if it possible. Since not so long new device ( alldocube X) was released on same chipset (mt8176) with installed android Oreo, maybe this may help some way?
 

Jmlanner

Member
Dec 2, 2013
24
3
Moncton
Hello!
Do I have a chance to do this with my teclast T8 device if I don't have even kernel-source code? For now I've ported most of firmwares different from my stock ROM (MIUI, ZenUI etc). But I would like to upgrade android version ( Nougat to Oreo) if it possible. Since not so long new device ( alldocube X) was released on same chipset (mt8176) with installed android Oreo, maybe this may help some way?
Hello To All
I have a Teclast M89 That I rooted with Magisk and have a working TWRP for backing up.
I am very interested in Testing Kernels and new Roms.I have already wiped and reflashed device a couple times -now Everything for testing,flashing, and booting has been verified.
 

Top Liked Posts