General General FYT based Spreadtrum uis7862 (unisoc ums512) - Q&A, Mods, tips, firmware

Search This thread

hanichl

Senior Member
Jun 6, 2012
59
11
Doing some tests with several firmware files from Joying. Each time, a new firmware is processed, all settings and installed oem apps are removed.
I removed the entry "twipe_all" in updatecfg.txt , same behaviour, very strange: some apps are missing, some are present ... some settings are present, some are gone ....
Any hints, tricks to get a real "update" , without removing / formatting / anything ? I know, that there also my bi issues when doing that, but nevertheless .......... KR !!
 
  • Like
Reactions: Pfeffernuss

sagipael

Member
Sep 10, 2009
16
0
OnePlus 6

Attachments

  • IMG_20220508_191023.jpg
    IMG_20220508_191023.jpg
    6.8 MB · Views: 49

surfer63

Senior Member
May 4, 2010
4,178
1,714
Zwolle
hvdwolf.github.io
Please check the original script.
You mention that the command failed
Code:
/storage/sdcard1/7zzs........ failed

But is this really the entire error?
And is there an AllAppUpdate.bin created?
 
Last edited:

martindagun

Member
Jan 30, 2022
5
0
I have the Ekiy KK3 unit and have two minor issues:
- The side button backlights seem to turn off after a short period. Is there somewhere I can change this as I can't see them at night time.
- I can't seem to get my phone connected via Carlink. It used to work with my phone but not my partners. Now it's changed where it allows for my partners phone to be connected but not mine. Btw I'm not trying to have both of them connected at once. I can connect via bluetooth but not carlink.

Thanks
 

Ming12309

New member
May 14, 2022
3
1
nunfortunately it's not that simple. every launcher for 4pda It installs As "launcher03 " so I can install only one. I don't know what I'm doing wrong

Tôi có ***g câu hỏi với bạn

Mod translation via GT: I have the same question as you
 
Last edited by a moderator:

mariodantas

Senior Member
On the above point, my present solution is slightly different: I use AdAway pretty much as the only autostarting app for now. FYTstarter triggered a warning along the lines of "autostart of accessibility service requires root" - never mind. Uninstalled FYTstarter for now as this tool allowed me to call standard Android settings and unblock the autostart of AdAway. It now comes up nicely, I also made it an always active VPN (have no root). I think the tool may be worth mentioning in the Q&A as it also allows to modify apps re suspend (I "unoptimised" a few).
Thanks for using my tool !
 

AxesofEvil

