General Q&A, tips, info Roll-up (Joying) FYT SC9853i

Search This thread

warata

Senior Member
Apr 25, 2016
404
85
Tsu
I am also looking forward to the extended apk.😁
It would be even better if the problem of terminating Google Maps Navi in sleep mode could be resolved.
 

surfer63

Senior Member
May 4, 2010
5,056
2,444
Zwolle
github.com
Sounds good to me, I just want it to work like my last unit, kind of like when I have in reverse is mutes radio and when torque would connect it would mute radio fir a split second to report OBD status and if I had GPS mixing set to switch it wasn't an issue. Let me know the thread and I'll go from there
There is no thread yet. I have most documentation ready and can simply upload it to a new thread, but I don't want to do this without a unit myself. Only I had expected my unit to have arrived 4-8 January (which was still long, but I already anticipated Christmas and New Year).
I have no idea about the OBD though. That is completelyt new to me.
 

charackthe

Senior Member
Mar 20, 2015
563
117
My device has a problem. When I try to skip songs in the app it works, if I go home and try it, it crashes; volume and song skip doesn't work neither from the steering wheel nor the face buttons. It cuts the music comes back and I can again use the controls (but not song skip). I found some crash logs that generate when this happens. And I found a .txt file named CanId and it is empty.
Here is the log:
versionName=1.0
versionCode=2002131246
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
at app.ToolkitApp.mediaKey(ToolkitApp.java:311)
at app.ToolkitApp.mediaKey(ToolkitApp.java:302)
at app.ToolkitApp.mediaNext(ToolkitApp.java:192)
at module.main.HandlerMain.mcuKeyDown(HandlerMain.java:3922)
at module.canbus.analysis.HandlerAnalysis.canbusKeyDown(HandlerAnalysis.java:3151)
at module.canbus.analysis.HandlerAnalysis.keyEvent(HandlerAnalysis.java:2858)
at module.canbus.CAR_0424_XP_KeLeiAo.onHandle(CAR_0424_XP_KeLeiAo.java:148)
at module.canbus.analysis.CanbusTypeXP1.onReceive(CanbusTypeXP1.java:102)
at dev.ReceiverMcu.onHandle(ReceiverMcu.java:1119)
at dev.ReceiverMcu.onReceive(ReceiverMcu.java:216)
at util.SerialThread.run(SerialThread.java:76)


