yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] warata:
Yes i did.I always do factry reset after firmware update.Because I want to reflect the modified buildprop value.

Thanks anyway:)

And is it really necessary to have 5009_20.zip in the new firmware? It is the same size as 5009_60.zip, so I deleted it but this is the cause?:confused:
[Android Head-Units] ste2002:
I did not do factory reset _after_ FW upgrade (though it is also recomended). I did factory reset _before_ doing FW upgrade.
[Android Head-Units] edit:
This is how to avoid most of the update problems (extracted from my Q&A thread):

1. backup data

2. take out all the microsd cards, usb sticks and check them all for errors (some users had problems with data corruption on the cards that they kept in while updating, lead to instability)

3. delete ALL the files from the internal storage (with the default file manager, go to internal storage, select all, delete)

4. wipe the unit / reset the unit to defaults from the settings

5. flash the new firmware

6. wipe it again / reset the unit to defaults from the settings

7. put everything back / reconfigure (I personally prefer not to restore from a Titanium backup and reinstall everything and reconfigure)

8. before inserting back the old microSD cards and usb sticks in the new reflashed/reinstalled unit, make sure that are no files on them from the previous installation (files left over by apps from the the previous installation)

It's always a good idea to start clean and delete the leftovers files that sometimes could be damaged and once you put the back you might encounter problems.
[Android Head-Units] warata:
Thank you edit your micro tutorials are very useful and I read all 1 to 55.:)
[Android Head-Units] gustden:
Black screen from command line / key press

I seen some mentions about easy way of shutting the screen off. I was able to assign this to a button on the unit. The details are in the steering button mod thread.

https://xdaforums.com/showpost.php?p=74050064&postcount=605
[Android Head-Units] sweetnothings:
so that means you can't integrate it in your app right?

in that case i would build a separate apk when i have the time.

see this thread for the app
[Android Head-Units] KeiserSozeyFr:
I would like to use it in french language. How do you enable the "OK Google from any screen" option ? in my unit, the menu does not exist.
[Android Head-Units] warata:
stuck on bootloop

My device has stuck on bootloop.I am already asking help for Joying support,but they are amazingly unreliable as you know...

So I got the following information at google.

1. Unzip update file to a USB stick (I used the latest january update) in root directory

2. Plug in USB drive in radio

3. Power on device

4. Press reset button on the device

5. Unit should now install update file by itself

I downloaded the firmware(from the latest to 8th May) at the following site and tried updating.

https://www.carjoying.com/blog/joying-head-unit-after-sale-support/59.html

My unit has one tf card slot and two USB terminals and I tried all the storage imput

But every results are

"E:faild to unmount /system"

"canot unzip update file!"

"Error wait here ...."

I waited for 30 minutes, but nothing has changed.

Is there anything else I can do?

Thanks in advance.
[Android Head-Units] Ahmad Quidemat:
This is the exact situation I have , its the same error message , I struggling since the last week to get rid of this error with no luck. Mainly I was working on September firmware , I suppose to get Joying Support Help tomorrow , as they came back from their holiday , would you please share their response about this issue?

Regards
[Android Head-Units] surfer63:
You have the exact same issue as this guy: https://forum.carjoying.com/thread-1388-sofia-unit-2gb-boot-loop-after-update.html

you might try his EDIT: https://forum.carjoying.com/thread-1388-post-7846.html#pid7846

(To me it is not exactly clear whether that solved it for him)
[Android Head-Units] warata:
OK, if you get something new please let me know.

This is a reply from joying support.

As I thought, they have not even read the contents of my e-mail. As usual reply like copy and paste.

But if we continue negotiations them may get a different answer someday...(My car has already replaced sofia to px5 though)

Thanks for information! I read them all just now.
[Android Head-Units] Ahmad Quidemat:
I'm the owner of the post at Joying Forums :D

Sorry buddy I have some bad news for this particular situation , I've contacted Joying Support Team today , and it seems the whole unit need to be replaced.

Regards
[Android Head-Units] Wilk7:
Updated my HU to latest 1st Sept version, BUT now my Volume is at Maximum from 1-36 on Radio, Music, etc. I does change a bit if you change the Volume Balance Setting in CarSetttings. Was working fine in all previous ROM's. Will email Joying!!!

