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

Search This thread

deadeye920

Senior Member
Apr 30, 2022
120
31
Thanks, but I think this is a different issue.
The guidance that you reference is for how to disable the internal mic *while the external one keeps working*.
In the case of myself and the OP, the external mic simply does not work, whatever we try.
I have read in some cases the external one is being interfered by the internal microphone. Have you tried to disable it?
 

surfer63

Senior Member
May 4, 2010
6,602
3,968
Zwolle
github.com
I have read in some cases the external one is being interfered by the internal microphone. Have you tried to disable it?
It does have interference but not in the way that the external mic doesn't work anymore. It simply doesn't improve and gets slightly worse, but that is something else than not functioning at all.
Or FYT has introduced a new bug ;)
 

kfkWRX17

Member
Jan 23, 2023
37
2
Thank you all for the input. Here is my plan


  1. Quadruple check the physical connection and ensure physical click
  2. Test the eternal physical mic (3.5mm jack -> harness -> HU) to another device to see if it works
  3. Try to find a known working external mic, and test this
  4. Quadruple check that internal mic is disabled (i did this in software in the factory setting, no change, but it sounds like I need to see the manufacture date to see if was made before August, and then I might have to open the unit)
Is there anything else that you all would recommend?
 

deadeye920

Senior Member
Apr 30, 2022
120
31
It does have interference but not in the way that the external mic doesn't work anymore. It simply doesn't improve and gets slightly worse, but that is something else than not functioning at all.
Or FYT has introduced a new bug ;)
Thank you. I’m sure I read a post on 4pda that someone had an issue with the external not working until they disabled the onboard mic. But I do agree with you. It shouldn’t
 

deadeye920

Senior Member
Apr 30, 2022
120
31
Thank you all for the input. Here is my plan


  1. Quadruple check the physical connection and ensure physical click
  2. Test the eternal physical mic (3.5mm jack -> harness -> HU) to another device to see if it works
  3. Try to find a known working external mic, and test this
  4. Quadruple check that internal mic is disabled (i did this in software in the factory setting, no change, but it sounds like I need to see the manufacture date to see if was made before August, and then I might have to open the unit)
Is there anything else that you all would recommend?
I was going to suggest checking the wiring harness to ensure it has a good connection in the connector.
 
  • Like
Reactions: kfkWRX17

kfkWRX17

Member
Jan 23, 2023
37
2
Ok, I've torn up my dash again. thank you to everyone who gave me suggestions on the mic. Here are the results of my testing. Device details again for reference: iDoing FYT unit UIS7862 MCU 2021.04.26 15:40:55 PSTAR_53_L6315_G23P48F64_V:1.0

  1. Validated External Mic by removing the 3.5mm jack and plugging it into the 3.5mm jack on both a microsoft surface tablet and an old Moto Z play
  2. On the moto Z play, the phone was able to register voice via google assistance. The phone is on its last legs and died, so I switched to the surface
  3. On the surface, I made a test call to a friend in discord, changed from the surface internal mic to the iDoing external mic during the call; friend could hear me and noticed the audio change. I also made 2 recordings, one with the iDoing external mic and one with the Surface internal mic. They sounded different but I could hear both
  4. fully disconnected the harness from the back of the iDoing head unit and downloaded a voice recorder app directly to the head unit (phone was not paired)
  5. Recording 1: Internal mic, "back MIC switch" in Factory menu set to "OFF - Front Mic"
  6. Recording 2: internal mic, "back MIC switch in Factory menu set to "ON - back Mic"
  7. firmly plugged in the harness in the correct spot (it was fully seated) and re-connected the external mic
  8. Recording 3: external mic, "back MIC switch" in Factory menu set to "OFF - Front Mic"
  9. Recording 4: external mic, "back MIC switch in Factory menu set to "ON - back Mic"
  10. zero of the recordings picked up any sounds.
So my conclusions are that one, the external mic does work, and 2, either the iDoing head unit doesn't understand mic input, I have failed to enable it properly, or BOTH the harness and the internal mic are dead.

Any advice?
 

Attachments

  • PXL_20230126_012231111.jpg
    PXL_20230126_012231111.jpg
    1.6 MB · Views: 114

kfkWRX17

Member
Jan 23, 2023
37
2
I just had the idea to use a USB mic since my HU came with multiple cables. Has anyone else attempted a USB mic with an FYT unit, and if so, which one and what did you have to do to get it to work?
 

kfkWRX17

Member
Jan 23, 2023
37
2
Interested in this too.
I tried with a USB Jabra conference device which didn't work but I suspect needed more power.
Ok, so low-power options. Got it. I'm going to grab a cheap USB mic that I have laying around, and then if that fails, look for other options that are specific to Android. Seeing a lot of "lapel" mics designed to record to a phone, so that's promising. May also test with a USB A-C adapter on my phone. Will update in about 10hrs. If anyone has any recommendations, please share
 

poseidon1982'

Member
Jan 25, 2023
8
0
No no, the photos are a bit grainy, but I guarantee you that everything is connected in a workmanlike manner. I will post you a good more detailed photos with the respective data of the mcu and all the rest. The isec 6521 update was working 2 years ago. But now when I repeat the reset, it completes the procedure and the screen keeps flashing and it won't let me set the resolution to 1280x480 pixels anymore. It is currently set to 1280x600. And I think some application has tampered with the resolution. Another mistake I made was not turning off automatic updates.
 

