• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][6.0][STOCK]{UPDATED} Lenovo Tab 3 8"/TB3-850F

Search This thread

MotoJunkie01

Senior Member
Apr 2, 2016
2,403
1,213
Corbin
Thanks a ton mate!!! Since I don't need a working camera on my tablet, I thought I would wait for a new custom rom you're developing.. Until then, let me just stick to this ROM :).. Thanks once again for the help!!!
No problem mate. Now that a new year is about to start, I'm hoping to have all bugs worked out of my custom ROM for this great tablet so that I can get it posted in the next few days. I'm still a bit perplexed as to why your camera is not functioning on my stock ROM. If you followed all instructions carefully and the camera bug persists, it can only be one thing: your partitions need to be updated to TB3-850F_S100031_171010_ROW. Allow me to explain: my ROM flashes only your /system and /boot partitions. The OTA for S100031_171010 actually patches and updates additional firmware partitions such as /tee1, tee2, padA, and /lk (the primary bootloader). The issue you're having with the camera made me think, that my stock ROM could have bugs directly related to the partitions that are still running on an earlier version of firmware. On my Moto G (3rd Gen) ROM threads, I compiled a zip installer that updates the partition index to correspond with the firmware version of the ROM, so that people updating from an earlier version firmware could also update the partition index accordingly. I'm going to do the same thing with the Tab 3 8. I'll include the updater zip in the download link of the ROM. I'm trying to get that finished and posted today. Thanks mate for your user input and feedback.
 
  • Like
Reactions: Hemphiz

Isaac Sailo

Member
Nov 3, 2013
22
8
Thanks a lot mate, I appreciate all your explanations even though I understood half of them haha.. Anyways, if you want me to flash the additional zip, I don't have any problem :good:
 

MotoJunkie01

Senior Member
Apr 2, 2016
2,403
1,213
Corbin
Can help me get this file?

TB3-850M_S100036_171214_ROW
Open this link and translate the page from Russian to English. I believe the firmware version you are looking for is included in this link. There is also an unofficial LineageOS 14.1 build for the TB3-850M.
http://4pda.ru/forum/index.php?showtopic=764969&st=880
Update: After checking the link more carefully, I see that the firmware package is actually Build No. TB3-850M_S100036_171222_ROW, which was released one week after the version you referenced.
 
Last edited:

voland34

Senior Member
Feb 1, 2015
73
18
Hi. I'm trying to find a custom rom for this model that improves responsiveness (becoming desperately slow), and found this thread in which a new light and responsive custom rom is mentioned as almost ready, but i'm not sure if it's to be posted here or elsewhere. I cant find it in xda at all. Could anyone get me out of my confusion? thanks a lot to anyone giving some attention to this tablet.
 

pndwal

Senior Member
Last edited:

pndwal

Senior Member
Hi. I'm trying to find a custom rom for this model that improves responsiveness (becoming desperately slow), and found this thread in which a new light and responsive custom rom is mentioned as almost ready, but i'm not sure if it's to be posted here or elsewhere. I cant find it in xda at all. Could anyone get me out of my confusion? thanks a lot to anyone giving some attention to this tablet.
I'm not aware of any genuine custom ROMs for TB3-850F (other than slightly modified stock ROM in this thread.)

However TB3-850Fs close cousin, TB3-850M (with SIM support) now has working ported Lineage OS 14.1 (Android N - not bug free yet). This should work fine if you can get it to install / boot on TB3-850F (ie fool TWRP to install it) as critical hardware / partitioning is essentially the same. (Others report running TB3-850F firmware on TB3-850M and seem only to lack SIM support).

I would try this if I had the time, but I'm happy to wait as @MotoJunkie01 is committed to porting TB3-850F to this ROM properly. See posts #193, #197, #198 at https://forum.xda-developers.com/android/general/guide-lenovo-tab3-8-tb3-850f-t3559786/page20.

Hope this information helps, PW.
 
Last edited:

MotoJunkie01

Senior Member
Apr 2, 2016
2,403
1,213
Corbin
I'm happy to wait as @MotoJunkie01 is committed to porting TB3-850F to this ROM properly. See posts #193, #197, #198 at https://forum.xda-developers.com/android/general/guide-lenovo-tab3-8-tb3-850f-t3559786/page20.