I did follow these steps, but sure it must be a firmware fault. I tried to enable, disable Amp setting. Select None, Int, Ext but to no avail.

1. backup data

2. take out all the microsd cards, usb sticks and check them all for errors (some users had problems with data corruption on the cards that they kept in while updating, lead to instability)

3. delete ALL the files from the internal storage (with the default file manager, go to internal storage, select all, delete)

4. wipe the unit / reset the unit to defaults from the settings

5. flash the new firmware

6. wipe it again / reset the unit to defaults from the settings

7. put everything back / reconfigure (I personally prefer not to restore from a Titanium backup and reinstall everything and reconfigure)

8. before inserting back the old microSD cards and usb sticks in the new reflashed/reinstalled unit, make sure that are no files on them from the previous installation (files left over by apps from the the previous installation)

It's always a good idea to start clean and delete the leftovers files that sometimes could be damaged and once you put the back you might encounter problems.
[Android Head-Units] joshnat:
I've had this happen on my VW when the wrong canbus profile was selected. This can happen on its own after an upgrade. If you've got canbus connected try changing the profile in the car settings app.
[Android Head-Units] Wilk7:
Thanks, that saved my day!!! As simple as that.
[Android Head-Units] JobKlimop:
I installed the 1st september update 2 days ago. The volume in the radio app is way louder than it is in spotify.

Also Viper4Android isn't working very well. I have a lot of cracking sounds and after a few seconds the music starts playing at 0.5x normal speed.

As for the GPS fix, the same bug is still there.
[Android Head-Units] edit:
There is a section in the CarSettings app where you can set the volume to the Radio, Bluetooth, Line-In, and so on and there you will find the volume slider on the FMRadio being at 8 while the others are at 5.... change it to 5 and you are done.

Regarding the Viper4Android I wrote more on my Q&A thread from my signature if you want to read the details but basically Viper stopped working corectly on these units since the first build of Android 6 as it worked perfectly fine on Android 5 builds. You can still use some of the Viper functions to enhance the sound but not all.... for instance the Viper EQ section is unusable (music plays at a slower speed, you hear speaker pops, distortions...). My guess is they intentionally broke it somehow to be able to promote their own EQ + new AMP.... or I think too much of them and they are simply bad programmers...
[Android Head-Units] JobKlimop:
Thanks, I'll take a look at it later.

I don't know about the rest of you guys, but Viper worked fine for me on the last Android 6 build.

Right now I don't have to turn anything on except for the "power" and it already distorts like hell.
[Android Head-Units] Wilk7:
Sept ROM, the stock BT Phone App is downloading and dialing the International + digit. At least now BT Phone is useful. Suppose It means I must also change my buttons on this version similar to my other Apps (Video, Radio, Music).
[Android Head-Units] gustden:
I tried installing the Red Music player using Joying Extra Tools ( [MENTION=2550900]surfer63[/MENTION] ) app on the Sept 1 ROM and cannot get it to install. It replaced the file in the system directory just fine. I also tried to install manually, clearing dalvak-cache, etc and still a no go.

Anyone else get this to work?
[Android Head-Units] edit:
Hold on a minute, are you saying that on the September firmware no module on the Viper works, when you turn on (enable) Viper with nothing (no module, function) enabled the sound goes crazy?

I haven't installed the latest firmware yet but in the previous one (July) Viper was still functional with the exception of the Viper EQ section like I mentioned before.
[Android Head-Units] Logicsystem360:
You need to change your sdcard/usb drive by a better :)
[Android Head-Units] Wilk7:
If you mean that it install but the App is gone after the installation: > For some reason it works on my unit ONLY when I first install the default (reinstall) version en then the Modified version. This is works for the Video, Music, Radio and BT mods.

Please don't ask me why, I don't have a clue.
[Android Head-Units] surfer63:
I don't have a clue either. I have tried and tested this with multiple versions of the apk on multiple versions of the ROM firmware. Most of the time it simply functions, sometimes it doesn't.

Some period I simply could not install my own modded Radio app. I have tried several ways of installing and finally came to the current as the most stable and best one. But it still sometimes doesn't function and it is not reproducable (at least not by me) why it sometimes does work and sometimes not.
[Android Head-Units] warata:
Thanks for your advice.