Attachments

  • mimmo25982%40gmail.com_GMM13568686507274891049_GMM_20220811_EEB41F38-206F-4E54-A71C-AEB78E3DFB...jpg
    mimmo25982%40gmail.com_GMM13568686507274891049_GMM_20220811_EEB41F38-206F-4E54-A71C-AEB78E3DFB...jpg
    94.8 KB · Views: 73
  • mimmo25982%40gmail.com_GMM13568686507274891049_GMM_20230123_EEB41F38-206F-4E54-A71C-AEB78E3DFB...jpg
    mimmo25982%40gmail.com_GMM13568686507274891049_GMM_20230123_EEB41F38-206F-4E54-A71C-AEB78E3DFB...jpg
    987.7 KB · Views: 74
I just had the idea to use a USB mic since my HU came with multiple cables. Has anyone else attempted a USB mic with an FYT unit, and if so, which one and what did you have to do to get it to work?
FYT have crippled Bluetooth and USB on these devices.
I would not be surprised if a USB mic didn't work.
 

kfkWRX17

Member
Jan 23, 2023
37
2
I tried a random USB mic that I had lying around; no dice. Will try around with lesser audio app that was recommended to me in another thread, and maybe look for an android-specific USB app

Fully suspecting a software issue on the head Unit at this point. Any other ideas?
 

surfer63

Senior Member
May 4, 2010
6,602
3,968
Zwolle
github.com
I tried a random USB mic that I had lying around; no dice. Will try around with lesser audio app that was recommended to me in another thread, and maybe look for an android-specific USB app

Fully suspecting a software issue on the head Unit at this point. Any other ideas?
You already tried a lot, but did you contact Idoing and did you ask them? They are the first to contact but you don't mention that.
If your microphone connection is really defective you should contact them.
 
  • Like
Reactions: marchnz

kfkWRX17

Member
Jan 23, 2023
37
2
You already tried a lot, but did you contact Idoing and did you ask them? They are the first to contact but you don't mention that.
If your microphone connection is really defective you should
You are correct. I did reach out to Idoing first. They gave me basic troubleshooting steps which I've already tried, said "this should work", then asked for the wiring diagram for my stock head unit, so they could try to make a harness for the stock mic. Then said they'd get back to me in Feb.