Good, it seems wise to wait a bit longer for MotoJunkie01's expertise. Thanks, mate
And I am on it guys. I'm sorry for the obvious delay. Motorola Mobility has me out on the road doing tower & RF work at the moment, so it's been much traveling these last few weeks. I'm about to be settled in at home for a couple weeks down time....thank Buddha, Zeus, and the Hunch Back of Notre Dame. I will get work done on this and my other devices. Thanks for you patience and continued interest.
 
  • Like
Reactions: pndwal

pndwal

Senior Member
And I am on it guys. I'm sorry for the obvious delay. Motorola Mobility has me out on the road doing tower & RF work at the moment, so it's been much traveling these last few weeks. I'm about to be settled in at home for a couple weeks down time....thank Buddha, Zeus, and the Hunch Back of Notre Dame. I will get work done on this and my other devices. Thanks for you patience and continued interest.
Goodoh
@limited_imagination has been trying to compile a kernel for the 850F See posts #73, 75 & 76 here:
https://forum.xda-developers.com/an...6-custom-recovery-t3483454/page8#post76033375

Perhaps you can assist one another. Regards, PW.
 
  • Like
Reactions: MotoJunkie01

limited_imagination

Senior Member
Nov 2, 2013
65
38
Goodoh

@limited_imagination has been trying to compile a kernel for the 850F See posts #73, 75 & 76 here:
https://forum.xda-developers.com/an...6-custom-recovery-t3483454/page8#post76033375

Perhaps you can assist one another. Regards, PW.

Hi there @pndwal, mentioning me here inspired me to have another bash at it, and I have finally met with some success.

I have now cobbled together a source code that gets to the bitter end and builds a full kernel Image.gz-dtb file.

In trying to build a full kernel, I started with trying to merge the two source codes that @fran89 posted links to. I kept getting tons of errors, many referring to missing files or improper path addresses to those files. Lots of wasted time in trial and error.

One major issue I discovered the hard way, is the "case sensitive" file structure of Linux. There are a whole bunch of missing files in those two @fran89 source code links, especially in the /net/netfilter directory, because the file names are the same except for upper case and lower case characters (eg. xt_RATEEST.c and xt_rateest.c, xt_TCPMSS.c and xt_tcpmss.c, etc.). The official Lenovo source code that the company posted must have been passed through a Windows or an OS X machine at some point, which over-wrote one of each of these files, because those operating systems are case insensitive. So you end up with only one of the two necessary files.

In the end, what worked was to start with the source code posted by Greg Kroah-Hartman here: https://android.googlesource.com/kernel/mediatek/+/android-3.18

I believe that Kroah-Hartman source code would build a kernel just fine on its own, but it's not specific to our particular device. I experimented with building it just as is, and the make script starts you out with a lot of configuration questions that have to be answered Y/N. Many of those configurations I had already set up previously in a .config file when doing a "make menuconfig" with the sources that @fran89 posted, so I wanted to use that previous .config file that I had previously generated. And the Kroah-Hartman source code had none of the lcsh8735m files that the Lenovo source had.

So in the end, I searched for all the lcsh8735m* files from the Lenovo source and merged them into the Kroah-Hartman source, along with my previous .config file, along with a missing cust.dtsi file that I located from here: https://github.com/olegsvs/android_kernel_ark_benefit_m7_mm/blob/alps-mm/arch/arm/boot/dts/cust.dtsi

That all did the trick. The main changes I made from the default kernel configuration, was to enable FTDI serial USB support, and change the default CPU_FREQ_GOV from interactive to performance.

So now I have a complete source code folder with all the built objects in it, as well as the Image.gz-dtb file.

I am a little hesitant to go the next step with Android Kitchen and flash the kernel to my Tab3 8. I have never done a kernel flash before, and there were some warnings given during the build process that worry me a bit, although they weren't fatal errors, and the build completed with an Image.gz-dtb file produced.

I would appreciate someone more experienced than me having a look over my work at this point. Probably @MotoJunkie01 is best equipped to check it out. I have zipped up the whole compiled source code folder as a tar.gz file, but it's still 700 MB, so I doubt it would work as a file attachment to a post here.