The final conclusion of JOYING support in this trouble was the exchange of units.

Their offer was exchanged only for shipping costs, but I did not want to use a unit that I can not unbrick on my own, so I decided to return the item.:p
[Android Head-Units] gustden:
I did some more investigation on this and it looks like an issue with the signature on the file that is downloaded with the Joying Extra tools.

> apksigner verify JY-1-C9-MUSIC-V1.0.apk

DOES NOT VERIFY

I re-signed it and didn't have any problems after that.

> apksigner sign --v1-signing-enabled -ks ~/.android/my.keystore JY-1-C9-MUSIC-V1.0.apk
[Android Head-Units] surfer63:
And when quickly rigging up my sons Win7 laptop, I get the exact same error.

The weird thing is that quite some Radio mods are derivatives from my own radio mod. Some of those mods do not give that error and others do. Something to with apktool versus simple unzip and updating images?
[Android Head-Units] gustden:
Yes, I resigned it with my own key.

Here is my output when I verify after apktool d / apktool -c b on the original file. (build-tools 26.0.2 on ubuntu / Apktool v2.3.0 )

apksigner verify *.apk
DOES NOT VERIFY
ERROR: res/drawable-nodpi-v4/jiu_list_bk.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK
ERROR: res/drawable-nodpi-v4/jiu_listex_item1_p.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK
ERROR: res/drawable-nodpi-v4/jiu_listex_item1.9.png entry referenced by META-INF/MANIFEST.MF not found in the APK

I checked the and the files are being renamed during the "apktool d {apk}"

MANIFEST.MF - Original

Name: res/drawable-nodpi-v4/jiu_list_bk.9.png

SHA1-Digest: PRyfwC0iIHYj2GB/pShH7i5GYCU=

MANIFEST.MF - RE-SIGNED

Name: res/drawable-nodpi-v4/jiu_list_bk.png

SHA1-Digest: XcNvNHqan+/rmuToqI0aQHTgPoc=

From what I can tell, "apktool d" is stripping out the ".9" . It doesn't cause issues as the android reference does not use the extensions (i.e. drawable="jiu_list_bk" ). If I simply "unzip" the original apk the filenames agree with the original manifest.
[Android Head-Units] surfer63:
Thanks a lot :good: Learning every day. All my radiomods turn out to be missing the signing and a few others mods as well. Currently resigning all apks that need it.

I assume the 5.1.1 Android ROM was more tolerant to these errors, and 6.0.1 improved security (as that is what it actually is).
[Android Head-Units] gustden:
When you install a re-signed apk, you need to make sure the original is uninstalled first, otherwise you may get a signature mismatch error. Just over-writing the original file will show up as an "updated" app. Android will not let you "update" an app with a different signature of the original.

This seemed to work reliably for me:

1. remove the original system file

2. reboot

3. put new signed apk file in directory with proper permissions

4. reboot

The app should be installed and working. I was also able to just remove the original using titanium backup, and just install the new signed app as a user app.
[Android Head-Units] surfer63:
Just checked: none of your sofia server mods is signed ;)
[Android Head-Units] gustden:
The sofia mod cannot be re-signed. It is using a shared user id (1000) and it has to match the rest of the packages using the same user id.

This is why you have to use the "-c" option to just copy the signature information. Here we are lucky all the file name are not changed, and it doesn't seem to check the actual files within the apk have actually change.

It sounds like with android 7 they are again tightening up the rules: https://source.android.com/security/apksigning/
[Android Head-Units] superdave:
Using the extra blob I was able to modify the recovery ram disk and change the keys to the public keys. I then took the temporary twrp update signed it with the public keys, renamed it to 5009_60.zip and rebooted into recovery. The unit starts the update process and then launches into TWRP. Seems to work pretty good, they did mention the frame buffer was off so it can be a bit sluggish. All mounts and terminal work fine. I'm hoping to get a rom with xposed support going.
[Android Head-Units] gtxaspec:
oh my gosh.

that is awesome news. there is also progress being done to replace the poor built in software. New radio app, MCU server, as well as dialer app and SWI/custom key support. Rolling these into a rom that has TWRP/exposed support also would make these unit's pretty awesome.

http://tinyurl.com/ya588ehh

