Klyde PX4 | PX5 | PX6 head units with MCU CSN2 | CSN2_D | CSN2_8600_D (Android 8/9/10

Search This thread

_yuzo_

Senior Member
  • Feb 15, 2016
    356
    179
    Chernihiv
    When I test the right cable for update can I destroy my unit or does the update cant start with this cable because it's not
    Not destroy, but make it a software brick and then soldering skills are required. You need to know what to do and how. And read instructions carefully at least 3 times.

    The only known scenario where I do not know how to fix the unit without motherboard replacement - unsuccesful or interrupted upgrade of MCU firmware. Android part is a simple thing to fix if you have skills.

    Mind that no one there will fix your unit for free in case of failure. If you have no problems with the unit, leave it as is.
     

    Exutor90

    Member
    May 3, 2021
    11
    0
    Not destroy, but make it a software brick and then soldering skills are required. You need to know what to do and how. And read instructions carefully at least 3 times.

    The only known scenario where I do not know how to fix the unit without motherboard replacement - unsuccesful or interrupted upgrade of MCU firmware. Android part is a simple thing to fix if you have skills.

    Mind that no one there will fix your unit for free in case of failure. If you have no problems with the unit, leave it as is.
    So it's better don't make risk with an non OTG Port and better to build a cable and a new OTG USB Port like your instructions?!
     

    Exutor90

    Member
    May 3, 2021
    11
    0
    I only have one known problem.
    My steering wheel buttons don't always work.
    Sometimes yes sometimes no.
    With my old device everything worked perfectly and without any problems.
    And so is Carplay. When I connect my cell phone it always takes 10 minutes by car until everything works, otherwise everything breaks off.
     

    _yuzo_

    Senior Member
  • Feb 15, 2016
    356
    179
    Chernihiv
    non OTG Port and better to build a cable and a new OTG USB Port like your instructions?!
    You can do nothing with unit in terms of upgrade to android 10 via non OTG Port. Once you run andriod apk to start an upgrade your unit will be temporary bricked and only direct connection from PC via OTG Port can unbrick it.
     

    Saiphable

    Senior Member
  • Sep 3, 2011
    76
    9
    Maskrom mod is option how to switch HU to OTG mode. So you can burn android 10.
     

    Attachments

    • DSC_0371.JPG
      DSC_0371.JPG
      1.7 MB · Views: 27

    Michix1337

    New member
    May 9, 2021
    2
    1
    Hey i have a Question can i update me Pumpkin from Android 9 to Android 10?

    Modell: PX 5
    Buildnumber: 202005181528
    MCU Version: CSN2_05252020_143753

    Its me first time to update this and i will do it right :)
     
    • Like
    Reactions: Saiphable

    Kenlider18

    Member
  • Jan 29, 2021
    11
    0
    37
    Mexico
    Please help, I'm having a boot loop and system isnt starting, so I try to restore to factory settings and it's the same, I'm trying to reinstall firmware but I got an signature error message, trying to upgrade using a USB stick 4 gb without success, any recommendation please.
     

    Attachments

    • IMG_20210511_210441_704.jpg
      10.2 MB · Views: 12
    • IMG_20210511_061655_428.jpg
      9.8 MB · Views: 9
    • IMG-20210511-WA0002.jpg
      IMG-20210511-WA0002.jpg
      55.4 KB · Views: 23
    • IMG-20210511-WA0001.jpg
      IMG-20210511-WA0001.jpg
      91.3 KB · Views: 23

    ecolibra

    Member
    Feb 16, 2018
    29
    4
    hi i want to be able to turn off the low tire pressure light.
    This operation is carried out from the radio and turns off the low pressure warning light that appears on the instrument panel, but I can't find the option to be able to do it on my csn2 radio with android 8 ... please help.
     

    ecolibra

    Member
    Feb 16, 2018
    29
    4
    hola quiero poder apagar la luz de baja presión de los neumáticos.
    Esta operación se realiza desde la radio y apaga el testigo de baja presión que aparece en el cuadro de instrumentos, pero no encuentro la opción para poder hacerlo en mi radio csn2 con android 8 ... por favor ayuda.
     

    Kenlider18

    Member
  • Jan 29, 2021
    11
    0
    37
    Mexico
    Use another USB stick and format it before putting the kupdate.zip there. Also make sure that the size of kupdate.zip is the same on PC and stick after you copied it.
    I, made it to update to the latest version, and I'm still having the problem, kia logo then android is starting and then restart after a minute, and looping again, what else I can do? When I first buyed the radio it didn't have a kia logo, I picked in the interface, but after restoring and reinstalling firmware logo is still there! Wasn't suppose to erase everything?
     

    _yuzo_

    Senior Member
  • Feb 15, 2016
    356
    179
    Chernihiv
    Wasn't suppose to erase everything?
    Logo is copied to the partition which is not modified during the firmware upgrade. So that is expected behavior.

    android is starting and then restart after a minute, and looping again, what else I can do?
    Check the power of coreboard (see a schema in the heading post). It should be powered from +5V (Page 3, pins A5, A6). If you have less there, change all electrolytic capacitors. Do you have a LTE modem on board? DVD? LTE consumes 0.6A and could cause bootloop if the +5V line have less than ~4.8V
     

    ecolibra

    Member
    Feb 16, 2018
    29
    4
    I need your help friends, I try to find out in the forum but I am lost ... the seller has offered me an update to android 10 to solve my problem, my radio is a px5 csn2 (I attach an image) now I have android 8, I can install the Vendor upgrade to android 10 directly from a USB stick?
    Screenshot_2021-05-13-05-31-48-019_com.alibaba.aliexpresshd~2.jpg
     

    Top Liked Posts

    • There are no posts matching your filters.
    • 2
      Folks: English please!
      1
      I think is not in factory settings, just in personal settings first option i remember, but i have to look on mine tomorow.
      As the canbus wires, except plug, there are also a small conector with 2 wires. On my HU i must keep deconected
      Finally I managed to get the radio to turn on in acc key position and turn off in off key position.
      The problem was that 2 cables were connected to acc detection. I had to cut one. After that it worked as it should.
      Apparently the harness (by the way it was the original klyde harness) is generic so it covers as many models as possible with the problem that sometimes the pinouts don't fit 100%.
      On the harness was a sticker on which 3 vehicle models were listed (Lancer/Outlander/Pajero). I have a Mitsubishi ASX.
      1
      This MCU i didn’t try ,I download Separate file ,but I’ll try it today again ,this MCU come included android 10 only I guess it’s older because I use latest android 10 version
    • 26
      This thread relates to MCU: CSN2_xxxxx, CSN2_D_xxxxx and CSN2_8600_D_xxxxx for PX4, PX5 and PX6 platforms


      This thread is a mirror of russian 4pda to cover more users/developers.

      All units are made by Klyde, but are sold under different brands.

      I've been looking for a simple way to donate me if this thread is useful for you, all the ways are collected in one post there

      Hardware specifications:
      • CPU: Octa-core PX5 1.5GHz Cortex A53 64 bits CPU
      • ROM: 16/32/64G
      • RAM: 2/4G
      • Resolution: 1024*600
      • Out Power: 4*45Watt
      • Operating System: Android 8/9
      • Radio Tuner/Audio Chip: NXP6686 / TDA7851
      • Built-In WiFi Module /Support External 3G Dongle
      • Features: Radio Tuner,Built-in GPS,MP3 Player,Bluetooth,Touch Screen,TV,Mirror link,Built-In Microphone,Support Steering Wheel Control,Support Can-Bus

      Useful tips
      Tag [Android 8] means that it applicable to Android 8 :), the same for [Android 9]. If there is no tag, it suits both versions.


      • Factory Settings password: 126
      • If you type 888 while opening Factory Settings, the Logo changing menu appears instead of Factory Settings. Logo1 replaces "Navigation system" picture, Logo2 replaces "android" picture. Logo2 is animated.
      • Developers mode password is 237
      • Password 927 opens menu, that helps to adjust screen brightens by changing VCOM value. You can set it between 1 and 100. Be careful with that!
      • [Android 8] How to get root: Use a rooting app, alternative link
      • [Android 9] How to root
        Warning! You should be careful with that as it can brick your device once you tried to update SuperSu. Do not update SuperSu binary or the SuperSU app!!! You will get bootloop if that is updated!!! Also you have to wait until the tool completes its job, otherwise you can get no sound. If you face the mentioned problems, just re-flash your device. BE CAREFUL!.
      • Starting from android 8 January firmware there is an option "OFF" for "Power off delay if ACC OFF". it allows to keep android in a sleep mode forever. Please note that it consumes around ~9-10mA in this mode. Powered off device uses 4.8mA only (twice less than sleeping mode).
      • How to get enter stock recovery: hold reset(power) button, wait until sensor buttons start blinking, release and immediately press the button again. See video
      • To adjust the back camera brightness, just tap the screen when the camera is active.
      • Set custom logo
      • Detailed device schema

      Known issues/limitations and fix/workaround for that
      • Lost wheel key settings and radio stations in case full power loss (yellow wire). Make sure that yellow wire is not disconnected when the car is stopped/locked.
      • Sound level is 10 (12) after reboot/sleep if you was listening louder; if it was less than 10 (12) stays the same. 12 appeared in Dec 11th firmware, it was 10 before that. Not topical starting from Dec 27th firmware, now you can define default sound between 12 10 and 20 in Car Settings-->Personal Settings. 10-20 is in Jan 17th firmware .
      • buzz in speakers caused by 433MHz alarm system and USB stick remounting.
      • small buzz caused by WIFI, observed in complete silence only. Not an issue if there are no connected devices.
      • There are lots of cases when wheel keys does not work at all. The reason is in wiring. Please study the head unit manual + car wiring scheme and put the needed wire to the correct connection shoe.
      • if you have canbus adapter and wheel buttons duplicate actions (i.e you pressed next track, but 2-3 tracks were switched, the same for sound level), just flash Jan 17 or newer firmware. Also it is possible to change wiring, but the firmware is much easier.
      • if you have canbus adapter and track switching is reversed (incorrect), just go to Factory Settings --> canbus and set keys_previous_next to change.
      • Bluetooth ODBII and hands-free (calls) does not work simultaneously. At the same time ODBII and BT Music works well simultaneously. Hardware limitation, no idea for now if that can be solved.
      • Voice dialing, voice search do not work on some devices. Fixed in May 8th firmware.

      1.PX5 Firmware.
      You can combine different firmware and MCU (I.e. take the pumpkin MCU + April firmware or vice versa). MCU from Android 8 is compatible with Android 9. Mind DSP only while updating MCU.

      The factory does not provide me with a changelog! Do not ask about it.

      Android 10.


      Fake Android 10.
      It is the same android 9 firmware, but with changed launcher, radio and Bluetooth app.
      Android 9.

      The link for the most recent firmware and MCU: with DSP and without DSP. _D_ in the MCU version means that it is for units with DSP.

      All available versions of MCU are on my Google drive.

      Firmware history and links:
      Android 8.
      The link for the most recent firmware and MCU: with DSP and without DSP. _D_ in the MCU version means that it is for units with DSP.

      All available versions of MCU are on my Google drive.

      Firmware history and links:

      2. PX6 Firmware

      Android 10.

      Android 9.

      3. PX5 Android 9 for 1 DIN units with MCU CSN2_8600_D
      The differences between this unit are on Russian 4pda

      Firmware 201911301053 + MCU CSN2_8600_D_11202019_162651 is located on Google Drive

      4. PX4 Firmware

      Android 10.

      The instruction how to upgrade is there

      The list of purchased devices

      Tested and compatible 3G/4G modems
      • ZTE MF622
      • ZTE MF825
      • Huawei e173
      • Huawei E352
      • Huawei E3272
      • Alcatel 410D
      9
      How to update firmware on the device (without changing android version)

      I know at least 3 methods how to do that :) Use USB Stick or SD card with FAT32 filesystem for android 8 or USB Stick ONLY for android 9.
      1.
      - put the firmware (kupdate.zip + update2.bin if you want to upgrade MCU) directly to USB stick or SD card,
      - insert it while the unit is running,
      - click OK once suggestion to update appears.

      2. The same as 1, but the last point is to start update from system settings

      3. Use it, if you have a brick (bootloop)
      - put the firmware (kupdate.zip + update2.bin if you want to upgrade MCU) directly to USB stick or SD card with FAT32 filesystem for android 8 or ONLY USB Stick for android 9.
      - power off the device, insert USB stick or SD card for android 8 or ONLY USB Stick for android 9.
      - press and hold power button and power on unit by switching on ACC in your car or enable power +12V on both red and yellow wire in case you doing that on the table. On some units use reset button instead.
      - once the update is started, release the button.

      WARNING! Firmware update will remove all your personal data and settings on the device!

      If you observe the error like "header and footer of kupdate.zip does not correspond signature", just try to upgrade form another USB stick/SD card.
      4
      Upgrade from Android 8 to 9 WITHOUT disassembling.

      ALL YOUR ACTIONS ARE YOUR OWN RESPONSIBILITY!!! Nobody will send you a new core board in case of the failure! At least will not do that free of charge!

      0. All needed files are there.

      1. To perform the upgrade we need:
      - Strong desire to do that and be ready to purchase a new core board in case of total failure (~100$);
      - micro SD card slot in your unit. If the unit vendor gives details regarding the units without SD cards, I'll update this post;
      - USB stick (up to 16GB, to avoid possible problems) formatted in fat32;
      - micro SD card (again, please use not so big);

      2. Put the following things on USB stick:
      - MCU firmware that suits your device. I.e. update2.bin from the first message in thread with DSP or not depending on your unit)
      - Android 9 firmware from the first message. kupdate.zip, Again: Andriod 9!!!

      3. Do NOT plug USB stick to the unit for now, let`s make bootable SD card;

      4. On Windows PC run SDDiskTool and create bootable SD card. The manual inside of the archive, with the details, so I see to reasons to repeat it there. update.img from the archive is used there ~350Mb;

      5. Install "Android 8 upgrade 9.apk" into the unit, run it, click only the button in this application. The unit becomes a brick (temporary, till a success on step 9) - You will see only a black screen and lights on the buttons;

      6. Put SD card into a units slot, disconnect battery terminal of your car or power off the unit in some other way. Both red and yellow wires of unit should not have +12V on them !!!

      7. connect battery terminal.

      8. The unit is upgraded for the first time. Take a video of the process!!! Just in case if you fail and it will be needed to troubleshoot that. On this step you should see TWO errors of formatting metadata. YES, there should be TWO errors!! and formatting error for system.

      Video of attempt.
      The final screenshot.


      9. Disconnect and connect battery terminal one more time. The unit upgrades from SD card one more time Take a video of the process,just in case. this time there should be no errors with metadata and system!!! The last string should be "Doing Actions succeeded".

      Video of 2nd attempt.
      The final screenshot.


      10. Disconnect battery terminal, REMOVE SD card from unit, plug USB stick prepared on step 2.

      11. Connect battery terminal and the unit will complete the upgrade to Android 9.

      12. Once the upgrade from USB stick is done, the unit start running Android 9. All further upgrades will be done from USB stick without any additional actions

      Video of installing the firmware from USB Stick.

      13. FORMAT SD card on your PC, do not use it in unit until it is formatted, just to be safe.
      4
      Upgrade to real android 10

      There are 2 known ways how to upgrade to android 10.


      1. Disassemble your unit and do the same as described there using the files for PX5 or PX6 depending on your platform. Also there is an instruction with pictures in each archive.

      2. Without disassembling, but using windows laptop or tablet. Quite simple, but requires lots of checks and preparations. And in worth case scenario you will have to solder to the needed pins of coreboard.

      !!! The upgrade is possible on motherboards rev 1.4, 1.5.2 and 1.6 (quite possible that other revisions too, but we have not enough information for now). The mainboards of rev 1.2 require disassembling and soldering additional usb cable!!!

      In order to complete the upgrade we need:
      - strong desire to do that and be ready to disassemble unit in case of the failure or even purchase a new one.
      - USB type A male to type A male cable
      - Windows laptop or tablet

      Steps to do.
      1. Preparation
      - check the Bluetooth module that is configured in your unit: System Settings-->Factory Settings-->FUNC-->BT Mode. Note its model somewhere. That will be needed to restore the settings after the upgrade.
      - check if you can do an upgrade:
      -- install terminal emulator on your unit and run
      Code:
      dmesg | grep "USB device" | grep using
      and note the last time stamp
      -- plug USB stick to the first USB (on the panel or into an extender cable)
      -- run again
      Code:
      dmesg | grep "USB device" | grep using
      -- if you see something like
      Code:
      [ 4781.749803] usb 3-1: new high-speed USB device number 16 using usb20_otg
      you can use this USB and plug the head unit to your laptop via it using USB male type A to male type A cable. usb20_otg is vital
      -- if you see something like
      Code:
      1-1.3: new high-speed USB device number 5 using ehci-platform
      This USB can not be used!
      -- repeat the action for the second unit`s USB
      -- IF BOTH PORTS DOES NOT HAVE OTG YOU CAN NOT GO FURTHER UNTIL YOU SOLDER THE 3RD CABLE! The instruction is at the end of this post.
      - download PX5 or PX6 depending on your platform.
      - if you have a display with resolution 1280*720 , download a custom oem.img, it is suitable for both PX5 and PX6;
      - extract archive to root directore of drive C: You should have C:\px6_10.0_burntools\ or C:\px5_10.0_burntools\ folder;
      - install drivers from DriverAssitant folder;
      - in case of PX6 go to C:\px6_10.0_burntools\AndroidTool_Release_v2.71, for PX5 go to C:\px5_10.0_burntools\AndroidTool_Release_v2.71, edit config.ini, replace Selected=1 with Selected=2. That will enable English language for the program;
      - if you have 1280*720 display, put the custom file to rockdev\image folder and replace the old one;
      - backup all vital data on your head unit;

      2. Upgrade
      - run AndroidTool.exe
      - download and install this APK
      - run it and click "Go to Android10", the device will be rebooted and BRICKED. APK kills loader and boot partition!!!
      - connect your laptop and head unit via the discovered OTG USB
      - AndroidTool should reprt "Found one MASKROM device"
      - hit run button;
      - wait until the competition.

      The unit will be rebooted, data partition will be formated and the unit will be running andriod 10.

      3. Post upgrade
      - download the most recent firmware
      - put it on USB stick
      - do an upgrade using this USB stick

      Known issues and fixes
      1. Bluetooth KD6 does not work on android 10. Replace the module with IVT140 or RF210, maybe it will be fixed in new firmware. Fixed starting from 202011261850
      2. In some unique cases the rear camera does not work on android 10 (we suspect that it appears on old mainboard revisions without DSP). Fix is to revert to android 9 or maybe it will be fixed in new firmware. Fixed starting from 202010141730



      TIPs
      .
      Mainboards Rev 1.2 do not have USB OTG, so you have to solder the 3d USB cable. Just solder the USB wire to connector A if the mainboard. Pins 63 and 64. 63rd stands for D+, 64th corresponds D-. Do not forget about GND. +5V is not mandatory for upgrade, you can take it from rear connector H (check pin 5 or 10 there) and make fully working USB port.

      20818804.png

      photo_2020-09-13_14-36-50.jpg

      photo_2020-09-13_14-30-35.jpg
      4

      I decompiled with the latest Jadx and found it will end all non-system processes, except for those in a hard-coded blacklist, which includes google maps. So it should work to move an app to system/priv-app or even system/app if it is desired to be sustained during sleep. There are apps which can do this for you on a rooted system though I have never tried them. Apparently it gets more complicated if the app to be made a system app includes libraries and I don't know if the automated systemizer apps do this for you. In my case it would be nice if Maps restarted where it left off so I may go ahead and try editing the smali.

      FYI the relevant code is below:
      It comes from com.my.manager.McuManager in MyCarService.apk. According the the manifest it was compiled with Android 9.

      Update: I was not able to successfully rebuild a properly working apk. :(

      2nd Update: With apktool set to not use aapt2, it seems to work. I commented out the call to the below function, and now Google Maps resumes directly to navigation. Somehow it didn't do the trick to remove Maps from the blacklist. :)

      Code:
       private void killAllNoSystemProcess() {
              try {
                  getAvailMemory(this.mContext);
                  PackageManager mPackageManager = this.mContext.getPackageManager();
                  Intent mainIntent = new Intent("android.intent.action.MAIN", null);
                  mainIntent.addCategory("android.intent.category.LAUNCHER");
                  List<ResolveInfo> apps = mPackageManager.queryIntentActivities(mainIntent, 0);
                  ActivityManager am = (ActivityManager) this.mContext.getSystemService("activity");
                  for (ActivityManager.RunningAppProcessInfo amProcess : am.getRunningAppProcesses()) {
                      int kill = -1;
                      Iterator<ResolveInfo> it = apps.iterator();
                      while (true) {
                          if (!it.hasNext()) {
                              break;
                          }
                          ResolveInfo appInfo = it.next();
                          boolean flag = false;
                          if ((appInfo.activityInfo.applicationInfo.flags & GlobalDef.CVBS_DEFALUT_BRIGHTNESS_7181) != 0) {
                              flag = true;
                          } else if ((appInfo.activityInfo.applicationInfo.flags & 1) == 0) {
                              flag = true;
                          }
                          if (amProcess.processName.startsWith(appInfo.activityInfo.packageName)) {
                              if (flag) {
                                  kill = 1;
                              } else {
                                  kill = 0;
                              }
                          }
                      }
                      if (kill == -1 && amProcess.importance > 200) {
                          kill = 1;
                      }
                      Log.d(TAG, amProcess.processName + "<<kill:" + kill + ":" + amProcess.importance);
                      if (kill > 0) {
                          am.forceStopPackage(amProcess.processName);
                      }
                      for (String s : KILL_SYSTEM_APP) {
                          am.forceStopPackage(s);
                      }
                  }
                  getAvailMemory(this.mContext);
              } catch (Exception e) {
                  Log.d(TAG, "killAllNoSystemProcess:" + e);
              }
          }