I don't have a git account, and I'm a little hazy on how to deal with this 700 MB tar.gz file now, so suggestions appreciated.

FWIW, I did this work on a Windows 10 64-bit PC, using VMware Workstation 12 Player to run Xubuntu 16.04. I'm aware that some people here have issues with running Linux in a virtual machine, but it seemed to work ok for me. I used the old android-ndk-r11c toolchain.

Here are my build commands from the terminal, once getting a copy of the toolchain and the source code folder in place:

Code:
cd /home/limited_imagination/Desktop/mediate-android-3.18/
export CROSS_COMPILE=/home/limited_imagination/android/android-ndk-r11c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-
export ARCH=arm64 && export SUBARCH=arm64
make -j5 ARCH=arm64 CROSS_COMPILE=/home/limited_imagination/android/android-ndk-r11c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-
 
  • Like
Reactions: Hemphiz and pndwal

limited_imagination

Senior Member
Nov 2, 2013
65
38
Here is the Image.gz file that was produced, and also the Image.gz-dtb file.

I tried to upload the Image.gz-dtb file directly, but the forum software blocked it. So I put it into a Zip archive, and that seems to have been allowed.
 

Attachments

  • Image.gz
    4.2 MB · Views: 2
  • Image.zip
    4.3 MB · Views: 0
  • Like
Reactions: Hemphiz and pndwal

MotoJunkie01

Senior Member
Apr 2, 2016
2,403
1,213
Corbin
Oh wow. Been traveling and just got on here to check out the threads. Lo and behold, I see major progress on our beloved Tab 3. I'll download these files and check out the code. @limited_imagination, much thanks for your hard work. Looks like we are finally getting close to some real development here.
 
  • Like
Reactions: pndwal

pndwal

Senior Member
Wow, well done with all that. Strange source code was altered that way, and well done finding solution.

Hope @MotoJunkie01 can assist you with getting it booting.

Did you check ported Lineage OS 14.1 for TB3-850M (TB3-850Fs close cousin)? -See post #107 this thread. Guessing it could be useful.

Looking forward to seeing progress with this. Many thanks for your efforts in developing for our device. Regards, PW.
 
Last edited:

Diomorgan

Senior Member
Jul 11, 2011
617
84
Rome
so sorry I edited and didn't push return .Will do right now. By the way the question is the same, everyone got it's OTA upgrade alert a few weeks ago and maybe applied it? Actually I found that if I use it it doen't reboot, while if I live charging not using it it reboots pretty often. :(
 
Last edited:

limited_imagination

Senior Member
Nov 2, 2013
65
38
Wow, well done with all that. Strange source code was altered that way, and well done finding solution.

Hope @MotoJunkie01 can assist you with getting it booting.

Did you check ported Lineage OS 14.1 for TB3-850M (TB3-850Fs close cousin)? -See post #107 this thread. Guessing it could be useful.

Looking forward to seeing progress with this. Many thanks for your efforts in developing for our device. Regards, PW.

I have not looked into Lineage OS at all yet, and frankly that is probably well above my capabilities. I can barely spell "dev", much less work like one. But I am bloody minded enough to trial & error my way through building the original kernel in order to add new drivers, and to hopefully increase the performance speed if I can see an easy option along the way.

I'm not 100% sure that I have built a kernel that will work properly on the TB3-850F, much less sure about upgrading the device's whole Android OS to something newer.

After examining the device with "Device Info HW" from the google play store, I know that with the current updates installed on my TB3-850F, Lenovo is using the Linux 3.18.19 kernel, and "gcc version 4.9.x-google 20140827 (prerelease)". So that's why I focused on the Kroah-Hartman 3.18 kernel source code after getting so many frustrating fatal build errors with the other two that Fran89 directed me to use. That's the only other source code that I could find purporting to be for Mediatek devices, and using the Linux 3.18 kernel. It's also why I used a relatively older Android toolchain for the build.

The Kroah-Hartman source code is actually for the Linux 3.18.104 kernel, so I am not sure whether that will screw everything up when the image gets flashed to the device. I think it will be ok, but I'm certainly not 100% sure. Hopefully there are no really major differences between 3.18.19 and 3.18.104. It seemed to take on the specific TB3-850F configurations, anyway.