Did you compile your own TWRP? or did you use a pre-existing x86 build? If you can share more info, please do!
[Android Head-Units] luciusfox:
I think what he's doing is packaging the twrp recovery *command* into an update.zip that gets launched by the slightly modified factory recovery (replaced keys).

I think that ideally what we would like is to have the factory recovery image repacked with the twrp recovery command replacing their original one.

HOWEVER, there is a possibility that they (syu) are putting some "don't reboot the MCU" code in the recovery command, in which case we will need to address that before we can trust the new twrp recovery with actual work.
[Android Head-Units] superdave:
I used the one from 4pda, the temporary TWRP launcher. I guess they're using different keys though because I had to resign it. The process was pretty simple. I dumped mmcblk0p10 and then ran umkbootim. I modified the ramdisk manually. I'm not sure that matters, but, it completely changed it if I ran it back through cpio. After that I ran mkbootimg and dumped it back to mmcblk0p10 . I put the files on my github https://github.com/superdavex/joyingsofia. Use at your own risk and all that.

---------- Post added at 09:13 AM ---------- Previous post was at 08:58 AM ----------

Yeah, I haven't had a chance to dig into it yet, but, if you go into recovery without an update it will reboot after a while. With this package and launching TWRP from it, it does not.
[Android Head-Units] newell63:
Hello.

What is the date of the last update for 5.1.1 please ?

Because i'm on 08 december 5.1.1, but i want update...i was thinking update to 6.0.1 july 7, but some people said that 5.1.1 is more stable.

My utilisation is radio, music player,bluetooth phone and music,igo once update i will still use this thing and waze, torque and install the joying extra tool pack to change radio, install viper.

What do you think is best for me (5.1.1 or 6.0.1) ?

Many thanks for help.
[Android Head-Units] gtxaspec:
So with this 5009_60.zip, you could presumably create a replacement system image zip, use TWRP to wipe and flash it over the exitsing /system?

gosh now I need to pull my HU to flash the recovery_new_keys.img!!! Cool stuff.
[Android Head-Units] superdave:
Yeah, pretty much. Why do you need to pull the HU? You can connect over adb/wifi and dd it.
[Android Head-Units] newell63:
Can you give me some advises please ?

Thanks everyone
[Android Head-Units] surfer63:
You can find the latests ROMs always on https://www.carjoying.com/blog/joying-head-unit-after-sale-support/59.html ,both for 5.1.1 and 6.0.1

Like mentioned in the PM: It is completely up to you. Both are stable now and both have some bugs. But the bugs in 5.1.1 will never be corrected anymore, and the bugs in 6.0.1 probably/maybe/hopefully will be corrected.

If you upgrade make sure you make a backup of iGo. The update will remove it.
[Android Head-Units] newell63:
Ok thanks again.

How i do a backup of igo ....?

There is something special i need to do before update to 6.0.1 ? Like reset the unit to avoid bug ?

Or i simply download the last 6.0.1 and it's ok ?

Seriously many thanks for helping me
[Android Head-Units] edit:
If you are using Viper4Android you need to know that it's functionality is severely crippeled on Android 6.... major downside for me.

From the latest information's (what people posted) in the September firmware release it seems that it does not work at all....
[Android Head-Units] newell63:
Now i'm not using viper so if it's not working that's not a problem for me, if the rest is ok.

What about the update process, do i need wipe/reset the unit before flash ?
[Android Head-Units] edit:
You need to follow the steps :

1. backup data /manually copy the iGo folder from the internal storage to an usb stick.... and other files that you need to backup...

2. take out all the microsd cards, usb sticks and check them all for errors (some users had problems with data corruption on the cards that they kept in while updating)

3. delete ALL the files from the internal storage (with the default file manager, go to internal storage, select all, delete)

4. wipe the unit / reset the unit to defaults from the settings

5. before flashing the new firmware make sure that you left the unit off for 30-60 minutes to get cool (unless you have a cooling mod)

6. wipe it again / reset the unit to defaults from the settings

7. put everything back / reconfigure

8. before inserting back the old microSD cards and usb sticks in the new reflashed/reinstalled unit, make sure that are no files on them from the previous installation (files left over by apps from the the previous installation)

It's always a good idea to start clean and delete the leftovers files that sometimes could be damaged and once you put the back you might encounter problems.
[Android Head-Units] newell63:
Ok.