Member
May 28, 2011
41
27
Is there any way to know whether I have the latest firmware? I have a brand new M500s, which has build #: 'QP1A.190711.020 release-keys'. I am wondering if the links posted in post #1 are more recent or not.
(Edit: I used HWGetInfo and found that my build date was:
Code:
[ro.system.build.date]: [Mon Jan 17 09:25:02 CST 2022]
...But I don't know where to find the equialent info in the downloaded firmware before installing it)

Also, is there any way to backup the existing firmware? I already ran the backup procedure as per post #4, but this does not capture an equivalent 6315_1.zip file. I am wondering whether there is a way to create this file from my unit before upgrading the firmware.

I have seen a few reboots while using the unit, and am wondering whether a new firmware will address this.
 
Last edited:

surfer63

Senior Member
May 4, 2010
4,178
1,714
Zwolle
hvdwolf.github.io
Is there any way to know whether I have the latest firmware? I have a brand new M500s, which has build #: 'QP1A.190711.020 release-keys'. I am wondering if the links posted in post #1 are more recent or not.
(Edit: I used HWGetInfo and found that my build date was:
Code:
[ro.system.build.date]: [Mon Jan 17 09:25:02 CST 2022]
...But I don't know where to find the equialent info in the downloaded firmware before installing it)

Also, is there any way to backup the existing firmware? I already ran the backup procedure as per post #4, but this does not capture an equivalent 6315_1.zip file. I am wondering whether there is a way to create this file from my unit before upgrading the firmware.

I have seen a few reboots while using the unit, and am wondering whether a new firmware will address this.
You don't need a 6315_1.zip file. For the 7862 FYTs they are all 100% identical. That's why my script doesn't make a backup of it.
Of course it makes a difference to flash a newer one compared to an old one.
However, I found literally no differences so far from older ones to newer ones. The Chinese builders are lazy.

To get the build date you really need to unpack the 6315 to the deepest level being the system partition where you will find the build.prop.
I described that in post 2: III. The 6315_1.zip
 
  • Love
Reactions: mariodantas

AxesofEvil

Member
May 28, 2011
41
27
You don't need a 6315_1.zip file. For the 7862 FYTs they are all 100% identical.
...
To get the build date you really need to unpack the 6315 to the deepest level being the system partition where you will find the build.prop.
I described that in post 2: III. The 6315_1.zip
Can you clarify these 2 statements? if the 6315_1 has the build date then it is clearly not 100% identical (since my build date is newer)

But what I really wnat to know is that I can revert back to how my unit was if I try a different firmware. if I do not flash the 6315_1, and only flash the AllAppUpdate.bin, I guess that may be good enough. Is there any version information in the AllAppUpdate.bin?

I have also a tool for that (linux) which uncompress the 6315_1 and creates the mount points for each partition

https://forum.xda-developers.com/t/tool-fyt-firmware-workbench.4444267/
Thanks, this makes things a little easier
 

AxesofEvil

Member
May 28, 2011
41
27
Has anyone done any reverse-engineering on the Canbus module interface to the head unit?
I have a Volkswagen MkVI GTI with Dynaudio, and get no sound out of the radio due to the amp being controlled via CanBus commands. I talked to Navifly, but they just said:

If your car has a Dynaudio power amplifier, their audio transmission method is optical fiber, the navigation will not be supported, please do not purchase GPS navigation
This is definitely not true for my vehicle. I was able to reverse-engineer the AMP commands far enough to be able to send canbus commands to tun on/off the amplifier (canbus identifier 0x6c7). I'm building a small arduino module (mini pro + MCP2515) that will use the amp-power wire to send the proper commands. That will be enough to get things working, but the Amp supports additional per-channel balance commands as well, and I'm wondering whether I could just replace the 'Raise' module altogether to get more functionality
 
Last edited:

dbmgreen

Member
Oct 28, 2008
31
1
Question:
How do I identify my joying model.

Whenever I ask joying, they just send me an update file. Its an android 10 device, only had it about 6 weeks. It is still the old UI, and I would like the new UI. The last file they sent me, was the wrong screen orientation. :) grrrrr

Its a 10.1inch screen.

If I have the model, I'm assuming I can download firmware for my model with new UI?

They always ask for this screen attached.

Can anyone help?

Just for clarity, the SKU doesn't seem to match the model number? Not sure why?

I purchased this image below my screen grab.

SKU: JY-TQ155N4G-B
Ship From: Chinese Warehouse
CPU: UIS7862 12nm Dual ARM Cortex-A75 + Six ARM A55
Ram: LPDDR4 8GB Rom:EMMC 128GB
Support Bluetooth, WiFi, DVR, OBD2, Back-Up Camera

PXL_20220516_024037148 (1).jpg


latest_android_car_navigation_system_for_toyota_highlander_2014-2018_with_1280x800_screen_1__1.jpg
 

Petarkco

Member
Dec 1, 2020
10
2
Looks like Joying have released another update. No changelog again.

I wish there was a way to find out what has changed because it's a pain having everything wiped when there is no noticeable difference.
 
  • Like
Reactions: hanichl

stediste

Member
Jul 21, 2011
6
0
I have a question, my headunit is FYT 31 and i noticed it interfere with DAB+ signal. I would like to know if someone else have noticed it. I want to buy another headunit, but don' t want the same problem.
 

surfer63

Senior Member
May 4, 2010
4,178
1,714
Zwolle
hvdwolf.github.io
Can you clarify these 2 statements? if the 6315_1 has the build date then it is clearly not 100% identical (since my build date is newer)

But what I really wnat to know is that I can revert back to how my unit was if I try a different firmware. if I do not flash the 6315_1, and only flash the AllAppUpdate.bin, I guess that may be good enough. Is there any version information in the AllAppUpdate.bin?
I was not precise enough in my statement. They are not bitwise identical of course.
A specific type of phone has its own system firmware for cpu and installed hardware and the like.

Those FYT uis7862 units are all exactly the same (exactly the same "phone") and if you download a firmware fom Joying or Mekede or T'eyes, they might pack it with their own programs and "tweaks" inside the AllAppUpdate.bin, but the system part (6315_1.zip) is for all units identical.
Some minor variations like a better or worse radio chip, or better or worse audio chip are covered by builtin "drivers".

And yes: you can only flash the AllAppUpdate.bin without touching the core of your system.
 
  • Like
Reactions: mariodantas

Petarkco

Member
Dec 1, 2020
10
2
I've tried editing the firmware so that apps like DAB-Z aren't killed so easily but it seems that it hasn't made too much of an effect. DAB-Z will open in the background when I start the car in the morning but the app won't actually load, I have to switch to it to get it to start.

Is this expected or is there anything that I can change?
 

surfer63

Senior Member
May 4, 2010
4,178
1,714
Zwolle
hvdwolf.github.io
I've tried editing the firmware so that apps like DAB-Z aren't killed so easily but it seems that it hasn't made too much of an effect. DAB-Z will open in the background when I start the car in the morning but the app won't actually load, I have to switch to it to get it to start.

Is this expected or is there anything that I can change?
What do you actually want?
That the app isn't killed ór that it starts when your unit starts?

  • DAB-Z itself has in its settings under General: "Automatically start when USB device has been found". That event happens on every cold boot and warm boot as USB devices are disconnected and reconnected on (un)sleep and boot.
  • Your FYT uis7862 has in its Settings under "User" (one from the bottom), the option "Application Setting". That allows you to autostart any app on cold boot or warm boot.
From my point of view you don't need the nokill option at all.
 
  • Like
Reactions: hanichl

Sarsbucket

Member
May 18, 2022
44
10
Samsung Galaxy A52s 5G
Im assuming your APK worked properly, and I do not have an FYT based system. If that is the case, can you point me to the right thread? Im somewhat new to modding android based devices, but I want to know what I can do with the system I have. Im also going to assume either of the backup scripts linked in this thread will not work for me either. I will keep looking for more info in the meantime.

Its an SPRD UMS512_1H10_Natv, TS10 4+64, 10 quince tart API 29
FW : TS10.1.2_20210301.141702_THEME1
MCU : TS10.1.1-300-10-A4C689-210129(GD330)
 

surfer63

Senior Member
May 4, 2010
4,178
1,714
Zwolle
hvdwolf.github.io
Im assuming your APK worked properly, and I do not have an FYT based system. If that is the case, can you point me to the right thread? Im somewhat new to modding android based devices, but I want to know what I can do with the system I have. Im also going to assume either of the backup scripts linked in this thread will not work for me either. I will keep looking for more info in the meantime.

Its an SPRD UMS512_1H10_Natv, TS10 4+64, 10 quince tart API 29
FW : TS10.1.2_20210301.141702_THEME1
MCU : TS10.1.1-300-10-A4C689-210129(GD330)
You hava a TS10 which is a TopWays system using different firmware. Search the appropriate forum https://forum.xda-developers.com/f/android-head-units.4267/
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Figured I'd let the Mekede 300s-600s owners know that the firmware was updated! The 6315_1.zip folder and the AllAppUpdate.bin are now updated 6/11/2022 and 6/13/2022 respectively. I grabbed it from Mekede's firmware download page.

    I noticed this one had all the camera 360 stuff in the config.txt. I ended up erasing all that stuff and grabbing the config.txt from the previous update to revert all that, as it broke my aux capability initally. Still had to change the bluetooth to 0 to get it to work. What's cool is that carlink carplay/android auto app was updated May 2022. It seemed to fix the occasional failure to auto connect wirelessly to carplay.
    3
    Hi out there, has anyone succeeded in patching the AllAppUpdate.bin NOT to clear /data/data ??
    it has nothing to do with AllAppUpdates.bin contents, if AllAppUpdates.bin present - lsec6315update wipes /data/data

    A "crazy" idea will be "RE" lsecXXXXupdate and search for actions, modify then compile again, or looking with an HEX editor
    you can not change lsec6315update that easy, it is protected image so it will stop working after you change anything
    2
    There's a rm -f /data/data inside the file

    View attachment 5633735

    @surfer63 is it possible to you to take a look ?, I tried to modify "/data/data/*" by "/data/_ata/*" or by "/data/data/nothing" but.... as expected, the file does not boot at all, maybe signed ?
    I already did and found the same pattern and modified it. It doesn't work, like you experienced as well. I think it has an internal CRC check, like nowadays the CRC from the BlueTooth apk is checked as well by the system to prevent BT modifications.
    And I think it is due to the dynamic partitions where FYT chooses (again) the simplest solution. Any AllAppUpdate.bin causes the entire partition to be rewritten, which is not necessary.
    @gordgelin made a mod which uses the old partitioning. He compared a couple of the first firmware relases, which used the old partioning, with the newer firmwares, which use the dynamic partitions. A very nice job. That makes it possible to make partial 6315_1.zips and partial AllAppUpdate.bin flashes. This makes it also possible to use all twipe options.
    2
    whit FYT-Starter apk i can use on isudar v72 ?
    how work,i whant to use NavRadio+ and stop default radio and i whant to stop default media player (for mp4,mkv file) because only original media player stop/start corect,if download another media player when stop/start car it is open youtube app :( ,why?
    or
    i need to use FYT_Radio_REMOVER/RESTORER ? for radio
    Multiple questions:
    FYTStarter is a very nice program to start apks on system reboot/starting from sleep, but it is not necessary anymore on the UIS7862 and UIS8514 units anymore.
    Your FYT uis7862 has in its Settings under "User" (one from the bottom), the option "Application Setting". That allows you to autostart any app on cold boot or warm boot.

    You can't stop applications from loading with FYTstarter or from the settings, only starting them. These units autostart the last used media player by default. See post 3, option 2 to undo that (Do you even read anything on this forum? Or do you just start asking questions. READ before asking and search the web. Why do you even think I write that Q&A?).
    So use the script to stop the default mediaplayer behavior (somehow in your case YouTube) and use the settings (or FYTstarter) to autostart the apps you want.

    Yes, you need the FYT_Radio_REMOVER/RESTORER for radio. It is described in Kotix2's thread.
    Again: READ THE FORUM! also what other users mention about this.
    2
    So this means that you MUST put this into the updatecfg to prevent your 3rd party apps and settings, and storage being wiped (which is not done be default anyway. You specifically need twipe_sd for that)? Is that correct?
    Some of the twipe commands work like: do this, but automatically not that. Is that here the same?
    Didn't test with more than 1 command per run, but upgrading firmware in the past with twipe_cache and the ONLY command, my apps were in place !
  • 14
    Last revised: 11 June 2022.

    This thread is supposed to become a "one fits all" thread about FYT based Spreadtrum uis7862 (Unisoc ums512) head units and its software, modded or not. The first few posts will be "collection" posts for all kind of info but will also link to other useful information that might be added later or in other threads.
    Part of the tips, mods, etcetera are also valid for FYT based sc9853i and sc9863a (uis8581) head units, and even for the older PX5 and Sofia-3GR.

    DISCLAIMER: Every action you do on your unit is on your own responsibility. I will help where I can (and probably a lot of other users as well), but I am never responsible.


    This thread is meant for:
    • Discussing firmwares (see post #2), modded firmwares, mods and rooting (not advised).
    • Tips, tricks, mods to improve the general usability of your unit.
    • Try to solve design errors/flaws where we expect that these Chinese resellers/suppliers will not do it.
    This thread is NOT meant for:
    • buyers advice (is this one better than that one?)
    • 4G providers, DAB+ modules or DAB+ software (see here for DAB-Z by @realzoulou), Navradio+ (see NavRadio+ ported to UIS7862-FYT devices by @KoTiX2 , sub-woofers, OEM cameras, OBD devices, TPMS or other peripheral devices.
    • ABSOLUTELY NOT for posts about "what is/are your favorite app(s)?"
    • Questions about repairs, warranty and the like. That is between you and the reseller. Questions about interchangeabilty of hardware are OK.
    Always first check the offical websites (if any) of the resellers in case of technical questions. Also: First contact your reseller in case of hardware issues or (not working) accessories.

    General unit information

    CPU: uis7862 (ums512). Specs/Benchmarks/Info. (Also allows you to compare with other CPUs).
    Android version: Android 10 (API/SDK 29); Fake Android 11 (still API/SDK 29). (Android level is a simple property. Always check at the API/SDK version)
    Producer: FYT
    WiFi: 2.4GHz and 5GHz. This 5GHz is really a benefit. Not only because of its faster 5GHz speed, but also because the 2.4GHz and BT negatively influcence each other dropping perfomance sometimes to 10% of "real" 2.4GHz. (Valid for all models without 5GHz, FYT or not).
    Bluetooth: V5.1
    Resellers: Atoto, Ebilaen, Eki, Farcar, Funrover, Idoing, Isudar, Joying, Junsun, Mekede, NaviFly, Sinosmart, T'eyes, Winca, Zhan. There are more resellers, but not all of their models might be FYTs. Same for some resellers in this list.


    Q&A - Questions & Answers

    Q1: I already see uis7862 units having Android 11, what about it?
    These Android 11 versions are fake! The Android version is still Android 10 (API/SDK 29), but the Android version as displayed is a simple property which you can set to Android 11 (or 12 or 31 or 227). The API/SDK versions determines the real Android version. Don't believe statements like "we updated ...". Always look at the API/SDK version. If it says API/SDK 29 it is is Android 10. Real Android 11 is API/SDK 30.

    Q2: What are the several passwords on these uis7862 FYT units?
    • Factory menu / Developer options: 3368
    • Backlight Current Adjustment: 5768
    • Door lock interference: 0000
    • To change home launcher: 8086
    • Developer password: 7788, or tap 7 times on "About".

    Q3: Are all these (uis7862) units compatible? Is all (uis7862) firmware compatible?
    The uis7862 units based on FYT are all hardware compatible. Differences in audio chip, radio chip with or without RDS, DSP chip (DSP 14-band (low end) or DSP 32-band or not at all) are supported by the software. There are minor differences in MCU and firmware, which need to be taken into account when flashing firmwares,and sometimes also for flashing mods. This is all based on the so called reseller id.

    Q4: How compatible are FYT units over the years (uis7862 (ums512) vs uis8581a (sc9863) vs sc9853i vs sc7731 (uis8141e) vs PX5 vs Sofia3GR)?
    When it comes to firmware you really have to look at the CPU and reseller id (see below). Part of the "user apks" are quite exchangeable. When it comes to settings, behaviour, tips & tricks, etcetera, these units are mostly compatible over the entire range through the years and almost all settings are the same when it comes to (uis7862(ums512), sc9863a(ums8581a), sc9853i, px5, sofia3gr). So please take a look at Q&A, tips, info Roll-up (Joying) FYT SC9853i before asking questions.

    Q5: What is an MCU? What does it do?
    MCU stands for MicroController Unit (in this case). The MCU is a "CPU" itself with embedded (flashable) firmware that functions as interface and "translation" layer between the Android software and the hardware layer (Radio chip, Amp chip, DSP chips, etcetera).
    The MCU has some I/O lines to the hardware of the unit. A number of digital IN lines (ACC, headlights, reverse, parking brake) and digital OUT (antenna power, amplifier power) and a few analog IN lines (steering wheel 1 and 2). This overview is not complete.
    So actually your unit comes with the Android firmware (Android itself and the additional FYT unit programs) and with the MCU firmware. That MCU firmware is not always packaged with new firmware updates. Note that all these Chinese units use this MCU firmware instead of using Google Androids Automotive System.

    Q6: Can I flash firmware from another FYT uis7862 supplier to my FYT uis7862 unit?
    NOT directly, but with some tweaks: Yes. Read post #2 carefully and especially section VIII.

    Q7: Can I flash the MCU firmware from another FYT uis7862 to my uis78962 unit?
    NO. I repeat: No. If you really, really, really, really know what your doing then to some extend: Yes. Otherwise: Don't even think about it.

    Q8: How do I unpack/repack this AllAppUpdate.bin?
    See post #2 section II. (AllAppUpdate.bin).

    Q9: What is an AHD camera?
    AHD stands for "Analog High Definition". It has nothing to do with your screen resolution itself, but it is for your camera (1280x720 and 1920x1080). It requires it's own micro-processor for decoding in the unit. AHD cameras are therefore only supported on units that specifically mention this. You can however connect a "low res" DVR camera (720x576 or 720x480) to an AHD unit.

    Q10: Can I mod my unit? Are there custom firmwares available?
    Yes, you can mod your unit to some extent. See the posts about the AllAppUpdate.bin and 7862lsec scripts. There are no custom firmwares available. There are modded firmwares available. These contain some tweaks, minor layout changes and sometimes solve bugs, but are actually still the exact same firmware.

    Q11: Can I root my unit?
    Yes, you can. There are at least 3 possible ways to do this, but I don't recommend rooting. Not because rooting is tricky, or making your unit unstable, but rooting brings nothing. It only makes your unit lsess safe as malware, etcetera have a much beter chance to attack than on a non-rooted unit. You can mod some things easily yourself without (!) root. When rooting Google voice feedback is crippled as media channel 4 is somehow "blocked". Viper audio doesn't work properly and brings nothing extra on these DSP units. Anyway: Google for yourself if you still want to root your unit as it is possible if your really want it.

    Q12: How do I disable the internal microphone when using an external microphone?
    See this post.

    Q13: I flashed a firmware from another unit and now I have a big yellow bar with red text "ui and mcu does not match". What can I do?
    To start with: I know it should be "ui and mcu do not match", but that "does" is CHenglish. The reason for this is that the ro.build.fytmanufacturer is different for the several resellers and you used an AllAppUpdate.bin from another reseller. You now have several options here:
    1. You still have the original firmware and can extract the ro.build.fytmanufacturer from it (or you know it from the top of your head).
    2. You have no clue about this ro.build.fytmanufacturer and you don't have the original firmware anymore.
    In case of (1), you could:
    • use the script Change Fytmanufacturer (bullet #3) that directly updates this ro.build.fytmanufacturer inside the fyt.prop on your unit.
    • open the AllAppUpdate.bin (next post, topic II) and change the ro.build.fytmanufacturer and repack it again and flash that AllAppUpdate.bin
    • Or simply flash the oroginal firmware, get the ro.build.fytmanufacturer and start all over again.
    In case of (2) you have to flash the entire original firmware again ór use the script (link added later) to update the fyt.prop directly and try a number of ids until you have the correct one (There are not so many).

    Q14: I want to replace my boot animation and/or boot logo. How do I do that?
    Copy the lsec6315update binary and your bootanimation.zip and/or your LOGO.bmp onto a clean USB-stick and connect it to your unit. It will only flash your bootanimation and your boot logo.

    Q15: When my unit (cold) boots, the radio is always started. Can I prevent this from happening?
    You can't stop this. Not on a Joying and not on any other unit. And note that the radio app is actually only an interface that forwards commands to and receives data from the radio chip via the MCU. It is not an active app like your mediaplayer that does everything in Android.
    When the unit boots, the hardware is up and running long before Android is. That means that the radio chip and amplifier are already working before Android has even booted. That is why you hear the radio. And that is why every manufacturer starts the radio app on boot: to enable you to mute the radio channel from the app.
    The radio is never switched off as it cannot be switched off. It is only muted.

    Q16: Do I have a FYT unit or not?
    Use my HWGet_Info.apk. It will immediately show a lot of FYT properties (if it is a FYT) and give a zip with a lot more info as well.

    Q17: If I want to create my own scripts then which binary do I need and which script should I create?
    BinaryUnitScript
    lsec6315updateuis7862 (ums512)7862lsec.sh
    lsec6316updatesc9863a (uis8581a)8581lsec.sh
    lsec6521updatesc9853ilsec.sh
    lsec6523updatesc7731 (uis8141e)lsec.sh

    You can make "Universal scripts" by simply using all binaries and create/duplicate all scripts and copy them onto one USB-stick (or inside a dowloadable zip). The unit will automatically select the correct binary and accompanying script.
    The binaries and scripts are "incompatible" on other units.

    Q18: My GPS reception is bad. What can I do?
    • If your car already had GPS, buy a "Fakra C Adapter Plug to SMA Male GPS" adapter (example) and use your cars GPS antenna (mostly on the top of the roof). 99% sure it is better than those cheapest possible GPS antennas you get with these units.
    • Buy a better GPS antenna. On Aliexpress you can buy a 32 dB or 38 dB antenna from 6-26 euros that are much better. Secondly: the standard GPS antennas come with long cables that loose signal.
    • The standard antenna: First check whether your SMA connector is firmly connected. Mostly it requires a little more force to fix than your fingers will yield.
    • The standard antenna: Check for a broken cable. Is it nicely curved or does it somewhere has a sharp bend.
    • Do not put it under large metal plates or metal reinforcement beams under your dashboard. Mostly it functions just fine below your dashboard, but not if you put it directly under a big metal beam/bar.
    • Place the antenna itself horizontally to give it the best "view".
    Q19: All my apps are killed when my unit goes into deep sleep. Can I prevent this? Or: How can I always start the XYZ apk when I start my car?
    • First of all read bullet #8 from my other "info" thread, but do NOT use solution 2, made for a sc9853i, for your uis7862.
    • In the Settings apk, go to "User" -> "Application Settings". In that menu you can autostart applications on cold boot or coming from (deep) sleep mode.
    • Use FYTstarter from @bambapin.

    Q20: I use Total Commander, FileXplorer or any other advanced file manager but can't write to my external USB-stick or SD-card. Why?
    You do need the documentsui.apk for it (deprecated as of Android 12). For whatever reason FYT doesn't compile it into their firmware. This DocumentsUI for Android 10 will help you. Install it, open it once and afterwards your filemanager will use it once to request access to (the root of) the USB-stick. When using another USB-stick (having another internal ID), you will have to give access to that USB stick as well. Same when you have formatted your USB-stick.


    Mods, useful software, tweaks for your system, etcetera.
    Some will be added later


    • Backup the firmware of your unit (link to be added but I first want to test once I have my unit). Useful if you do not have a firmware yet for your unit.
    • Disable or (re-)enable the mediaplayer at startup/wakeup (bullet #2).
    • Change Fytmanufacturer script to correct the fytmanufacturer id after a flash with another resellers AllAppUpdate.bin bullet #3).
    • DocumentsUI for Android 10. Without it you can't write to an external USB drive with other file managers. That is because the documentsUI is missing. Install it, open it once and afterwards your file managers can use it to get access.
    • Android Shortcut Settings: This program by Mario Dantas gives you access to some hidden settings in the (FYT) head units.
    14
    Last revised: 11 March 2022.

    More about Firmware(s)​

    This post is valid for FYT uis7862 (ums512) units running Android 10 or fake Android 11.

    Contents of a firmware zip:

    • 6315_1.zip: The zip file contains all "standard" Android software, drivers and apks. It also contains the the boot.img; the system/vendor/oem partitions and a few other things. This 6315_1.zip "should" be interchangeable between all 800x480, 1024x600 and 1280x720 models. I don't know for the special resolutions, Tesla like units or rotable units. Probably they are by now also compatible.
    • AllAppUpdate.bin: Special file that contains all FYT apps (This can be (un)packed with any (un)zipper, but I prefer 7-zip). This file also contains special files with reseller specific configs. This one is only interchangeable between the same reseller-id, unless you change that reseller-id.
    • config.txt: file comparible to the build.prop which can contain additional properties.
    • lsec6315update: The binary that really does the update
    • oem: (OPTIONAL, DEPRECATED) Folder containing some additional apps. These are not automatically installed, but can be found in folder OEM in your internal memory (internal SC card called USB). Do not confuse this with the oem partition where the AllAppUpdate.bin will be installed to. I use this folder upon flashing to add some of my preferred apps that I want to have available, but not directly installed. Note: Nowadays the preferred location for these kind of apps is in the vital-app folder inside the AllAppUpdate.bin.
    • updatecfg.txt: Contains instructions for the flashing process
    • Stm32ud.bin: (OPTIONAL) binary to flash the MCU
    • GD32_E230_64K_Flash.Hex: (OPTIONAL) the hex file that contains the MCU firmware itself.

    I. (Factory) Firmwares

    (Please share official (!) download links for other resellers so I can add them here).

    * Modded Firmwares: Search for yourself on 4pda. Maybe later here.

    See for compatibilty between firmwares the below header "Compatibility between firmwares".
    ==================================================================================



    Some commands that can be put inside updatecfg.txt
    Code:
    twipe_all     # Wipe entire system
    twipe_data    # Will wipe data partition (but not /sdcard, internal memory). Wiping the /data partition will wipe all config, all 3rd party apps and updates of system apps. This is the same as a "reset to factory defaults"
    twipe_sd      # Will wipe internal memory /sdcard (but not the data partition)
    dellapp       # Remove all 3rd party apps
    make_updates  # Make an upgrade U-disk boot file
    test          # test unit and firmware before flash

    Some properties that can be put inside config.txt. Say you live in Brazil and you want your locale settings immediately on Brazil, you can add that. As a second example we take a "Tesla style" unit which is actually a rotated horizontal unit:
    Code:
    ro.product.locale = pt_BR
    ro.sf.swrotation = 90
    Or you want to improve the microphone function a little, you can add or modify the following lines:
    Code:
    persist.sys.zlink.mic.vol=9.9
    persist.audio.mic.senstivity=1
    persist.btmic.gain=10
    persist.btspk.gain=7
    If you decide to download a 4pda Russian modded firmware, make sure you remove the settings from this config.txt file that makes this a Russian firmware (unless you are Russian, but in that case you probably would not be here).

    II. AllAppUpdate.bin

    The AllAppUpdate.bin is actually a password protected zip archive. You can use any zip, but preferably 7-zip for your platform (Linux, MacOS, windows) to create, modify or extract it.

    Specifications: zip format, non-compressed (store), password 048a02243bb74474b25233bda3cd02f8
    Unzip is simple: you only need to specifiy the password.
    When (re)creating a new AllAppUpdate.bin, make sure you follow the specifications. As far as I know "zip version standard 1 deflate" (aka "superfast" aka "Legacy compression") is used, but it does not always work depending on the implementation of parameters for the wide variety of zippers and zip-compatibles. A non-compressed archive always works and will be only 20-30% bigger as all apks and jars are already zip files and only the libraries will be compressed.


    Inside this AllAppUpdate.bin you will find all FYT based apks and libraries and next to that also two other files: fyt.prop and skipkillapp.prop.
    • The fyt.prop is identical to the build.prop but gives the option to add extra properties or replace/modify properties in the build.prop. And the fyt.prop contains the ro.build.fytmanufacturer=<xy> that is in 90% the only distinction between the several firmwares.
    • The skipkillapp.prop contains apps (package names) with values from -15 to 15.
      When going into "deep sleep" the packages not mentioned in this list will be killed. Applications in this list with positive values will absolutely be killed (unstable otherwise??). The ones with higher values first. The ones with values 1 and 0 as last, where the app with value 0 will be the last killed before going into deep sleep.
      The apps with negative values are considered system apps and will not be killed. In this case the most negative number (-15) has the highest priority. My assumption (not tested, not verified) is that negative numbers approaching 0 might be killed if the system needs the memory?
      So in other words: If you do not want that some of your apps are killed, you can add them to this "skipkillapp.prop" by their package name. Say you use @realzoulou's DAB-Z app, you would add a line for DAB-Z (com.zoulou.dab). Or for example if you are a Tasker user, which is normally killed as well:
      Code:
      com.zoulou.dab = -10
      net.dinglisch.android.taskerm = -10
      (I would suggest not using values like -15, -14, -13 to make sure you do not really interfere with the real system apps).
      And then you need to add this file (again) to your own AllAppUpdate.bin
    NOTE: In the previous version for the sc98531 you had the Allapp.pkg. You could put one or a few apks in there and it would simply only install/overwrite the apks inside that Allapp.pkg. The AllAppUpdate.bin will always completely erase the FYT apks on the oem partition. This means that you either need a full AllAppUpdate.bin with your (modded) FYT apk(s), or (advised) use the 7862lsec.sh script approach to only add/overwrite/remove one or a few FYT (modded) apk(s).

    NOTE 2: In the "main server" apk com.syu.ms, there is now inside assets/property an new file called unkill_app.txt. I "think" that file now contains the apps that should not be killed upon going into sleep mode. I still don't have my unit and I am actually not interested at all in "unkilling" apps, but it might be useful to test with this file.
    ==================================================================================


    III. The 6315_1.zip
    (Inside also "III-a. More details about the files inside the 6315_1.zip and how to decompress and unpack/"open" them" and "III-b. Recompress uncompressed images from the 6315_1.zip to squashfs format for small (!) and easy access. (Not for flashing.)")

    The 6315_1.zip contains the "standard" Android software for this unit. This is more or less what every "plain vanilla" Android 10 release will contain, without additional apks (Compare it with standard Android where Samsung adds a lot of Samsung apps). This is the "base" firmware as you download it from the Android website and compile it.
    Note: Mentioning that this is "standard" Android is actually wrong. FYT modified the USB and bluetooth stack. In effect: they crippled it to only allow the USB and BT devices that they consider "allowed".
    Note 2: They also added drivers to this "plain Vanilla" Android to support their hardware, mostly through the MCU.

    This 6315_1.zip is theoretically identical for all FYT uis7862 units and can therefore be used on all FYT uis7862 units. (DISCLAIMER: Experimenting with this falls under your own responsibility).
    You can unzip the 6315_1.zip and replace the boot.img or modify the install script in "META-INF/com/google/android/updater-script", and then rezip it.
    All the other files in the zip are system signed files, which means that you can further unpack them, but not modifiy and recreate as you will never get the signing certificates from FYT.
    Other files inside the zip are mostly used to create and install the necessary partitions where the system software and Android software is installed to.

    III-a. More details about the files inside the 6315_1.zip and how to decompress and unpack/"open" them

    You will find for example the system*, vendor* and other "pairs of three" files. Next to these files you will see a number of bin files including the u-boot files, which are the bootloaders. You can consider these u-boot files like the BIOS on older, or UEFI on newer pcs.

    As example we look at the system.new.dat.br, system.patch.dat and system.transfer.list files. This set actually contains the system partition. The system.new.dat.br is a brotli compressed image. The patch files can contain patches and is implemented after the system.dat (but on our firmwares always empty). The transfer.list contains the "blocks" on how the system partition should be created.

    Let's unpack such a set of files.
    First we need to "brotli decompress" the system.new.dat.br (note that this binary doesn't show output and takes quite long).
    Code:
    brotli -vd system.new.dat.br -o system.new.dat
    Now we need sdat2img to convert our created system.new.dat "sparse data image"(1) into a "disk image file"(2) being system.img. Note that sdat2img is a python script, so we need python as well (standard on linux, unix and MacOs).
    Code:
    sdat2img.py system.transfer.list system.new.dat system.img

    On linux/MacOS we can now easily "mount" this system.img image file and check the contents:
    Code:
    mkdir system
    sudo mount -o loop system.img system
    ls -Rl system

    (1) sparse image: To make the images smaller, and to reduce transfer time, Android generates system.img, vendor.img and other img partitions in sparse format. The image is split into chunks of multiples of 4096 bytes. Any chunks that contain no useful data are marked as "Don't care" and no data is sent.
    (2) disk image file: A disk image (file) is a type of file that contains an exact copy of a certain disk or partition. On Android (and linux) these are mostly ext4 partitions/disks but can also be Fat32/squashfs (compressed, often used in older Androids)/DMG (MacOS, also for installers)/NTFS, etcetera.


    III-b. Recompress uncompressed images from the 6315_1.zip to squashfs format for small (!) and easy access. (Not for flashing.)

    So you have your brotli compressed system image (system.new.dat.br) of approximately 500MB, which you can't use at all in this state.
    And you have uncompressed it to a system.img of 1.3GB (see previous section), which you need to "mount loop" to view it contents.
    Can I do this differently?
    Yes, you can with squashfs (explained for linux and/or MacOS), for which you first have to install the squashfs tools.
    Mount your system.img like mentioned above and then create a squashfs image.
    Code:
    sudo mount -o loop system.img system
    sudo mksquashfs system system.img.sqsh
    sudo umount system

    Now you have a squashfs compressed system image of about 550-600 MB instead on an uncompressed system.img of about 1.3GB.
    To examine its contents you mount it like
    Code:
    sudo mount -o loop system.img.sqsh system

    ==================================================================================


    IV. Some info on partitions

    This info is referring to the partitions being created from within the 6315_1.zip.
    Starting with Android 10, Google introduced "dynamic partitions". Below a quote directly taken from the Dynamic partitions page.
    Dynamic partitions are a userspace partitioning system for Android. Using this partitioning system, you can create, resize, or destroy partitions during over-the-air (OTA) updates. With dynamic partitions, vendors no longer have to worry about the individual sizes of partitions such as system, vendor, and product. Instead, the device allocates a super partition, and sub-partitions can be sized dynamically within it. Individual partition images no longer have to leave empty space for future OTAs. Instead, the remaining free space in super is available for all dynamic partitions.
    Apart from the /oem partition and a few others, the /system, /vendor and /product partition are read-only. In earlier FYTs, you could use the lsec script to make them read-write and then modifiy content, add/remove files/apks, etcetera from these partitions. The big disadvantage for modders with these new dynamic partitions is that you can't make them read-write anymore.


    V. The lsec_updatesh folder, lsec6315update binary and 7862lsec.sh script (and what about "universal" scripts)

    The flashing process consists of a number of steps:
    1. flashing the core/kernel software (6315_1.zip)
    2. flashing the unit applicable apps and libraries plus initial properties (AllAppUpdate.bin)
    3. scripts that do "post flash" activities.
    The "flashing" executable/binary also starting the scripts, is the lsec6315update file on a uis7862.
    A USB-stick used to execute a script on a uis7862 should contain:
    Code:
    lsec6315update
    lsec_update/7862lsec.sh
    "stuff that needs to be copied/moved/installed"
    Practical applications:
    • Making patches, an alternative to creating the AllAppUpdate.bin file by simply specifying an apk (or so) in your script.
    • Delete unnecessary files or applications (who uses the calculator app?), or overwite/change files like the fyt.prop, config.txt or others.
    • Set properties that normally require root/admin rights.
    • Create a nearly flashable backup using this script (to be added) by creating backups of your FYT apps and config files and immediately zip them to an AllAppUpdate.bin and add some more necessary files.
    • Creating backups of your partitions using the dd command. This can be handy on a device for which you do not have a firmware yet as backup.
    • Rooting your unit, also if you do not have a firmware from your supplier.
    • Make a "modded" ROM by simply doing all kind of modifications after the "normal" firmware flash using the 7862lsec.sh script.
    • Flash a new config.txt to your unit: Simply copy your modified config.txt and the lsec7862update binary onto a clean USB-stick.

    For more info on writing scripts for a specific FYT unit by CPU or create "universal" scripts, see (this post => to be created)

    See this post #228 for more info about the "The lsec_updatesh folder and lsec.sh script" as it was used on the SC9853i (and now again on the sc7731 (uis8141e).
    ==================================================================================


    VI. Compatibilty between uis7862 (ums512) Firmwares

    As mentioned under the relevant topics above:
    • The 6315_1.zip should be identical between all uis7862 units. Of course newer releases can contain updates, etcetera.
    • The AllAppUpdate.bin is application wise compatible between same aspect-ratio compatible screens like 800x480, 1024x600, 1280x720. The great separator here is the ro.build.fytmanufacturer property. If you flash an AllAppUpdate.bin from a Mekede firmware (with id=1 or id=116) to a Joying (with id=43) or vice versa, you might get a perfectly working unit, but a big yellow bar in the top of your screen mentioning that the MCU is incompatible. However, due to real differences in MCU firmware (which is in general not compatible), you might also encounter serious issues. Not because the software is incompatible, but because it behaves differently on another MCU.
    • The optional MCU firmware. This is definitely NOT compatible!

    So what can you do when seeing upgrades from other suppliers?
    1. You could take the 6315_1.zip if it "seems" to be (far) more up-to-date than your currently installed system (/system, /vendor, /product). You can copy it to a clean USB-stick and copy the lsec6315update binary onto the USB-stick and flash it to your unit. In case of doubt, always ask
    2. If it contains a (much) newer AllAppUpdate.bin, you could unzip it, find the fyt.prop and update the ro.build.fytmanufacturer id to the id in your original firmware/fyt.prop and repack the AllAppUpdate.bin. Then you copy to a USB-stick:
      • the just (re)created AllAppUpdate.bin.
      • an "update.cfg" containing "twipe_all (preferred) or "twipe_data".
      • the original or a modified "config.txt" onto it.
      • the lsec6315update onto it
        In case of questions, always ask.
    3. Another option will be described here, but not ready yet

    Some remarks about current "seemingly different" FYT units.
    • The uis7862 (ums512) versus the sc9863a (uis8581a) : These units are compatible on AllAppUpdate.bin, but note the ro.build.fytmanufacturer. That is also of importance here. They are NOT compatible on kernel/core level so you can't flash the 6315_1.zip (uis7862) or 6316_1.zip (uis8581a) to each other. However, with above mentioned measures you could flash a newer AllUpdate.bin from a uis7862 onto a uis8581a, or vice versa.
    • The sc9853i versus the sc7731 (uis8141e): Also these units are compatible on AllAppUpdate.bin, but note the ro.build.fytmanufacturer. That is also of importance here. They are NOT compatible on kernel/core level so you can't flash the 6521_1.zip (sc9853i) or 6523_1.zip (sc7731) to each other. However, with above mentioned measures you could flash a newer AllUpdate.bin from a sc9853i onto a sc7731, or vice versa.
    ==================================================================================


    VII. FYT firmware types over the different CPU configurations

    To be written.



    VIII. Flashing a Full firmware, an AllAppUpdate.bin or a new system/kernel/core from another reseller

    To start with: If you do not have a T'eyes unit, do not flash T'eyes firmware. T'eyes uses all kind of paid extensions, which you can only activate by paying and giving your T'eyes' unit id (which you do not have of course). Next to that: If you do not use their extensions, the "normal" programs like Google Voice/Assistant can be blocked.

    Before flashing:
    Check the FYT reseller id of your firmware. Install a good file manager like Total Commander. Go to /oem/app. In that folder you will find a file fyt.prop (In Total Commander, right-click the file, "Open As" -> Text". Inside this file you will find a line with ro.build.fytmanufacturer=43, where the number is the id of the reseller id of your unit (43 is Joying). Write down that number!
    Another option to get all this info is running my HWGet_Info.apk on your unit which will immediately show some FYT properties and give a zip with a lot of info. This zip file is completely anonymous and does not contain any user data!

    Inside that same folder /oem/app you will find the file config.txt. Copy it to a USB-stick and save it carefully. In case you still have the original firmware of your supplier, you can find inside that zip/rar file the same config.txt. Make sure your have the config.txt belonging to your unit!
    If you copy a firmware from another reseller, or a modded AllAppUpdate.bin, this config.txt may have more or optimized options. Some options from the config.txt from your unit must copied into the config.txt of this new firmware before flashing.
    The options that need to be copied from YOUR config.txt into the new config.txt:
    • Find the line ro.sf.swrotation=xy (values 0, 90, 180, 270) . Use the value from YOUR firmware in the config.txt for this new firmware.
    • find the line with sys.fyt.bluetooth_type=x. The value is normally 0 or 1, but can sometimes even have other values. Use the value from YOUR config.txt for this new firmware.
    What option to flash do I have:
    There are 3 options to flash:
    • Full firmware
    • System/kernel/core only: this is only the 6315_1.zip
    • Application software: this is only the AllAppUpdate.bin (plus some additional files).
    Actually you have a few more options:
    • You can flash a new bootanimation.zip and/or boot logo to your unit by copying the lsec6315update binary and your bootanimation.zip and/or your LOGO.bmp onto a clean USB-stick.
    • You can flash a new config.txt to your unit by only copying that config.txt and the lsec6315update binary onto a clean USB-stick.

    Create the USB-stick for flashing:
    • For a System/kernel/core only flash, copy the lsec6315update and the 6315_1.zip to a clean fat32 USB-stick. Connect it to your unit and flash it.
    • For an Application software flash, copy the lsec6315update, AllAppUpdate.bin, updatecfg.txt and config.txt to a clean fat32 USB-stick. Connect it to your unit and flash it. Note the above mentioned fyt.prop and config.txt
    • For a Full firmware, copy the lsec6315update, 6315_1.zip, AllAppUpdate.bin, updatecfg.txt and config.txt to a clean fat32 USB-stick. Connect it to your unit and flash it. Note the above mentioned fyt.prop and config.txt
    During flashing, let the software do its job and don't start playing with buttons, knobs, air conditioning, etcetera. After reboot wait 3-8 minutes more for some post-flash steps.



    IX. If everything goes wrong and your unit ends up in a boot loop or doesn't get past the boot logo.

    - Download a fresh firmware from your reseller.
    - Unzip it to an SD-card/USB-stick (as normal)
    1) Simple solution: Put the USB-stick/SD-card in your unit and wait till it reboots and starts the flashing.
    2) More complex softbrick:
    • Put the USB-stick/SD-card in your unit
    • "push" the Reset (RST) with a paperclip or something like that.
    • When the boot logo appears, reset the unit again. Now the flashing process should start.
    3) Most complex softbrick:
    • Put the USB-stick/SD-card in your unit
    • "push" the Reset (RST) with a paperclip or something like that.
    • When the boot logo appears, reset the unit again. Now the flashing process should start.
    • Sometimes you need to reset up to 3x times.
    • If after 3 timese rest the flashing still doesn't start, your recovery partition is damaged.
    (or use your self created backup using this script (to be added))
    [/hide]
    6

    Backup the application data of your uis78672 (ums512) unit (or your sc9863a (uis8581a) unit).​


    This is especially useful if you do not have an official firmware from your supplier yet. The kernel/cores are universal on these FYT uis7862/uis8581a units, but the AppUpdate is not.

    This works on both the uis7862 and the uis8581a. I don't have this ui8581a unit but it is actually the same for these two types of FYT units.
    It will actually also make a backup of your sc9853i unit, but there it requires some extra follow up steps. Next to that: There are already many firmwares that can simply be downloaded.

    This script will create a directly flashable backup!

    Backup script

    • Unzip the contents of this zip onto a clean usb-stick.
    • Insert it into your unit and let it reboot.
    • It will make a backup of the specific firmware part into folder BACKUP onto the USB-stick (which should therefore have >1GB free space).
    • When it is done, you will have four (4) files in this BACKUP folder: AllAppUpdate.bin, config.txt, lsec6315update or lsec6316update, and updatecfg.txt
    • If you copy these four files to a clean usb-disk and also copy an 6315_1.zip (for uis7862) or a 6316_1.zip (for a uis8581), you can always restore your unit to its factory settings.

    Restore option I:
    For a uis7862: Copy the AllAppUpdate.bin, config.txt, lsec6315update, updatecfg.txt from the BACKUP folder onto a clean USB-stick. Insert that one in your unit and let it flash your unit.
    For a uis8581: Copy the AllAppUpdate.bin, config.txt, lsec6316update, updatecfg.txt from the BACKUP folder onto a clean USB-stick. Insert that one in your unit and let it flash your unit.

    Restore option II:
    In case option I still gives you an unstable system, you need to do a complete flash. For that you also need to flash a new kernel/core.
    • Download the universal kernel/core for uis7862 (current version: 07 December 2021). (For uis8581 download yourself)
    • Unzip it to the same USB-stick which you used in "option I". This means that this content will be added to the USB-stick. It will not replace the content.
    • Insert that one in your unit and let it flash your unit.
    3

    Mods and Tweaks​

    ==================================================================================
    1. Modded Joying media player
    Removed. All media players now have folder based play options.
    ==================================================================================
    2. disable or (re-)enable the mediaplayer at startup/wakeup.
    FYT mimics the behaviour of many builtin car units that it continues with the player or radio or BT connected phone player, that was active during "switch off". These 2 scripts can disable that behaviour (I want silence when I start my car) or enable it again (default FYT behaviour). This is a shameless copy of @gordgelin scripts with a slight modification where @gordgelin adds the command at the 16th line whereas most standard firmwares have max 8 lines or so. My script simply adds the line to 4th line of config.txt. Works on uis7862 (ums512), sc9863a (uis8581a) and sc9853i (could easily be ported to other FYT units as well).


    ==================================================================================
    3. Script to correct the fytmanufacturer id in the fyt.prop
    In case you get a big yellow bar with red letters in the top of screen saying "UI and MCU does not match", your fytmanufacturer id (ro.build.fytmanufacturer= XY) is incorrect.. (See also Q13/A in post 1 and time II. and vI. in post 2.
    If you still know the original id, you can use this script to correct that entry again without completely reflashing your unit.
    Read the README.txt carefully !!
    You can download this script: ChangeFytmanufacturer
    3
    Thanks for advise, I read already and just ask if someone did it or not :).
    I found your post in another thread that you ordered Mekede. So I think that I will do the same, the cost so easier for me.
    Until approx. 7-9 months ago it was still possible. But quite recently T'eyes blocked their software completely and encrypted their programs so you can't change them anymore (which is good as that is illegal), but still they block other standard Android functions as well.
    So: one more reason not to buy T'eyes.