I have zipped up and attached the two .config files (the first one created by a menuconfig exercise under the error-ridden Lenovo source code using the 3.18.19 kernel, and the second one created from the Kroah-Hartman source code using the 3.18.104 kernel). So you can open them in a text editor and compare.

I also attach the last 1000 lines of build messages generated by the GCC compiler before it built the image. Unfortunately I did not direct all the message output to a text file during the build, because of all the weird "config Y/N" questions that begin the Kroah-Hartman build script. The compiler must output its messages to the screen, so you can answer the config questions, or else there is a fatal error right at the start. That means all the build messages scroll off the top of the terminal screen, except for the last 1000 lines in the buffer, unfortunately.

If @MotoJunkie01 wants to PM his mailing address to me, then I am happy to send him a USB key with the entire built source code, objects and images, if would be useful. As I said, I'm not a git user, so finding a public host for a 2.3 GB file, or even a compressed 700 MB file, does not have an obvious solution to me.
 

Attachments

  • comparative-dot-config-files.zip
    173.1 KB · Views: 3
  • kernel-build-messages.txt
    36.8 KB · Views: 2
  • Like
Reactions: pndwal

limited_imagination

Senior Member
Nov 2, 2013
65
38
Damn, I can already see some differences between the two .config files, that may be show stoppers.

Despite the Kroah-Hartman source code supposedly being made for Mediatek devices, there are no 6735m specific configurations in that .config file, as there are in the Lenovo .config file.

Damn, I may now have a buildable source code, that doesn't work with the specific device.

I will await some more experienced person's comment.

Maybe I will try again to merge the two source codes and use the Lenovo .config with the resulting bodge.

Argh.
 
  • Like
Reactions: pndwal

pndwal

Senior Member
I have not looked into Lineage OS at all yet, and frankly that is probably well above my capabilities. I can barely spell "dev", much less work like one. But I am bloody minded enough to trial & error my way through building the original kernel in order to add new drivers, and to hopefully increase the performance speed if I can see an easy option along the way.

I'm not 100% sure that I have built a kernel that will work properly on the TB3-850F, much less sure about upgrading the device's whole Android OS to something newer. . .

If @MotoJunkie01 wants to PM his mailing address to me, then I am happy to send him a USB key with the entire built source code, objects and images, if would be useful. As I said, I'm not a git user, so finding a public host for a 2.3 GB file, or even a compressed 700 MB file, does not have an obvious solution to me.
Guess every dev had to start somewhere. - and humility can make one great.

Think your handle may just be a misnomer too. With your imagination I'm banking on your success with this project. You have the hallmarks. . . (I'm sure there's no danger you will repeat the crime of bloody-mindedness in the traditional sense either) PW.

- Why, what a bloody-minded, inveterate, termagant strumpet have I been plagued with! (Thomas Otway).

---------- Post added at 01:10 AM ---------- Previous post was at 12:40 AM ----------

Damn, I can already see some differences between the two .config files, that may be show stoppers.

Despite the Kroah-Hartman source code supposedly being made for Mediatek devices, there are no 6735m specific configurations in that .config file, as there are in the Lenovo .config file.

Damn, I may now have a buildable source code, that doesn't work with the specific device.

I will await some more experienced person's comment.

Maybe I will try again to merge the two source codes and use the Lenovo .config with the resulting bodge.

Argh.
Argh Argh Argh Argh

May I suggest that with your sheer B-minded determination at least, you may be the one to properly port our device to LineageOS 14.1 for TB3-850M I posted link to, and possibly debug.

This shouldn't be difficult as it will probably boot as is. Critical hardware / partitioning is essentially the same. (Others report running TB3-850F firmware on TB3-850M and seem only to lack SIM support). Probably only need to fool TWRP to install first. PW.

PS @MotoJunkie01 may have started / attempted this already.