Given this troubleshooting, I don't think this is a hardware issue
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Right. Thank you for your answer. But I would like to know where can I find the current lsec6315update, my config.txt and updatecfg.txt. Could anyone let me know?
    You can't find them because they don't exist for you. There aren't anywhere on your unit.
    Those are files for the FYT 7862 platform.

    You have a TS10 (Topway) 7862 device. Same 7862 SoC/processor but the platform/firmware/MCU all differ a lot. There's nothing in this FYT Android Head Units section of the forum that is applicable to your unit.
    2
    Hello all, i have a noob question.
    UIS7862S is the same with UMS512T ?

    it's literally in the title of the thread and the first post...

    (yes)
    2
    Hello all, i have a noob question.
    UIS7862S is the same with UMS512T ?
    Yes, but your device is not a FYT, so not compatible with all firmware/mods/etcetera mentioned here.

    You have a K706. Head over to the Android Head Units sub-forum for support.
    2
    Is Z link an APP you installed ? Or is it native ?
    Z-link is for other platforms.
    We use the carlink app on our FYT devices for carplay and Android auto.

    Our devices used to have z-link libraries inside but they are no longer present in newer firmware.
    No idea if it ever worked.
    2
    @sofakng please stop diluting this thread, it's already a lot of work to digest its on topic parts. Post #1 clearly states
    This thread is NOT meant for:
    • buyers advice (is this one better than that one?)
    and you seem pretty ignorant right now.
    Thanks also to others who do not answer you here.
  • 58
    Last revised: 19 February 2024

    This thread tries to be a "one fits all" thread about FYT based Spreadtrum Unisoc uis7862(s) (Unisoc ums512) and uis8581a (sc9863) 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 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

    To start with: the uis7862 and uis7862s are 100% identical and compatible. The 7862s is the same CPU but slightly faster.

    Hardware
    CPU uis7862 64bit 8-core (2x ARM Cortex-A75 @ 1.8 GHz, 6x ARM Cortex-A55 @ 1.8 GHz)
    CPU uis7862s 64bit 8-core (2x ARM Cortex-A75 @ 2.0 GHz, 6x ARM Cortex-A55 @ 2.0 GHz)
    CPU uis8581a 64bit 8-core (4x ARM Cortex-A55 @ 1.6 GHz, 4x ARM Cortex-A55 @ 1.2 GHz)

    CPU: uis7862 (ums512) versus the new uis7862s (ums512). Specs/Benchmarks/Info. (Also allows you to compare with other CPUs).
    CPU: uis8581a (ums sc9863) versus the uis7862. Specs/Benchmarks/Info. (Also allows you to compare with other CPUs).
    Android version: Android 10 (API/SDK 29); Fake Android 11 & 12 (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.0 (Realtek). On M6Pro and other new models after approximately September 2022, it can also be BT 5.1 (Quallcom).

    Firmware
    Firmware always comes with an update/flash binary, a kernel zip, an application layer bin and a few config and additional files/scripts.
    The kernel, which contains the basic Android layer with drivers and kernel modules is inside the 6315_1.zip for a uis7862, and inside the 6316_1.zip for a uis8581a.
    The update/flash binary is the lsec6315update for the uis7862, and the lsec6316update for the uis8581a. Those lsec update/flash binaries check for the right hardware and the right kernel zip. For example: You can't flash the kernel zip from a 782(s) CPU onto a uis8581a.
    The application layer is the AllAppUpdate.bin. It is 100% compatible over the uis7862(s) and uis8581a. Note that FYT is bad in multi-resolution. Although the application layer should be compatible, they make differences for all resolutions to 1280x720 and those for 2000x1200. Also the Tesla units get apks with other resolutions and an extra aircondition apk. Funtionally they are 100% identical.

    Resellers:
    Atoto, Ebilaen, Eki, Farcar, Funrover, Idoing, Isudar, Joying (only uis7862), Junsun, Mekede, NaviFly, Sinosmart, T'eyes (only uis7862), Winca, Zhan. There are more resellers, but not all of their models might be FYTs. Same for some resellers in this list.

    A few remarks about which CPU to choose (my vision).
    The UIS8581a is in general 15~20% slower than the "standard" uis7862, which is again about 5~10% slower than the "new" uis7862s.
    What will you notice in real life: Almost nothing!
    When to chose a uis7862(s)? If you have a 2000x1200 resolution screen, I would go for the 7862 or the 7862s. Bigger screens require faster CPUs. The 8581a is strong enough to "power" such a screen, but here you might notice the difference when fast screen rendering is required. This is not for video, but in case of navigation apps that need to calculate long routes or calculate/redraw every split-second espceially in towns with high street and POI density, but nowadays with OpenGL rendering in those apps it might not be an issue at all.
    If you compare the uis8581a with the previous intel airmont sc9853i, which FYT no longer makes, the uis8581a is again ~20% faster than the sc9853i. I never had the idea that my previous sc9853i was slow, on the contrary.

    Go for 4GB memory or 6GB. 3GB should be enough for a "light user" or if you puerely use the unit with Android Auto or Apple CarPlay. In normal use as a yll fledged" Android unit, you might experience delays in starting new apps as other apps first need to be stopped/swapped out. Note that 4GB is perfectly OK on these units on Android 10. 6GB might be better. More than 6GB is just a waste of money.
    Note that these units still come with EMMC flash memory, like in cheap phones, instead of the (much) faster UFS (in better phones). So loading apps from storage will not be much faster on a 8581a versus a uis7862(s).


    Q&A - Questions & Answers
    This section has been moved to post #3 as this post #1 got too big and started giving errors on editing.


    FYT Settings explained

    Thanks to @hanichl for first write-up.
    Thanks to @mastrv for corrections and further additions.
    Thanks to @leo06 for corrections on GPS mix Setting/explanation.
    Thanks to @daviddosa for further additions.
    Thanks to @matrixx1 for correction of the "Reverse power supply".

    Note that these are FYT Settings, which means it doesn't matter whether you have a Mekede, Joying, T'eyes or any other FYT unit. Note also that many settings are the same whether you are on a FYT uis7862, uis8514a, sc9853i, PX5 or Sofia 3GR, althought the number of settings have increased in newer models.
    T'eyes also has a site with instruction videos, which are still 90% up-to-date. See here.
    Joying now also wrote an online manual on the JOYING FACTORY SETTING USER MANUAL and the JOYING STEREO SETTING USER MANUAL.

    SETTINGS

    WLAN​

    • Wlan (same as stock Android)
    • Data Usage (same as stock Android)
    • SIM Info (same as stock Android)
    • More (same as stock Android under Advanced Networking)
      • Mobile Network
      • Hotspot & Tethering
      • Airplane Mode
      • VPN

    DEVICE​

    - Display
    • Brightness Level ( brightness for day and night mode )
    • Wallpaper ( change wallpaper )
    • Auto Blackscreen ( black the screen after xx seconds/minutes )
    • Displayed NET Switch ( shows the connection speed in upper taskbar )

    - Sound​

    • Keypad Tone ( On/Off: emits tone when pressing a key )
    • LOUDNESS ( Not entirely clear, but most proabably the same Loudness setting as on a HiFi installation before DSP was introduced, or for units without DSP )
    • AMP ON/OFF ( switching amplifier mode ). Note: In case your unit has a cooling fan installed, the setting AMP ON/OFF is also there to switch the fan On or Off on older units (brand units: before approximately July 2022; for brandless units you never know)
    • Power Conditioning ( absolute output volume from 0 to 60, all other audio settings are relative; if you think your audio is already too loud at position 5 (or so), you can decrease the absolute volume output here which means that Volume 5 is now lower )
    • Subwoofer ( set subwoofer volumes )
    • Equalizer ( set sound frequencies with equalizer )
    • Speed Compensated Volume ( set sound volume depending on the actual speed )

    - GPS​

    ( set / shows GPS modes GPS / GLONASS; mode 1 -> GPS only; mode 2: GPS + GLONASS )​

    - Apps​

    ( show / remove installed apps; same as stock Android )​

    - USB Video Output Setting​

    ( Some resellers sell external USB-connected DVD-players. This settings allows you to correct over/under scanning )​

    - USB Device Start​

    ( None / Carlink - application to start when USB device is connected )​

    GENERAL​

    • Press any key to start ( When you long-press the "Off" button on the top-left button array of your unit, your screen will switch off (but your unit does not go into deep-sleep). When you set this setting to ON, your unit will switch on again when pressing any button of your unit)
    • Brake wire for video in motion (Strange Chinese translation: (Dis)Allow display of video during driving . It means when handbrake is not used.)
    • Auto-start Navigation ( auto start navigation > needs Navi app to be set accordingly )
    • OSD Time ( on / off in notification bar)
    • Mirror view on reverse image ( if backup reverse cam is installed, and the video is 180 degree turned, this will switch to normal mode )
    • Mute audio when reversing ( decrease sound level if in reverse gear, does not completely mute )
    • Sound reduction when reversing ( reduces the sound when car is in reverse gear (driving backwards). Only works when previous Setting switched to ON )
    • Backlight control ( switches the leds behind the (soft-)buttons On/Off : or by switching on/off headlights, or based on time )
    • Default volume switch ( When your unit starts, do you always want to have the same default volume to start with )
    • Default boot volume ( sound volume which is preset on boot process; only works if previous setting switched to ON )
    • GPS Mix ( ON = Will reduce/mute media/radio when "speaking" navigation instruction; OFF = media will not be reduced/muted when navigation app issues instruction ). Some other translations than English mention this as "audio mix between navigation and media". Note also that most modern navigation apps have a setting themselves to mute or even shortly pause the media player when issueing a navigation instruction.
    • Sound mixing scale ( Set volume of background audio when "navigation speaks" (for example: Volume currently 10 so navigation uses 10, background music uses volume set here ). Only works if "GPS mix" setting (one above) is set to ON.
    • Lantern settings ( set the colour palette for the hardware buttons LED )
    • Steering wheel setting ( Configure the steering wheel buttons; only for non-Canbus systems. Canbus systems are hard-coded )
    • Launcher App Setting (This configures which app is displayed in the PIP window of launchers that have this PIP-window)
    • Navi app ( app to start when NAVI Button is pressed AND to auto-start navigation ... see 3rd point ..
    • Map Data Copy ( Old setting for iGo to copy maps from internal memory to SD-card, so that it doesn't get deleted on a new firmware install )

    FACTORY​

    (requires password/pincode 3368)
    • Touch check
    • Original Car Agreement ( These settings are mostly controlled by the CANbus. The number of options can vary per CANbus type and can also work or not work per CANbus type. The number of options will be very limited without a CANbus. )
      • External Temperature ( shows external temperature in notification bar when CANbus is present)
      • Automatic start and stop ( ?? )
      • Radar Display ON/OFF ( When car is put in reverse gear, it will show the reverse camera or an image with edges of your parking sensors (if you have them))
      • Reverse Parking Line ( In case of a reverse camera show the parking lines )
      • Static Track ( Shows static reverse parking lines in case you don't want or have the "curving" parking lines )
      • Reversing track reversal ( If your reverse camera's left/right postion is reversed )
      • Max Reversing Angle (Change how far the parking lines curve. This to adjust it correctly to your camer/car)
      • Door ON/OFF ( shows if a door is open )
      • Drivers Door position ( left / right drivers position )
      • Rear Door Exchange ( Similar to Drivers door position, but for back doors )
      • A/C Information ON/OFF ( Shows changes if you change AirConditioning temperature/ blower speed/ etcetera )
      • Car Audio Type ( AUX / IPOD-TV )
      • Reversal Previous And Next ( This reverses your CANbus steering wheel next/previous behavior (Spotyfy is known for this) )
      • Reversal Volume ( Reverses the Volume +/Volume - in case your CANbus steering wheel volume keys/arrows work the other way round )
      • Protocol Print ( When on, this displays the CANBUS messages overlayed on the screen )
      • Temperature unit switch ( Celsius/ Fahrenheit )
      • CAN box upgrade (updates software in CANbus decoder; Be careful: this can soft-brick your decoder)
    • Car Model ( define the canbox manufacturer, params )
    • Back MIC switch -> When set to "On" the internal microphone is switched on, but only new M6 pro hardware. When set to "Off" the internal microphone is switched off. Use this "Off" setting when you have an external microphone connected. Do not use both microphones at the same time as it will only give you worse microphone performance. If you have an old(er) firmware and not the new M6 pro, you need to use this trick as described by Vitaly (@gordgelin ).
    • Antenna normally on ( Some cars need constant 12V on the Antenna to get a good signal, especially when you have a fin antenna and connected via the CAN bus => Then set to On)
    • HD reversing video format (Try this in case you have an AHD camera on a non AHD unit, or the other way round).
    • Boot Screen logo
    • Set Screen
    • Touch Screen Calibration
    • Panel Key Learning
    • Front View
    • Cancel the reverse into the front view (If you have back and front camera, it will switch to front camera when "leaving" the reverse gear)
    • Local Reverse Switch (On/Off - On: Reverse camara on, parking sensors work, distance sensitivity image on; Off - No camera, working parking sensors, Distance sensitivity image works)
    • MCU Panel Key (Set buttons like Band/Radio, Phone, Music) on the side of the screen to On/Off.
    • Unknown sources ( allow apps to be installed from unknown sources )
    • Door lock interference
    • Reverse power supply: This supplies power to the after market front camera (if one present), so it's able to show the video feed longer than 1 sec. Not enabling this, cuts off the video feed from the front really quickly, after turning it on, coming from reverese and back camera feed.
    • Volume balance settings (Set volume output for the several audio output channels: media, radio, navigation, etcetera)
    • MCU upgrade (Only upgrade the MCU firmware; Be very carefull to ONLY use the firmware for your type of unit)
    • Backlight current adjustment (Set display brightness but be carefull. It can blacken your screen entirely. There is no safe low position. passwd: 5768)
    • Home Launcher Selection (Option to chose one of installed FTY launchers. passwd: 8086)
    • USB Error detection
    • USB protocol selection
    • A key to export ( exports Settings to /mnt/sdcard/SettingsConfig as json file, but how to import this )
    • Single 360
    • Activation
    • DVD Update
    • TV Type
    • Video Output Settings
    • OBD
    • Sleep mode Setting (Switch off head unit or switch to deep sleep, when ACC is turned off). Deep sleep will keep your car battery alive for ~30 days, but after ~3 days, your car will go into total shutdown anyway to be sure not to drain the car battery in case some badly behaving program keeps a wake-lock preventing your unit from going into deep sleep. This can happen on rooted units. On normal units the system can still kill such a program.
    • 360 switch
    • Backup Test
    • Plug In Serial Device Setting

    USER​

    • Location (same as stock Android)
    • Security (same as stock Android)
    • Language And Input (same as stock Android)
    • Google Settings (same as stock Android)
    • Backup And Reset (same as stock Android)
    • Account (same as stock Android)
    • Delay Power Off When ACC Off (After ACC of the delay time to put unit in sleep or off: OFF / 3 sec / 10 sec / 3 min)
    • Application Setting ( which applications you want to auto-start when you start your car and unit )

    SYSTEM​

    • Date And Time
    • Accessibility
    • Developer Options
    • About Device
    • Device Info
    ==================================================
    (End of FYT Settings explained)


    Safety & Security - Your Google account
    All these Chinese and non-Chinese units are unprotected and fully unlocked. Like you leave your phone unprotected, off course in this case in a locked car.
    Your Google account may contain:
    • all your Contacts and Gmail - It would be terrible if others could lay their hands on it and use it for phishing, ask money from people who trust you, etc.
    • your Google Drive - This might contain confidential documents like family documents, documents from your notary, life insurance, mortgage, etcetera.
    • your photos - All those precious and maybe intimite family moments
    • Less important (perhaps): Google Maps (where have you been, which places do you visit regularly), Calendar.
    You might think: That is all not so important to me, but malicious users could also lock you out of your own account and then use it to contact your contacts.
    So, (My) Rule no. 1: Create a second account and use that in your car.
    Disclaimer: Google accounts get hacked every day due to lame passwords or other reasons, but so far I have not heard of anyone's account being hacked in an unprotected car head unit.

    If your Google Play purchases, like NavRadio+ or your media player, are in your family library (all my purchases are, apart from one which is useless in the car anyway), you simply invite your second account into your family library.
    And you can always give your first Google account read or write access to (a folder) on the Google drive of your second "car" account to be able to exchange files and other data (or settings).


    Mods, useful software, tweaks for your system, etcetera.

    • Backup the firmware of your unit (see post #4). Useful if you do not have a firmware yet for your unit.
    • Disable or (re-)enable the mediaplayer at startup/wakeup.
    • Change Fytmanufacturer script to correct the fytmanufacturer id after a flash with another resellers AllAppUpdate.bin bullet #3). Note: You can still use this script but you can also add the ro.build.fytmanufacturer to the config.txt of your firmware and flash that config.txt.
    • 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.
    • Mario Dantas (@mariodantas ) created/build the website "uis7862 FYT Factory":
      • A great and very extensive collection of launchers for FYT models and also a collection of (un)rooted kernels for your unit. (Read post #2 section III "The 6315_1.zip" for more info on kernels and how universal they are.)
      • He now also created a new firmware (MD-edition) that after flashing gives you some very handy and essentials options for on-the-fly rooting and root access for selected apps, starting apps from boot, make firmware backups, save your /data/data partition, etc.
    • @seb21 made a modded combination of the com_syu_ms.apk and a Config.apk. This combi allows you to change the "hard-coded" steering wheel buttons in case you have/use a CANbus and add "no kill" functionality. See Modded syu.ms.apk.
    • getinfo script. This is in fact an extension of my HWGetInfo.apk, but as an lsec script. It gives more info than the HWGetInfo.apk as it runs as a flashable script thereby having full access to the system.
    • Disable airconditions app on Tesla style uis7862/8581a units (see post #1781)
    • Modded Launcher 34 (see thread "Modded Launcher 34 for uis7862(s) and uis8581a (and probably uis8514a)")
    • A completely modded firmware (AllAppUpdate) with uniform theming. See the PeaceOS thread.
    • Rooting your unit: See @gordgelin's universal root script or from his own website.
    47
    Last revised: 12 July 2023.

    More about Firmware(s)​

    This post is valid for FYT uis7862(s) (ums512) and uis8581a (sc9863) units running Android 10 or fake Android 11 or 12.

    Contents of a firmware zip:

    Note that the firmwares for the uis7862 and the uis8581a only differ on the flashing binary and the kernel zip. Configuration files are the same. Some resellers deliver a firmware that contain two kernel zips and two flashing binaries, as the flashing binary will only work on the hardware it is intended for flashing the correct kernel zip.
    • Kernel:
      • 6315_1.zip: the kernel zip for the uis7862(s).
      • 6316_1.zip: the kernel zip for the uis8581a.
      • The 6315_1.zip or 6316_1.zip 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 for the uis7862 "should" be interchangeable between all 800x480, 1024x600 and 1280x720 models. The same for the 6316_1.zip for the uis8581a. Special resolutions come with specific lcdconfig.txt files.
    • The binaries that do the flashing of the firmware:
      • lsec6315update for the uis7862(s)
      • lsec6316update for the uis8581a.
      • These are the binaries that do the flashing of the firmware, optionally install a boot image or boot animation, optionally run scrips from the lsec_update folder after the flashing process itself has finished. These binaries can also be used to only flash a boot image, boot animation, or run scripts.
    • AllAppUpdate.bin: Special zip 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 or use the scripts from post #3, bullet #4.
    • config.txt: file comparible to the build.prop which can contain additional properties.
    • oem: (OPTIONAL) Folder containing some additional apps. These are not automatically installed, but can be found in folder /oem/oem in your internal memory (internal SC card called USB) via the internal FYT file manager. Do not confuse this with the oem partition itself where the AllAppUpdate.bin will be installed to. So it is a folder oem inside the /oem partition, therefore: /oem/oem. I use this folder upon flashing to add some of my preferred apps that I want to have available, but not directly installed.
    • vital-app (OPTIONAL): apks that are inside the vital-app folder inside the AllAppUpdate.bin are treated as apks to be installed AFTER the normal flash. So if a flash has been executed, and your system reboots, it will perform an "update". That is that it will at that moment install the apks in the folder vital-app.
    • 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. These are very limited cross-compatible. do not flash these if your do not know exactly what you are doing.

    I. (Factory) Firmwares

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

    * Modded Firmwares:

    See for compatibility 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_cache   # Will wipe the cache of the apps thereby removing the temporary files that are stored for those programs.
    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. You see that we specify 0 from the rotation. This is because android is normally for portrait like screens. Our landscape models have a value ro.sf.swrotation=90 decrees as they are actually 90 degrees rotated. A Tesla style unit therefore is again 0 degrees and sometimes 180 degrees.
    Code:
    ro.product.locale = pt_BR
    ro.sf.swrotation=0
    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).

    28-05-2023: I added two scripts in post #3 under bullet #4 to let you flash any AllAppUpdate.bin to your uis7862(s) or uis8581a unit.

    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. (like for example from inside a folder "AllAppUpdate" from an unzipped AllAppUpdate.bin.
    When using zip you can do "zip -r -0 --password 048a02243bb74474b25233bda3cd02f8 ./AllAppUpdate.bin *".
    When using 7zip you can do "7z a -r -tzip -m0=Copy -p048a02243bb74474b25233bda3cd02f8 ./AllAppUpdate.bin *".

    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> and the ro.fyt.uiid=<z>. This 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 or 6316_1.zip
    Again: the 6315_1.zip is the kernel for the uis7862. The 6316_1.zip is the kernel for the uis8581a.
    (Inside also "III-a. More details about the files inside the 6315_1.zip/6316_1.zip and how to decompress and unpack/"open" them" and "III-b. Recompress uncompressed images from the 6315_1.zip/6316_1.zip to squashfs format for small (!) and easy access. (Not for flashing.)")

    The 6315_1.zip/6316_1.zip contains the "standard" Android software for this unit. This is more or less what every "plain vanilla" Android 10 release will contain, with hardware drivers and kernel modules and "the basic Google apks" , but without additional unit application layer apks like the launchers, radio, music player, etcetera.
    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 own 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. This 6316_1.zip is theoretically identical for all FYT uis8581a units, apart from T'eyes units. (DISCLAIMER: Experimenting with this falls under your own responsibility).
    You can unzip the 6315_1.zip or 6316_1.zip and replace the boot.img (and root it) 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/6316_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/6316_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 and 6316_1.zip. Note that T'eyes does it slightly different.
    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/lsec6316update binary and 7862lsec.sh/8581lsec.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 for uis7862(s) and 6316_1.zip for the uis8581a)
    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(s) and lsec6316update file on a uis8581a.
    A USB-stick used to execute a script on a uis7862(s) or a uis8581a should contain:
    Code:
    lsec6315update (uis7862(s))
    lsec_update/7862lsec.sh (uis7862(s))
    lsec6316update (uis8581a)
    lsec_update/8581alsec.sh (uis8581a)
    "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 on a uis7862 or use the 8581alsec.sh script on a uis8581a. Note: 99.9% of the time these scripts are identical as you work on the application layer.
    • Flash a new config.txt to your unit: Simply copy your modified config.txt and the lsec6315update or lsec6316update binary onto a clean USB-stick.

    For more info on writing scripts, see below.
    ==================================================================================
    Creating your own lsec script to copy/replace a modified FYT apk.

    If you want to create your own script to flash a modified FYT apk to your unit to replace an existing FYT apk, you can use the following steps.
    Below is described for a uis7862 (ums512) and for a uis8581 (sc9863a). These units are compatible.
    On your USB-stick you need to have the following files.
    Code:
    lsec6315update                       (binary)
    lsec6316update                       (binary)
    lsec_updatesh                        (folder)
            7862lsec.sh                  (shell script)
            8581lsec.sh                  (shell script)
    OEM_APP                              (folder)
            190000000_to_be_replaced     (folder of the apk)
                    190000000_to_be_replaced.apk  (some apk we want to replace)
    Inside folder "lsec_updatesh" you have to create two shell scripts (on Windows NOT with notepad, but a good ascii editor).
    The binary "lsec6315update" and shell script "7862lsec.sh" are for a uis7862.
    The binary "lsec6316update" and shell script "8581lsec.sh" are for a uis8581.
    (You can do the same for two other type of FYT units: the "lsec6521update" and "lsec.sh" for a sc9853i. And the "lsec6523update" and "lsec.sh" script for a 7731. Note that these two units are also compatible. I have created scripts (for other purposes) that contain 4 binaries and 3 scripts, as the lsec.sh script is the same for the sc9853i and the 7731).

    Note that for replacing FYT apks, the 7862lsec.sh script and the 8581lsec.sh script can be identical as they use the same firmware when it comes to AllAppUpdate.bin.
    Let's say we have an apk called 190000000_to_be_replaced.apk.
    The following is for ALL 7862 and 8581 FYT units, but not T'eyes units. Those T'eyes guys do it differently (and let you pay for a lot of things).
    On ALL the other non-T'eyes FYT units, the apks are installed in folder "/oem/app" inside their own folder "190000000_to_be_replaced". In that folder we then copy the "190000000_to_be_replaced.apk".
    We use the following template for our script.

    Code:
    #!/system/bin/sh
    
    #Remove the current app data/program cache/cache. This is only necessary for some applications, but it never harms
    rm -rf /data/dalvik-cache/profiles/190000000_to_be_replaced
    rm -rf /data/data/190000000_to_be_replaced
    rm -rf /data/dalvik-cache/arm64/*190000000_to_be_replaced*
    #
    # Copying file to /oem/app
    #
    cp -r /storage/sdcard1/OEM_APP/* /oem/app/
    #
    # Updating folder/file access rights
    #
    chown -R 0.0 /oem/app/190000000_to_be_replaced
    chmod 755 /oem/app/190000000_to_be_replaced
    chmod 644 /oem/app/190000000_to_be_replaced/190000000_to_be_replaced.apk

    If your script needs to do other things you can take a look at some of the scripts in my github repository.


    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(s_ units. The same is valid for the 6316_1.zip for usi8581a 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 and lately also id=1) 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 (of 6316_1.zip for a usi8581a) 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 (or the lsec6316update for a usi8581a).
        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 registering your T'eyes' unit id (which you do not have of course because you do not have a T'eyes). Next to that: If you do not use their extensions, the "normal" programs like Google Voice/Assistant can be blocked.

    Before flashing:
    First heck 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!
    • Inside this file you will find a line with ro.fyt.uiid=<x>. Write down that number as well!
    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 be 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 (This does not work on Teyes units unless you use the Vincent Vega mods from @gordgelin).
    • 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 times resetting the flashing still doesn't start, your recovery partition is damaged.
    (or use your self created backup using the script from post #4)
    34

    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.

    Changelog:
    21 November 2023: Changed back to 7zip and took some more time to study the myriad of options.

    15 October 2023: Changed 7zip to zip. Added options to:
    • zip symbolic links as links and not try to follow the link (inaccessible system partition files. 7zip does not have this option)
    • Do extensive verbose output
    • Copy output to log file (AllAppUpdate.bin.log)

    This script will create a directly flashable backup!

    appBackup-V1.2 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).
    • After the script is ready, you will get a green increasing counter telling you to remove the usb-stick. Do this after 4~5 seconds (or later). The system will automatically reboot.
    • When it is done and after removal of the usb-stick, you will have four (4) files in this BACKUP folder on your USB-stick: 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.

    After running the backup script:
    Do check after the backup on errors. Do read the "AllAppUpdate.bin.log" inside the BACKUP folder. You might not understand everything, but if there is a line wth "ERROR" or "WARNING", you can copy it and report back.


    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 whatever FYT firmware (but not T'eyes) for a 7862 and take out the universal kernel/core 6315_1.zip . (For a uis8581 copy out the 6316_1.zip)
    • Only copy that 6315_1.zip (or 6316_1.zip for a uis8581) 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.
    27

    Mods and Tweaks​


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

    1. 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).
    Note: When you restart the car within 3~4 minutes, so before the "deep-sleep" really has set in, it will still play.

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

    2. Correct the fytmanufacturer id of your unit/MCU in the fyt.prop

    Do this in case you get a big yellow bar with red letters in the top of screen saying "UI and MCU does not match". It means that the property fytmanufacturer id (ro.build.fytmanufacturer= XY) is incorrect. (See also Q13/A in post 1 and section II. and vI. in post 2.
    Option 2a.
    Take the config.txt from your firmware. Add the correct ro.build.fytmanufacturer to the config.txt. Only flash this config.txt with a lsec6315update/lsec6316update to your unit.
    Option 2b:
    If you still know the original id, you can use below linked script to correct that entry again without completely reflashing your unit.
    Read the README.txt carefully !!
    You can download this script: ChangeFytmanufacturer


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

    3. Script to correct the screen orientation of your unit.

    Probably you are here because you did not read the Forum well enough (especially "VIII. Flashing a Full firmware, an AllAppUpdate.bin or a new system/kernel/core from another reseller" in post #2 and flashed a firmware to your FYT with a different screen orientation.

    What does this script do?
    It can set the correct orientation for your screen. This is set by a property called "ro.sf.swrotation=xy", where xy is a value of 0, 90, 180 or 270 . Use the value from YOUR ORIGINAL firmware in the config.txt.
    You will find a config.txt with this script that contains the default value for most units being ro.sf.swrotation=90
    In case you have no longer your original firmware you simply need to experiment with the above values until you have the right one.
    You can download this script: ro.sf.swrotation


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

    4. Two scripts to flash any FYT AllAppUpdate.bin to your unit.​


    EDIT: Some of the new Mekede M6Pro models and comparables from other resellers come with an lcdconfig for their 2000x1200 K screens. My scripts below do not take those files into account. I "think" that when you encounter an lcdconfig on the new downloaded firmware, you have to remove it and stick to the one installed on your unit.

    What do these scripts do and how to use them
    These scripts are for both the uis7862 (ums512) and for the UIS8581a (sc9863a).
    The AllAppUpdate.bin, that contains the FYT application layer, is for both CPUs the same.
    The scripts make a copy of your current config and use that to flash your unit using that config of your unit.

    Some information to start with
    FYT units do have an MCU and based on the type of manufacturer you can have a different MCU firmware. This MCU firmware is totally different from the normal downloadable firmware that you can get for your unit having new functionality, bugfixes, etcetera..
    The Android layer is universal on FYTs but works slighly different for different MCUs.
    How this Android layer should act on the underlaying MCU is determined by a property called ro.build.fytmanufacturer which can have several values.
    A second and third property are the:
    • sys.fyt.bluetooth_type property which is normally 0 or 1, but on the new M6Pro/M6Plus models anything up to 7
    • ro.sf.swrotation. This property defines the screen orientation and is in 95% of the cases 90 (degrees), for Joyings often 270 and for Tesla screens (0 or 180).
    These properties are in the fyt.prop file and in the config.txt file. These files are copied from your unit onto the usb-stick by the pre-flash script.

    Important
    BEFORE YOU FLASH ANYTHING TO YOUR UNIT, YOU FIRST NEED TO RUN THE "PRE-FLASH" SCRIPT !!

    Steps to perform
    1. Take a clean FAT32 formatted USB-stick (or a (micro-)SD-card in some USB reader/writer).
    2. Copy the contents inside the "pre-flash" folder onto the USB-stick (not the pre-flash folder with contents, but the contents inside the pre-flash folder).
    3. Insert it into your unit, let it reboot and go into recovery mode, and wait until the green message tells you that you can remove it again.
    4. Delete the "lsec_updatesh" folder including contents on your USB-stick !
    5. Make sure to keep the "myconfiguration" folder and check its contents: It must contain a config.txt and a fyt.prop. If correct: copy this myconfiguration also to a save place. You never know when you need a backup. If the folder does not contain those files or one of them, then don't continue but ask in the forum.
    6. Copy the AllAppUpdate.bin that you downloaded somewhere onto the USB-stick.
    7. Also flashing the 6315_1.zip or 6316_1.zip?
      • UIS7862: If you want to flash the kernel as well, copy the 6315_1.zip onto the USB-stick.
      • UIS8581a: If you want to flash the kernel as well, copy the 6316_1.zip onto the USB-stick.
    8. Now copy the contents of the "flash" folder onto the USB-stick.
    9. Check your "lsec_updatesh" folder. Do you now also have a "lsec_updatesh (1)" folder, or inside the "lsec_updatesh" folder something like a "7862 (1).sh"? It means that you did not delete the "lsec_updatesh" folder on the USB-stick, or that your file manager does not overwrite on copying. In this case: Redo step 4.
    10. Copy (not move) the config.txt inside the "myconfiguration" folder into the root of the USB-stick.
    11. You can now flash your unit using this USB-stick.

    Remarks
    • If you are thinking of using this in combination with @mariodantas' kernel, you need to know what you do. Mario's kernel comes with its own scripts and fmc app. Of course you can combine this if you know what you do, but do not simply copy everything on top of each other on this USB-stick. Please keep it separate.
    • You can also combine it with PeaceOS, but also in this case @LLIyT_HuK's version comes with it's own scripts. So know what you do.
    • The flashing script uses "twipe_data" in its "updatecfg.txt". This will clear your settings and all 3rd party apps which you downloaded from the Play Store or sideloaded from other locations. You can disable that by putting a # in front of the twipe_data line, but that is your own responsibility.
    • Most newer firmwares nowadays come with an lsec script and a fyt_build.prop. This fyt_build.prop comes with a fake property to set Android to 11 or 12. I refuse to go with that absolutely incorrect and despicable behavior and I will not copy it.
    • Once you have made your pre-flash copy of your config, you can also use the flash script to copy any modified fyt.prop or config.txt to your unit without using an AllAppUpdate.bin.

    You can download both scripts in one zip: flash_any_AllAppUpdate.zip
    13

    I created a new thread for "FET". See here https://xdaforums.com/t/fet-fyt-extra-tool.4653315/


    Hi guys and girls,

    As fmc is not around anymore, and being ill this entire week giving me a 1~2 hours a day that I am not exhausted, I decided to pick up an anbandoned "piece of work", being my FET programme (Fyt Extra Tool).
    This is a very basic, "ugly" tool. If nobody is interested I most probably stop again.
    If users are interested ....
    Anyway some screenshots inside the spoiler (Click images to see fullscreen)
    darktheme.png


    lighttheme.png

    dutch_dark_theme.png
    Buttons with "the android with root on its chest" require root access.
    The 3rd screen is a "Dutch" screen. I started to make translations, but that took too much time. For some languages I can almost do it completely myself, for others I do not have a clue. If you want it in your language, you do the translation. :)
    Dear translators (whoever): Please take the strings from the attached zip. DO NOT use the strings from a decompile apk. It contains a lot of garbages from the other libraries built in.
    See attached the current languages, but only very partially translated (using https://www.deepl.com/translator).
    And attached the apk. Simply install it as any other apk (no lsec script, just plain install)

    EDIT: Latest apk version in post #3707.

    Edit: Note that the first ZIP option is only for non-Teyes FYT devices, but no system/error checking yet.
    Edit2: You first have to set a pincode before you can lock the screen. No error checking there either.