I wonder if this is the reason.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 15
    Last revised: 09 May 2020.

    The models are manufactured/assembled by Joying, but the motherboard/MCU is made by FYT who also "make" the Android and system apps for the units. There are a number of FYT compatible units available, like Joying, Sinosmart, Zhan, Funrover, Flyaudio, Witson, T'eyes and multiple "unnamed/unbranded" units. Not all of the units of these companies are FYT units though.
    This thread is not for discussing your issues in case "things" don't function or questions like "How can I ../ How do I ../Where can I find ../ etcetera. There are other threads for that. If you have good tips yourself, please add them.
    Almost all Q&As and tips are collected from other or much older posts. Too many people to mention. Thanks all!
    I hope this will remain a "work in progress"!

    #1. Passwords:
    Factory menu / Developer options: 3368
    Backlight Current Adjustment: 5768
    Door lock interference: 0000
    To change home launcher: 8086

    #2. Where can I find the latest (and/or older) firmwares for my Joying unit.
    You will find them on the Joying website www.joyingauto.com inside the blog: Updated firmware.

    #3. Should I always upgrade to the latest firmware?
    Theoretically: YES. Bugs are fixed. New features are added. But..: sometimes new bugs are introduced.

    #4. Are there other Howto's, Q&As, Tips available?
    The Joying blog at https://www.joyingauto.com/blog/
    The Youtube Joying Boyka channel.
    The official Joying forum: https://forum-joyingauto.com/
    Modding your Joying/FYT SC9853i unit without root: https://forum.xda-developers.com/an...modding-joying-fyt-sc9853i-unit-root-t3974357

    #5. Will all my apps and data still be there when I flash my unit with a new firmware?
    That depends on the contents of the file "updatecfg.txt" in the firmware. See the explanation in post #1 of Modding your Joying/FYT SC9853i unit without root

    #6. Can I root my unit?
    Yes, you can. See HowTo: Root Joying SC9853i Head Unit.

    #7. I have my unit rooted. How can I (relatively) easy install mods or tweak my unit?
    Use the "Joying_Extra_Tools" app (also JET apk) which allows you to install Radio, Bluetooth, main server (nokill) mods and tweak/optimize (immersive mode, overscan, DPI, etc.) your unit.

    #8. All the apps are killed when the unit goes to deep-sleep. Can I change this?
    The unit does indeed kill all apps upon going into "deep sleep", apart from a few system apps.
    Solution 1
    (No root required) By modifying the "skipkillapp.prop" as described in both post #1 and post #2 of Modding your Joying/FYT SC9853i unit without root, you can change this.
    Solution 2
    (No root required) Install a nokill mod using a prebuild flashable image from post #3 of the thread "Modding your Joying/FYT SC9853i unit without root". This mod deactivates the "kill_all_app" function in the main server app.
    Solution 3
    (root required) Install a nokill mod (using the JET apk). This mod deactivates the "kill_all_app" function in the main server app.
    "Solution" 4
    (No root required for "starting apps" activity) If you simply want "your" app available after deep sleep, a much "cleaner" way to do this is to use @bambapins FYTStarter apk that lets you autostart apps on "waking up" of the unit. See post #1149 of the "Joying Android 8.1 Intel Airmont eight-core 1.8GHz SC9853i (4GB RAM, 32GB flash)" thread.
    Alternative: You can assign any app to the "Navi app" setting inside the Joying settings. You can use Tasker/Easer/Llama/MacroDroid/Condi/Etcetera to start apps/do actions, etcetera after wake-up. Note that for some of these actions you need root access.

    #9. I do not really care that apps are closed on going into deep sleep, but can I start some apps on waking up after deep sleep?
    Like above topic: (No root required for "starting apps" activity) If you simply want "your" app available after deep sleep, a much "cleaner" way to do this is to use @bambapins FYTStarter apk that lets you autostart apps on "waking up" of the unit. See post #1149 of the "Joying Android 8.1 Intel Airmont eight-core 1.8GHz SC9853i (4GB RAM, 32GB flash)" thread.
    If you are rooted you can use FYTStarter to start the accessibility service. It is not necessary for root to be kept active: it is enough to install and launch FYTStarter only once, while you have root. Later, even if you remove root, the app will still be able to start the accessibility services.

    #10. Can I make modifications to the apps on my unit without root?
    On these SC9853i units, you partially can. See this Modding your Joying/FYT SC9853i unit without root

    #11. Are there Custom ROMs for this unit?
    No, currently not. It is unlikely they will be created, but you never know.

    #12. The unit starts some default apps on certain hardware keys or "system actions". Can I change this (without root)?
    Yes, you can for a number apps and a number of SRC/MOD Steering Wheel keys. see the "FYT HW OneKey app". It doesn't need root, but will also work with root.

    #13. I did something stupid and now my unit is in a boot loop or does not get past the boot logo. Help!
    See post #4 in the "Modding your Joying/FYT SC9853i unit without root" thread.

    #14. The Bluetooth app can only pair a few number of devices. Can I change this?
    Yes, but your device needs to be rooted. @seb21 has modified the Bluetooth app (based on 17 Sept 2019 firmware) which allows to pair any OBD device. See this post in the "Joying Android 8.1 Intel Airmont eight-core 1.8GHz SC9853i (4GB RAM, 32GB flash)" thread. This BT-app will only work till the next reboot, then it is completely disabled!
    See also #27.

    #15. Sleep mode: How much power is used? How long will it last? When does it really switch off?
    This is mostly based on the previous Sofia 3GR and PX5 units, but I don't think it has changed as there was no change either between the (2) sofia model(s) and the PX5 model.
    When switching off the unit it is not immediately in "deep sleep" mode. This takes about 30~60 seconds (on the PX5/Sofias ~4 minutes). In this period power usage is about 0.5~0.75A. When in "deep sleep" mode power consumption drops to 0.01~0.02A. A healthy battery can take this for at least a month.
    After 5~7 days your unit will still be completely switched off resulting in a cold boot on starting your car. Just to make sure your battery is not drained. Nobody did ever exact measurements of this "switch off" period.

    #16. A 3 seconds push on the PWR button switches off my unit, or a drag down (2X) from the notifiction bar enables me to shutdown the unit. Is there a difference with the Contact "switch off"?
    Yes, there is. Pushing the PWR buton or dragging down the notification bar to shutdown the unit will only shutdown Android, not the hardware, and the energy consumption will still be above ~0.5A, but also makes it awake instantly. Switching off the car using your key, will bring the unit to "deep sleep". Then it will take 1-2 seconds to wake up again.

    #17. I have a VW/Skoda/Seat unit with CAN-bus, but no Steering wheel buttons on my steering wheel. Will a 3rd party Steering wheel controller work?
    No, not directly. These units come with a "VW motherboard" and do not listen to the Key1/Key2 wires, but only to the CAN-bus. Disconnecting the wires from the CAN-bus to such a 3rd part SWC-controller will not help.
    The best solution requires some technical skills and involves an Arduino Micro-Pro device and is described in the [Joying for VW] Universal steering wheel controls with arduino by @bambapin.
    (For a PX5: Another option is to resolder a resistor on your motherboard as described here).

    #18. On long drives or high external temperatures (in the tropics) my unit doesn't work fluent anymore and apps start "stuttering" (voice) or slowing down. What is happening?
    Install an app that wil monitor the temperature of your unit. The chips/motherboards in these units can get really hot. The CPU will "throttle" itself to lower CPU-cycles to cool down. Another problem of too high temperatures is that the lifespan of the unit will be shortened. And still another issue is that these units are "cold soldered", meaning that due to tension in the soldering due to the high temperatures, CPU soldering connections might be broken causing a non-functioning or mal-functioning unit. There are several threads on this forum giving examples of heat-sinks, fans and combinations of both.

    #19. How can I use split-screen on this unit?
    solution 1
    Use the "Touch Assistant apk", which is the "white dot" floating top-left in your screen. It has a split-screen option and it remembers! that you are in splitscreen mode.
    Solution 2
    Start your "first" app and "second" app. Go to the task-manager (rectangle) in the top-right of the notification bar. It will show your active and last-used (but possibly closed) apps. Drag your "first" app to the left. In the right window you will now find the task manager with the other apps. Select the app you want on the right. (Of course this also works the other way round if you drag your first app to the right).
    Note: This version only supports a 50%/50% split. Some Androids support 33%/66% splits as well.

    #20. With every key press I hear this annoying beep. How do I remove it?
    Solution 1
    BEFORE (re)flashing your unit, edit the file “config.txt” from the firmware zip.
    Add the line "ro.fyt.amp_switch=0" (or change that line from "ro.fyt.amp_switch=1" to this "ro.fyt.amp_switch=0")
    Solution 2
    1. Open the Settings app
    2. Go to Device -> Sound -> Keypad Tone
    3. Switch it off

    #21. What is the default DPI on these units? Some apps/fonts seem too big or too small for the screen.
    The default DPI is 160 for the 1024x600 units. Some screens are 1280x720. Some badly written apps (including my own JET apk) do not display correctly. On the 1280x720 screens you could go to a DPI of 180 or 200. Above that the Joying/FYT apps will not be displayed correctly. Changing the DPI is currently only possible if you have your unit rooted!

    #22. When my unit 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.

    #23. Can I modify the lines/frames I see when having a reverse camera and driving backwards?
    Yes, you can, but not from the app or Settings.
    1. Unzip "190000000_com.syu.us.apk".
    2. In /res/drawable you will find dl1.png to dl35.png, and dr1.png to dr35.png (left and right). These are used for the "frames" when driving backwards.
    3. Change them, but keep the same resolution (size).
    4. rezip the apk
    5. use the "Creating an Allapp.pkg ..." from the "Modding your Joying/FYT....". Or in case you have rooted your unit you can directly replace the apk on your unit.
    (There are more "frame" images in there, but I have no idea how to use them. Of course you could rename them if you want to use these)

    #24. I only want to flash the MCU firmware, not the rest of the firmware. Can I do that?
    There can be several reasons why you want to do this. Only(!) copy the "Stm32ud.bin" and the "lsec6521update" to a clean FAT32 formatted USB-stick/SD-card and put it in your unit. The flashing will start automatically.

    #25. I want to flash a new firmware, but NOT the MCU firmware
    Use your firmware of choice but remove(!) the "Stm32ud.bin" from the USB-stick/SD-card before flashing.
    3
    Thank you for this! I realize you don't want people asking questions in this thread but more about posting solutions, so i'll attempt to add two I think are missing and you can always add your input:

    Q: Everytime the head unit enters deep sleep, apps granted the Accessibility permission (such as Tasker, Automate, Launchers) might lose this permission. Anyway to prevent this?

    A: This is due to services being shut off (post) when the MCU calls for deep sleep. There is no way to stop this. However, you can use FYTStarter APK (here) for restoring accessibility or other issues between 'deep sleep'.

    Q: Third party apps and external keyboards are unable to control volume or other media controls. How to overcome?

    A: Volume and some other keys/controls are preempted by the Joying/FYT software. You need to interact with the Joying/FYT services to control these aspects. This post here shows an example apk that can interact with Joying/FYT services to control volume and other aspects (and another version here and some easy to use apk for volume that are tested working here). You can write your own APK using same methods or take advantage of this apk to send intents/commands to control volume and so on. You can use Tasker or Automate to provide this control to other things. For example, use Automate to intercept 'VOL UP' from an external keyboard and then use APK command to send 'VOL UP' to Joying/FYT service (and thus restoring ability to control volume from external controls like Joycon controller or external keyboards).

    Q: How can I interface Steering Wheel Controls (Can Bus or other) not supported by Joying/FYT drivers

    A: You can always use Joycon interface adapter (http://www.exinterface.com/cpjexr/) to convert SWC and CAN bus commands into USB keyboard inputs. The Joying/FYT work with this but you do need to use third party apps to map keyboard inputs into meaningful actions (start an app for example). As mentioned in above Question, media keys might not work directly from keyboard (unable to control volume for example) and you need to work around that with additional APK, but it can be done.

    Q: is there anyway to setup so that when i receive a bluetooth call, i can go back to [other app]?

    A: If you have set Waze or [other app] as your Navi app (via Joying settings menu), tapping the Navi button on your screen should allow you to go back to Waze. But also: some apps can be allowed to take over the phone function. Example is Magic Earth and Osmand+. For both I can allow them to make/receive calls. It means that you see a bar on the bottom of the screen, but it is actually not the Joying dialer. So I am IN that app. Google Maps can do that as well and I assume Waze might be able to do is as well too.
    Did you give Waze that authorization when Waze asked for it during first loading it? Because if you did, you are in Waze with a phone call overlay at the bottom. Therefore: you cannot go to Waze because you are already in Waze. (Quote from Surfer post)
    2
    Or are you excluding 7862 to avoid trouble?
    No, I don't. I simply did not (and still don't have) a 7862, so I wasn't interested. And I had no clue either that FYT had changed some of the LAUNCH/MAIN activities of some of the apks. They were the same for the Sofia3GR/PX5/sc9853i, so why did FYT change them?
    2
    I did already see that the Google contacts issue is the same as on ours.

    I'M SO HAPPY ! :D

    I Have found How to install all firmware on my head unit and fully fonctionnal bluetooth and CAN control ! (without touch the MCU ! )

    1_ For bluetooth the solution is in the "config.txt" at the root of usb key and is very stupid, just replace "Sys.fyt.bluetooth_type=X" X is your number type ! In my case, the type in my original firmware config file the type is: sys.fyt.bluetooth_type=5 and i replace in Teyes config file "1" to "5"

    2_If you install other original firmware you have message: "ui and mcu does not match" Juste open allapp.pkg and modify fyt.prop line: fytmanufacturer=x (X is the original value in your firmware)

    I think you can try on your head unit, just download the lastest firmware and mod the file with my procedure: https://drive.google.com/file/d/1B-qCsn80P5wu2_fsF_YgCFOkqJvi3gR4/view

    I love Teyes firmware because he have great look, very smooth. Launcher quality in my opinion is best than Joying...
    Disadvantage for me: French Translation for the setting app is very bad. I think my next step is translate this app.

    Other Thing: I want to try CC2 firmware but have some problem with activation. I Will try to test other firmware and i will back to you ;)
    2
    Hi Surfer, This is a request from me. Is it possible to add a double tap option like the MTCE unit to the FYT HW OneKey app?
    -- Very short: No.

    -- Now the long answer:
    Normally in Andoid apps you have the GestureListener , the OnDoubleTapListener is part of that.
    However, my FytHWOneKey does not use that listeners. The FYT main server apk is the listener in combination with the MCU. Based on the (hardware) keys pressed it generates an event, which I duplicate, so the user can/need choose for the default action (like the media player) or something the user wants instead (another music player).

    I do nothing with the listeners. And the FYT main server and MCU do not listen to double-taps. The latest T'eyes models do support double-tap but I didn't check that.

    -- And further explanation:
    On the old Sofia models, the main server apk was modified in every release to start another method/function using the external script. There it was possible to act on taps and double-taps, because the script checked if the same key was pressed with (a user configurable) 0.2~0.4 seconds.
    My Xposed modules completely "replaced" the internal method/functions of the main server apk (that is what Xposed can do) and in my Xposed modules I had double-tap, because there I used my own routines.

    On a non-Xposed unit, or a non-modified main server apk, double-tap is not possible.
    By now it is clear that all FYTs using the same board/CPU are 100% compatible, granted you set two properties to correct for the reseller. And even that is done in the settings. Not in the software.

    I have already read that there is a new Xpsoed for Android 10 that "should" run on the uis7862. "Someone very brave" has to root his/her unit and install Xposed.
    Then my Xposed modules could be used again, of course requiring some modifications for the new 7862 unit.

    "Theoretically" I could also modify the main server apk again and deliver a main server apk with a new rebuild FYTHWOnekey.apk. And on a new firmware release modify the main server apk again if necessary. It is now after those years of experience also clear that the main server apk hardly changesand remains the same over all reseller models (same board/cpu).
    But I don't want to anymore. If someone wants to take over and need hints, I am happy to provide them.
    (This year I will probably buy a new (2nd hand) car and if I do, that one will certainly have an builtin navigation unit. I don't want to spend the time anymore. I am happy with the current functionality)