(I'm trying to turn my limited imagination into an asset)

---------- Post added at 01:18 AM ---------- Previous post was at 01:10 AM ----------

so sorry I edited and didn't push return .Will do right now. By the way the question is the same, everyone got it's OTA upgrade alert a few weeks ago and maybe applied it? Actually I found that if I use it it doen't reboot, while if I live charging not using it it reboots pretty often. :(
I'm not getting this OTA push for TB3-850F yet. (You still say TB3-8503F ???)
Still have TB3 850F S100031 171010 ROW as the latest.
Please could you post the complete xxx ROW designation for your OTA update?
Thanks, PW.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    STOCK ANDROID 6.0 MARSHMALLOW ROM
    FOR THE LENOVO TAB 3 8"/TB3-850F
    TWRP FLASHABLE ZIP
    FORCE ENCRYPTION & DM-VERITY DISABLED

    DISCLAIMER: Your warranty will be voided by installing this ROM, unlocking your bootloader, or flashing a custom recovery. You hereby assume sole responsibility for any positive or negative consequences incurred by flashing this ROM. As always, flashing your Android device or otherwise altering its file system & partitions involves an inherent risk. I am not responsible for any devices which are bricked or otherwise rendered inoperable as a result of flashing this ROM. However, in such scenarios,
    I will provide all support feasibly possible. Follow the simple instructions carefully and you should experience no adverse affects.
    Lenovo's open source code for this ROM encompasses both the 850F & 850M variants of this tablet. Therefore, this ROM should be completely compatible with the TB3-850M as well.


    NOTES:

    This Stock Android 6.0 ROM is virtually unmodified. However, it should be noted that dm-verity (device mapping) and force encryption have been disabled via patched boot image. This is the most current stock OS for the Lenovo Tab 3 8"; therefore, no OTAs will need to be installed subsequent to flashing this ROM. In order to ensure that force encryption gets disabled, it is imperative that the /userdata (Data) partition is formatted in TWRP prior to Installation. Please carefully follow the below instructions.
    For those members who want a pure stock experience, but also want root access of the stock OS, I'm currently compiling a deodexed & zipaligned version of this ROM, fully rooted with Magisk 14.0 & BusyBox binaries pre-installed.

    SPECIFICATIONS:

    Android Version: 6.0 Marshmallow
    Build No: TB3-850F_S100031_171010_ROW
    Kernel Version: 3.18.19
    SDK Version: 23
    Software Version: TB3-850F_160412
    Build ID: MRA58K
    Android Security Patch Level: 9/05/2017
    Runtime Version: ART 2.1.0
    Hardware Version: LenovoPad TB3-850F
    Board Platform: MediaTek MT6735M
    CPU: 64-Bit, Quad-Core Cortex A-53 - 1.0GHz
    GPU: Mali T720 - 450MHz
    RAM: 1GB
    OS Build Date: 10/10/2017


    Source Code: http://pcsupport.lenovo.com/us/en/products/tablets/a-series/tab3-8/downloads/ds112711


    REQUIREMENTS:

    1. Unlocked bootloader;
    2. TWRP recovery;

    This is a pure stock, unmodified, TWRP flashable Android 6.0 Marshmallow ROM for the Lenovo Tab 3 8". This ROM was compiled from the most recent stock /boot and /system images. However, as noted previously, the boot image has been unpacked, patched, and repacked in order to disable dm-verity and force encryption. Because raw firmware images were used in compiling this ROM, the file size is in excess of 1GB (approximately 1.35GB).

    INSTRUCTIONS:

    1. Download the ROM from the link provided and save it to your external micro SD card. Do not save to internal storage, as your /data partition will need to be formatted prior to installation;
    2. Boot your tablet into TWRP recovery;
    3. Wipe /system, /data, /cache & /Dalvik-ART cache. Also, select "Wipe", then "Format Data." This step is crucial to ensure disabling of force encryption. Please note that once installed, you may go to SETTINGS>>SECURITY and opt to encrypt the userdata on the tablet;
    4. Select INSTALL, navigate to the location in which you saved the ROM zip file, and initiate installation. Flashing will complete in approximately 3 - 4 minutes;
    5. Reboot system.

    You should now have unmodified stock Android 6.0 installed on your Tab 3, as well as disabled dm-verity and disabled force encryption.

    DOWNLOAD LINKS:

    Stock Android 6.0 ROM --
    TB3-850F_S100031_171010_ROW: https://drive.google.com/file/d/1iMf0Ns_XWGpYlNmXCvUsW_1DfaRMeIuO/view?usp=drivesdk

    Stock Recovery Image: https://drive.google.com/file/d/1D6A7b080luzsSf0xLJSCqPBNeQLSWo94/view?usp=drivesdk

    Unpatched Stock Boot Image: https://drive.google.com/file/d/1azgIrPbfJHBzZF9R4IUMxIGNga6vjipD/view?usp=drivesdk

    Lenovo File Manager (APK): https://forum.xda-developers.com/android/general/app-lenovo-file-manager-lenovo-tab-3-8-t3706161

    Lenovo Tab 3 8" User Guide --
    TB3-850F & TB3-850M (English)(PDF): https://drive.google.com/file/d/18gCTfuZecJnlB0ddBIN02YPaDpuvmzov/view?usp=drivesdk

    Older Build(s):
    TB3-850F_S100030_161209_ROW: https://drive.google.com/file/d/0B1Sfod4HWfk2aTNtVmJHZGpWZEE/view?usp=drivesdk


    BUGS: Please report any and all bugs, no matter how seemingly trivial or insignificant. For those members with the knowledge, please submit a proper bug report. If you are not sure how, simply provide as many facts & details as possible. If you are having problems with apps, please specify as to whether the app is from Google Play. Also, please DO NOT submit bug reports unless you are utilizing this ROM in its present form -- unmodified, pure stock. Custom kernels, mods & tweaks (e.g. Xposed framework) & any deviations from pure stock will make it futile to analyze bug reports. Instead, provide with detail the precise nature of the problem. If reporting a bug, please specify if you are rooted (systemless or system-mode) and/or have BusyBox binaries installed. Submit screenshots of bugs if possible.
    2
    My custom ROM for this tablet should be coming out of the Android Kitchen later this evening. I've dubbed it Ethereal OS v1.1 [Android 6.0.1]. Extremely lightweight yet moderately feature packed.
    2
    Many thanks for clear summary!

    Couple of related questions:
    Re. disabled encryption:
    Will device / processes work faster with encryption disabled? And will this affect adoptive storage in any way?
    Re. dm-verity:
    Is there an option in this ROM to turn dm-verity on or off (as with force encryption)?
    Re pre-rooted ROM:
    Is there any advantage in supplying ROM pre-rooted? (Some OS customisers (eg OctOS) have dispensed with pre-rooted versions in order to give users greater flexibility.) I ask since I'd like to try Magisk on this device as I like some of its systemless modules, as well as ability to pass Safety net check.

    Incidentally, I just noticed Magisk Manager has Advanced Settings to Keep force encryption, and Keep dm-verity. Turns out (from Magisk XDA thread) that these are disabled by Magisk root by default, but can be toggled back on. Read that dm-verity may be needed for OTA updates. Read that leaving Keep force encryption disabled means that if encrypted data is removed (wiped), it won't be encrypted automatically on next boot.
    Might try Magisk on tablet soon to see if it does the same job, and report results. Works fine on my Huawei y550 phone with Lineage OS, and seems to be un-encrypted (shows option in Security to Encrypt Phone). Thanks, PW.
    My pre-rooted ROM for this device will actually be using Magisk 14.0 Systemless User Interface with full SafetyNet pass. Yes, correct; Magisk Manager does provide advanced options to allow dm-verity and force encryption to remain intact. I've personally never had the slightest use for dm-verity or force encryption. But, that's my personal opinion, and I'm sure there are users who would opt to use these features.
    Should Lenovo push any future OTA's for this tablet, I will update the stock ROM in this thread accordingly. My pre-rooted, deodexed ROM, which is presently nearing completion, will include Google's security patches up to August 1, 2017, as well as options to enable the Google Assistant.
    2
    After much battling with default force encryption and dm-verify on this tablet, I have finally decrypted this device and have compiled an otherwise unmodified Stock 6.0 ROM which is TWRP flashable. I have also updated this ROM to the most current version, which will alleviate any issues with installing OTAs. I will also be updating the stock Recovery Image to the latest version, TB3-850F_S100030_161209_ROW.
    2
    I've managed to fix the major bugs reported upon initial install of the ROM -- Recents & Home Buttons, Quick Pulldown Menu, Google Framework bugs, New App Shortcut bugs, etc. Simply corruption during packing (archiving) the ROM zip. I will try my best to get a new build posted sometime today.