yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] ikuznets222:
It's OK to update with Kingoroot installed because the update will erase your /system partition along with all Kingoroot components. My FW includes the Superuser so you needn't worry. But your FW is already May-level so you're not likely to see any improvement (other than the assumption that Kingoroot may have interfered with some chinese system stuff). So go ahead install that or try something even newer, like July version (btw it was specifically for Grand Cherokee) from here: https://cloud.mail.ru/public/5pzc/CzVDRALo8

Also you didn't provide your carNum, that's currently selected on your unit. It appears either in settings dump (I posted cmd earlier), or you can tell me exact name selected in MCU settings (behind the password). When you select your car on this unit (the list for selection is taken from CarNumList in customer.xml) some corresponding number is recorded in settings DB. I can use this num to identify which customizations are done in java code for this particular carNum. There may be other Jeep types out there that suit your car better.
[Android Head-Units] Cimation:
Thank you.

The car in the MCU list is Cherokee H (there is cherokee L and cherokee H if my memory is good. The only difference at my level is the air conditioning interface: in the H version, I have the buttons for the ventilated seats. But they do not work). I seem to remember that the number is 13 (you mean the number to use in customer.xml or something else?)

Ok to try the "Grand Cherokee" version (sorry but which version should I download? There are 5 versions). But unfortunately this may not solve the amplifier problem. This original option on the vehicle is rare and I don't think it exists on the Grand Cherokee). I have the intermediate Cherokee as in the picture of my profile.
[Android Head-Units] ikuznets222:
This code fragment from EventService is applicable to your case:

} else if (this.mCanCarType == 47 || this.mCanCarType == 48 || this.mCanCarType == 97 || this.mCanCarType == 98) {
if (this.mAirSupplierID == 3 || this.mAirSupplierID == 7) {
startService(new Intent("com.szchoiceway.canbus.Jeep.BGJeepService"));
DebugLog.d(TAG, "CARTYPE_jeep Cherokee BG");
} else if (this.mAirSupplierID == 12) {
startService(new Intent("com.szchoiceway.canbus.Jeep.SPJeepService"));
DebugLog.d(TAG, "CARTYPE_jeep Cherokee BG");
} else {
startService(new Intent("com.szchoiceway.canbus.Jeep.JeepService"));
DebugLog.d(TAG, "CARTYPE_jeep Cherokee rzc");
}

CarNums you can experiment with:

public static final int CARTYPE_Cherokee_HI = 48;

public static final int CARTYPE_Cherokee_LO = 47;

public static final int CARTYPE_DAQIE_HI = 98;

public static final int CARTYPE_DAQIE_LO = 97;

Remember that for them to be selectable they must be on the CarNumList in customer.xml (update procedure will replace this file because it's inside /system partition). You can actually keep only these 4 nums on the list.
[Android Head-Units] Cimation:
Okay. I just tried to set the MCU to DAQUI H and DAQUI L.

The result is strange....

In both cases, when I go to Console, there is now an instant reading of the CanBus parameters (before that was not the case, it was very random or I had to wait for the head unit to start completely before starting the car). So on this point it's positive.

For the amplifier parameters on the other hand, it's a bit of a mess: -)

It tells me that it is activated but in reality it is not. In both cases, I cannot change the volume of the amplifier (not the volume of the head unit). And when, for example, I change the sound adaptation setting to the vehicle speed, it skips the surround setting (or vice versa). I can also set the "comfort" mode (the amplifier adapts if the windows or sunroof is open to deliver a sound suitable for this situation) but I can't switch the amplifier to ON or OFF. And it seems to me that once I close the console menu to listen to music or radio and then come back, it seems to me that the settings go back to the initial state (not sure I have to do more tests).

In any case, the amplifier with the DAQUI H and DAQUI L choices is never activated even if the console menu tells me that it is.

Finally last observation at this stage: the reading of the mp3s jumps a little (whereas in Cherokee L or H setting, it works well)

I will do more tests tomorrow (here it is late -) and if I have time tomorrow I will try the software update if you think it might be useful.

Thank you again (by the way I am very impressed by your level of knowledge of the system. If a solution is found, I will sincerely be in favor of paying your precious help if you accept it. All work deserves a salary).

See you soon

ps: I didn't understand about the lines of code.... do I have to do something with it?
[Android Head-Units] ikuznets222:
Those lines of code were just to demonstrate the only place in EventCenter that actually references Cherokees. I don't know what Daqie is other than it's partly compatible with Cherokee (most likely it's Grand Cherokee).

OK, at this point you just upgrade to May or July and observe how your amp behaves after that. Do the settings dump after reboot and after setting up your presets on the amp like I mentioned above - we can see if there's a difference.
[Android Head-Units] ramathorn1982:
Hey, can I jump on the bandwagon and have you ask two questions for me on the Russian forum? Those guys are very knowledgeable and I have applied many of their customizations and fixes, but I can't search their forums because I don't know the language. If you're up for it and think they may have an answer please let me know. My vehicle is a 2014 RAM 1500, my issues are :

1. I soldered in a new microphone for Bluetooth directly to the board where the old internal microphone resides but it doesn't work. Is there another location on my specific radio that I can feed in a two wire microphone?

2. Anytime the headlights are placed in auto the headlights turn on regardless of the light sensor and the screen dims. Essentially the "auto" position of the headlight selector switch just functions as another "on" position. Is there a fix/setting to correct this?

My radio info (see pic)
[Android Head-Units] ramathorn1982:
Mine is the same way. There is not a way to speed up that start time that I'm aware of.
[Android Head-Units] ikuznets222:
I'm not an expert in microphones but this topic has been extensively discussed on 4pda. You can search using the word "микрофон". Let me know if you need help translating. Regarding headlights I'm afraid it's the way chinese implemented this. Canbus interaction is a dark territory, and there's a possibility of car differences between markets (chinese only reverse engineer canbus on cars available to them)
[Android Head-Units] Cimation:
Hello hello ! I hope you're well !

I'm going to try the update today and I'd like not to do anything stupid :D

Q1: Which version of the firmware should I use in the choices provided on this page (https://cloud.mail.ru/public/5pzc/CzVDRALo8). I downloaded this one: Не запакованная запакованная update_20180702B-Ver1.0.0.0.chwy-860B-EN+ROOT.zip. Is it right?

Q2: We agree: I place this file on a blank FAT32 formatted USB stick and launch the head unit?

Note: I understand that I have to save my customer.xml file before updating

Thank you very much
[Android Head-Units] ikuznets222:
Yes, but unzip it to just update.img (approx 736MB). Launch your unit as usual, wait about 5 mins for everything to settle, then insert your USB - it will find update automatically and offer to flash. Remember to save all your curr. settings and customer file
[Android Head-Units] Cimation:
Thank you Garry.

I downloaded the already decompressed version

Last 2 questions for today after I don't bother you anymore:

Q1- I see a FR version (vs. EN) in the list? Is it the same with French?

Q2- For the parameters, are you talking about those set in menus 7890 (information), 8861 and advanced parameters? Anyway, can I settle them again after that?

Thank you.
[Android Head-Units] ikuznets222:
No idea what you're talking about - no special FR or French version that's for sure. But I didn't cut out any languages so they are all available once installed. The params you should keep just in case something goes wrong and to have a reference point if you reset to factory settings at some point. The update is not supposed to change any settings but who knows.
[Android Head-Units] Cimation:
Okay, thanks a lot. Well, frankly, I don't know how I can save any reference points....

I cross my fingers and go for it!

I'll keep you informed.

Thank you
[Android Head-Units] ikuznets222:
- save /system/app/customer.xml file to usb

- make photos of all settings screens

- save /data/data/com.szchoiceway.eventcenter/databases/SysVar.db to usb (most settings are inside this DB)

That's the point of reference for anything that goes wrong. You can install any FW and restore your original settings using the information above
[Android Head-Units] marcus82:
anyone has the problem that any configuration like root, usb right ford DAB etc are lost after shut down of the car?
[Android Head-Units] Cimation:
Hello,

So that's it, it's done.

I have not encountered any problems to make the update (fast)

After checking, it has settled in well (Information Menu 7890).

No parameter modified on my configuration outside the customer.xml file

Alas:

1- No improvement for canbus settings via console menu

a) The reading of the canbus parameters is not done at startup (everything is at zero, I have to change 1 manually to see the others updated) (As a reminder, when I choose the DAQUI L or H (Grand Cherokee), the parameters are read immediately. On Cherokee H, it has never been)

b) The amplifier parameters can be modified live (and functional) but once the system is switched off and restarted (after complete electrical shutdown), the parameters are lost

2- I did a manipulation from which I can't get out because I don't have the password: seeing the new customer.xml file, I saw the list of all the themes I didn't have. I wanted to play with that a little bit and found myself on a "blackUI2" + BlackTheme. Unfortunately... now the password to access the Information menu is no longer 7890, so I can't get out of this theme anymore :(

By the way, regarding the customer.xls file, in mine the "CustomerNum" was 13. I just changed this number in the new customer.xls file. This has nothing to do with my blocking problem mentioned above, but it's just for information.

By the way (I hope you still have the right password so I can find a correct theme ;) everything else works as before. No bugs.

Thank you very much.

ps: an additional question for my knowledge: is there a relationship between the value of "CustomerNum" in the customer.xml file and the MCU version of the vehicle? Because I see at the end of the customer.xml file the "CarTypeNumList" list and yesterday you told me that the Jeeps had the following possible numbers: 48,47,98,97

In my case, the customer.xml file has always been set to 13 by default.

Just in case....

Thank you.
[Android Head-Units] ikuznets222:
CustomerNum has no relation to CarTypeNum but together they influence how UI will look like which climate theme is selected etc. CustomerNum is a plant or reseller that the unit was prepared for. CarTypeNum is your actual car model. Both CustomerNum and CarTypeNum have no relation to MCU at all, as MCU is a separate micro-computer inside the unit. Android has no knowledge of MCU and they communicate over serial port.

OK, in your case it's time to make modifications to EventCenter. It's a little trickier than I though. Find the file EventCenter/smali/com/szchoiceway/eventcenter/EventService$3$1.smali. Inside find onCmdMcuInitEvent procedure:

.method private onCmdMcuInitEvent([B)V
.locals 1
.param p1, "bydata" # [B

.prologue
.line 3920
iget-object v0, p0, Lcom/szchoiceway/eventcenter/EventService$3$1;->this$1:Lcom/szchoiceway/eventcenter/EventService$3;

iget-object v0, v0, Lcom/szchoiceway/eventcenter/EventService$3;->this$0:Lcom/szchoiceway/eventcenter/EventService;

invoke-static {v0}, Lcom/szchoiceway/eventcenter/EventService;->access$8000(Lcom/szchoiceway/eventcenter/EventService;)V

.line 3921
return-void
.end method

Remove only this line:

invoke-static {v0}, Lcom/szchoiceway/eventcenter/EventService;->access$8000(Lcom/szchoiceway/eventcenter/EventService;)V

It's a cross reference to InitSoundValue procedure in EventService.smali

Then rebuild the apk using the command: "apktool b -c EventCenter" where EventCenter is a folder created by apktool during unpacking. Transfer the file to unit any convenient way (I usually put uploads to /data/local/tmp), make sure unix permissions are set as 644. Then unlock /system (mount -o remont,rw /system) and replace file. Lock system back in (sync; sync; mount -o remont,ro /system) and reboot.
[Android Head-Units] ramathorn1982:
Thanks for the search term! I really appreciate it! If I can't pay you back I'll pay it forward!
[Android Head-Units] Cimation:
Thanks for all this, I'll look into it (maybe I'll have a question to recompile or about the Unix permission...)

What about my situation? I'm stuck with a horrible theme, I can't even access the "file management" application anymore and I tried all the passwords on the 4pdr.ru website: -(

Thank you
[Android Head-Units] ikuznets222:
Why do you need file manager to change theme? First place your saved customer.xml file back. I told you before it would be replaced with an update. Then after reboot you'll have your customerNum=13 and all your themes.
[Android Head-Units] Cimation:
Okay. I was asking for the file manager because I have access to the locations where the files are located, even the root... For example, for the.smali file to be modified, I can replace it manually? (or I didn't understand anything, but I did the same to change the radio to a black theme, etc.)

The problem anyway is that I no longer have access to the Information menu that opens with password 7890. This password does not work. And 8861 no longer works also via the other access

---------- Post added at 02:23 PM ---------- Previous post was at 01:57 PM ----------

Here it is: I just did this:

To access File manager I went through CarLauncherAG to access the applications (because in this horrible interface I now have, some buttons in the usual menu are no longer linked to the applications).

Then I pasted my customer.xlm backup file back to the same location (system/app/here).

I restarted but nothing works. When I go to the Information menu and try to enter the parameters (the place where you choose for example the type of vehicle and where you choose the interface), I can no longer do so, the password 7890 no longer works : -(
[Android Head-Units] ikuznets222:
you said you could read 4pda. Possible passwords: 8861, 1688, 666888, 8888, 1680,7891,7890. They are dependent on current CustomerNum.

https://4pda.ru/forum/index.php?act=findpost&pid=67950365&anchor=Spoil-67950365-34
[Android Head-Units] Cimation:
I've tried all these passwords. None of them work

My CustomerNum is 13
[Android Head-Units] ikuznets222:
OK, install android terminal and confirm you have root (su command). Then type "cat /system/app/customer.xml" and post the output

Also I think it's becoming tedious for people to read so I suggest we move to private messaging.
[Android Head-Units] Cimation:
1) I'm going to look like an idiot but... I don't know how to do that:(

2) Yes, I understand and I'm sorry about that

3) In the list there is 1 password that I didn't try it is 1680. But it doesn't match client 13. I'm going to try it anyway.

Thank you
[Android Head-Units] ikuznets222:
Right now your customer is not 13! because you've installed the update that contained a different customer.xml from your original. Your current customer number can be identified by running the command above.

android terminal topic: https://4pda.ru/forum/index.php?showtopic=164972 or google play
[Android Head-Units] ramathorn1982:
If I may interject. The RAM Trucks use a similar Alpine Setup paired with the 8.4 radio. There are many threads regarding the difficulty of modifying the stock Alpine System. Many opt to bypass it completely when going aftermarket and run new wiring to the speakers (after they have been replaced too).

The May firmware update is very good in my opinon. Super stable and much faster then my previous update which I think was from December 2017.

---------- Post added at 02:49 PM ---------- Previous post was at 02:35 PM ----------

I'm liking the conversation. Keeps the thread alive and you are transferring A LOT of knowledge from the Russian forum to here.
[Android Head-Units] Cimation:
All right, Garry.

So I will install Terminal Emulator

But since I've already tried all the known passwords (apparently?), I'm pessimistic (at the same time I don't know much about it)

Thank you

---------- Post added at 04:33 PM ---------- Previous post was at 04:32 PM ----------

Could someone tell me what SuCommand is? (Super User? But what should I do?)

Thank you
[Android Head-Units] Cimation:
Hello,

I installed Terminal Emulator

I typed the command line: cat/system/app/customer.xml

Answer: not found

Photo attached.

Thank you
[Android Head-Units] ikuznets222:
It's not the command I provided. Where's space between cat command and its argument?
[Android Head-Units] Cimation:
Okay, sorry, I'll start again without the quotes....
[Android Head-Units] Cimation:
I get as a result the exact content of the customer.xml file:

<?xml version="1.0" encoding="utf-8"?>

<customer name = "长河伟业">

<item name = "AppVersion" value="20180518B-Ver1.0.0.chwy-860B-EN"></item>

<item name = "CustomerNum" value="13"></item>

<item name = "UIStyleStrList" value="ZF UI,Online UI,CHWY UI NEW"></item>

<item name = "UIStyleNumList" value="18,25,37"></item>

<item name = "NavBarStypeStrList" value="ZF Theme,Online Theme,CHWY Theme New"></item>

<item name = "NavBarStypeNumList" value="18,25,37"></item>

<item name = "ATSAutoSwitchCanAUX" value="1"></item>

<item name = "XFYCanBoxEnable" value="0"></item>

<item name = "CarTypeNumList" value="0,1,2,3,4,9,10,11,12,13,14,19,20,21,22,23,24,25...377,379"></item>

</customer>

This file is the original one (before the update - only 3 themes available)

This is the file I put back in place after making an unfortunate theme change (I had tried other changes just before without any problem)
[Android Head-Units] ikuznets222:
OK, with this configuration your passwords are 8861/7890. But if they don't work, just install any custom launcher (apex, nova will do) select it after reboot when it asks whether to choose index or custom launcher (just don't select "always" option). You will have shortcuts to factory and advanced settings right on your launcher screen. They'll work without any password. Then upload a copy of your current /system/app/NaviSettings.apk so that I take a look what's wrong with passwords.
[Android Head-Units] Cimation:
The NaviSettings.apk application is too heavy, I'm uploading it to a server, link in next message

---------- Post added at 06:16 PM ---------- Previous post was at 06:10 PM ----------

Link to download : www.simaje.com\NaviSettings.apk

Thanks
[Android Head-Units] ikuznets222:
Amazing, new set of passwords in this one!

boolean isValidUserFreq() {
String CodeStr = "8861";
int customerType = this.mSysProvider.getRecordInteger(SysProviderOpt.SYS_CUSTOMER_TYPE_KEY, 0);
if (customerType == 1 || customerType == 19) {
CodeStr = "1688";
} else if (customerType == 4) {
CodeStr = "666888";
} else if (customerType == 7) {
CodeStr = "8888";
} else if (customerType == 5) {
CodeStr = "1680";
} else if (this.mUINumber == 71) {
CodeStr = "9300";
} else if (customerType == 84) {
CodeStr = "456789";
}
if (CodeStr.equals(this.mUserInputFreq)) {
this.mPassWordOK = true;
return true;
}
Log.i(TAG, "Code error");
this.mPassWordOK = false;
return false;
}

MCU settings:

boolean isValidUserFreq() {
String CodeStr = "7890";
int customerType = this.mSysProvider.getRecordInteger(SysProviderOpt.SYS_CUSTOMER_TYPE_KEY, 0);
if (customerType == 1 || customerType == 19) {
CodeStr = "1799";
} else if (customerType == 7) {
CodeStr = "8888";
} else if (customerType == 5) {
CodeStr = "1688";
} else if (this.mUINumber == 71) {
CodeStr = "7211";
} else if (customerType == 84) {
CodeStr = "123456";
}

As you can see the default password is still 8861. Try other ones as well.

Can you also show me unix permissions on customer file? Cmd:

ls -la /system/app/customer.xml
[Android Head-Units] ikuznets222:
New set of passwords there:

MCU/Factory:

boolean isValidUserFreq() {
String CodeStr = "7890";
int customerType = this.mSysProvider.getRecordInteger(SysProviderOpt.SYS_CUSTOMER_TYPE_KEY, 0);
if (customerType == 1 || customerType == 19) {
CodeStr = "1799";
} else if (customerType == 7) {
CodeStr = "8888";
} else if (customerType == 5) {
CodeStr = "1688";
} else if (this.mUINumber == 71) {
CodeStr = "7211";
} else if (customerType == 84) {
CodeStr = "123456";
}

Note that black UI (71 theme) now requires special password.

Advanced settings:

boolean isValidUserFreq() {
String CodeStr = "8861";
int customerType = this.mSysProvider.getRecordInteger(SysProviderOpt.SYS_CUSTOMER_TYPE_KEY, 0);
if (customerType == 1 || customerType == 19) {
CodeStr = "1688";
} else if (customerType == 4) {
CodeStr = "666888";
} else if (customerType == 7) {
CodeStr = "8888";
} else if (customerType == 5) {
CodeStr = "1680";
} else if (this.mUINumber == 71) {
CodeStr = "9300";
} else if (customerType == 84) {
CodeStr = "456789";
}
[Android Head-Units] Hammerhand.17:
I've had the same issue with black theme too, getting rid of it is simple: just install another launcher (ex. Nova), access to system settings and change the theme. Now the password wow be the same again.

Don't know why this theme doesn't accept the default password.
[Android Head-Units] ikuznets222:
See code snippets above. Black UI now requires a separate password
[Android Head-Units] Hammerhand.17:
Ok, didn't see your response before answering.

Another question. I updated my Mondeo unit with latest firmware (I think it was a Jeep one), and didn't restore customer.xml, but everything seems to work fine. Is it possible? Will I notice any improvement if I restore the file? Will I lose access to the other themes?
[Android Head-Units] ikuznets222:
Yes it's totally possible. Remember recent discussion on DAB options. Those are only available for customerNum=13. And this customer number doesn't cause any immediate side-effects. You see, in code customer number is used for lots of little customizations but they're mostly theming and climate control looks. It's like the chinese prepared a special looking version for each plant according with their requirements.

You don't need to restore your file, but you can add all the missing themes in your current file.
[Android Head-Units] Hammerhand.17:
MMM. Been reading, but don't figure out what DAB means, sorry.
[Android Head-Units] ikuznets222:
DAB is digital audio in Europe, FM replacement. Some headunits come with a special dongle for reception. A question was asked here - how to activate and see DAB options in settings (after I mentioned I've seen them in java code)
[Android Head-Units] Hammerhand.17:
Ok, I lost myself for a while. I knew that was DAB, but didn't know how it was related to our discussion, so I thought that it was anything else. Now I understand, thanks.
[Android Head-Units] Cimation:
The good password on my side was 7211.

I was able to regain control, for the interface it's fine (7890 and 8861 are working again)

Ok for the Unix permission, I'll do it tomorrow and send you the result!

On my side tomorrow I'm trying to modify the EventCenter code according to your recommendations, I'll tell you what it looks like

Best Regards