Thank a lot for question about update !

Still need help about my quality reception....it's bad, i've an antenna amplifier from my old Pioneer, i plug it on the blue cable (ant amp) of the joying harness but it not better.

It's plug on the right cable ?

An advise or an other good antenna amplifier ?

Thanks again !
[Android Head-Units] luciusfox:
Updating these units is an *extremely* dangerous process.

These steps *do not* make the process safe.

First of all, steps 4 and 6 are useless. Their "wipe" is an incomplete wipe, and repeating it does not make it more effective, further, this same wipe is performed by the recovery during the system update.

Deleting all the files is also not a useful thing to do, since random files on the internal storage have no impact on the update process.

One thing that you can and should do prior to an update, is to MANUALLY UNINSTALL EVERY SINGLE USER-INSTALLED APPLICATION.

Wipes do NOT uninstall user installed applications, and having them on the storage will significantly slow down the first boot, since the first boot process includes dexopt'ing them all (like precompiling them).

The danger in the update process is this;

The MCU (external processor) on the mainboard is set up to reboot the unit if it doesn't start receiving a heartbeat signal within a certain amount of time.

After 3 reboots, the unit will automatically perform a partial userdata wipe, which means that the subsequent boot will restart the entire process all over again.

If there are too many applications on there to optimize during the first boot, the MCU will reboot the unit all three times before you get a successful first boot.

And then you are stuck, and with no functional recovery to fix things from.

Sometimes, if you are on the edge of "too much" withOUT any external cooling added, you can speed up the process by opening the cover and adding a big fan.

Personally, I won't be running any more updates on any of these units without first installing superdave's test keys recovery, and definitely won't run the update without cutting these two lines out of the updater script;

package_extract_file("fwu_image.bin", "/dev/block/platform/soc0/e0000000.noc/by-name/ImcPartID122");

intel_install_firmware_update("fwu_image.bin", "/dev/block/platform/soc0/e0000000.noc/by-name/ImcPartID122");
[Android Head-Units] surfer63:
You mean after you have used superdave's recovery, as the joying fwu_image.bin would again overwrite the "superdave" recovery partition.
[Android Head-Units] edit:
No, I haven't.

I followed the link but I ended up looking at a bunch of files and I have no clue how to use them, what files to use, what files to choose to assemble a bootable stick and to successfully apply the TWRP, what files to modify if needed, what are the proper steps, maybe what steps are needed to apply after the flash... and so on...

The bottom like is that without that knowledge that I don't have and I keep talking about I don't even have the courage to try out different things till I found the right solution (eventually) because if something goes wrong (and I brick it) I am pretty much sure that I will have a hard time recovering.... again because the lack of knowledge and experience...
[Android Head-Units] luciusfox:
You *DEFINITELY* missed a few words, like you just replied to a message that wasn't even FOR you.

Edit: Probably because your previous message had gubbered up quote tags in it.
[Android Head-Units] superdave:
I kept it vague until I could test it out a bit more. The repo was just a way to save a little time. Most people who would have used it would have been able to create it. I have now added a little more info to it. You don't really have to mess with TWRP. Once you write the new recovery partition you could flash any update.zip without going into TWRP. So we could build safe updates for all to use.
[Android Head-Units] edit:
So I've upgraded to 1Sept firmware mostly for the [MENTION=3076686]gustden[/MENTION] new and improved No-Kill custom keys more to find out the following :

1. Viper4Android is still working but it's even more crippled then in the 7July version of the firmware- the spectrum extrension does not work anymore for instance

2. The PMICTEMP suddently is readable again like it used to be in Android 5

3. The splitscreen function does not work anymore even if I replace the Joying default Settings.apk and Settings.odex with the ones from the 5009_60.zip archive - like we did till now and worked fine

The Settings.apk crashes once you enter the developer menu trying to modify settings.

4. Music mutes while you ask Google a question (in Waze also)... like is should behave (previously the music was still playing while you were talking to Google )

5. GPS signal strength does not seem to fluctuate that much, seems more stable - what do you guys think?

With this release, we kinda getting closer to what Android 5 used to be... but we still don't have the full functionality of Viper4Android...

Can anyone help us please and figure out why Viper4Android does not work 100% and why we can't use the splitscreen anymore?