yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] Xcaptain:
Anyone here got this unit installed on a Toyota? Do you have the car door info, rpm/speed, vehicle specific options working?

I made an impulse buy last year when an ‘Android 8 Tesla Style PX3’ popped up in a relatively new Aliexpress reseller. More of curiosity, perhaps than impulse, since I was coming from an Allwinner unit, and wanted to find out what’s the difference between the two.

Turned out it’s an Android 6.0.1 unit. Factory reverse camera didn’t work out of the box (had to lower the current to 6V, patch some wire). Claimed a dispute, won some money back, and I get to keep a unit at a steep discount.

What works:

- All A/C control

- Steering wheel control

- Factory reverse camera

- Partially, USB Dash Camera (more on that below*)

- Bluetooth connection to phone

- Airbag indicator LED

- GPS

- FM Radio (never tried AM, never again.)

- Sound come out of the speakers.

- Carplay/AA USB Dongle

- Powered USB Hub

* Windshield-mounted USB Dashcam connects through the USB hub. The only place where camera feed can be seen is from the Sygic Dashcam recording feature. But perhaps due to the vertical screen, the image is flipped 90º to the right. No Signal detected from the unit’s own Dash, or camera feature, except the factory reverse camera.

What does not work:

- Canbus/OBDII info: car door, speedo, tacho, OBD reverse (from option).

- Car radar — this maybe the car’s own radar system, which is separate from the ECU, not the Toyota Clearance Integrated System found on higher end models.

- USB thumb drive mounts, but no files were shown.

Pardon the long post, and thanks for reading.
[Android Head-Units] ramathorn1982:
Short answer is no, that won't work.
[Android Head-Units] Hammerhand.17:
Hi again. Everytime I boot my unit, the watch is delayed one hour; it doesn't matter if I use the automatic settings, or not, but if automatic hour & timezone are activated, the time is corrected after a while if I have internet connection; can't find the way to put the hour correctly.

One more: is there a way to make an app start with android? I have installed blackplayer too, and I have set tasker to launch it when boot is completed, but it last at least 30 seconds after the complete boot; do you know any way to make it boot faster?

The last one: have anybody try to use magisk better than supersu to root? (to get some of the modules working, like viper).
[Android Head-Units] marcus82:
To root use kingroot. Yes me too I've hour issue

Inviato dal mio ONEPLUS A6003 utilizzando Tapatalk
[Android Head-Units] Hammerhand.17:
Yes, I'm already rooted. Just wondering about the possibility of using magisk and its modules
[Android Head-Units] marcus82:
I don't know... sometmies I have the issue that when I launche app like radio ANDROID ask me to allow the root..

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

but..I'm the only one who's looking for the right solution for the whitelist?
[Android Head-Units] Hammerhand.17:
No, it's in my to-do list too, but I need some time to figure out how to do it.
[Android Head-Units] marcus82:
we can try together
[Android Head-Units] Hammerhand.17:
My job makes my effforts unstable, so I think you better try for yourself, if I make any progress I will share here.

[MENTION=8668875]ikuznets222[/MENTION] I'm trying to search in 4pda thread, but I don't know if I understand the wors russian or google translated page. I see that somebody got viper4android installed, but can't find the way to; and I have installed xposed and get a bootloop; I see that some of you got to the same point, but don't know if anyone went further.
[Android Head-Units] ikuznets222:
No way to install xposed on this firmware as they obviously customized app_process which is replaced by xposed's own version. I found this looking at text strings inside the binary:

strings app_process | grep choice

ro.choiceway.checked

Translated step by step for Viper:

(from https://4pda.ru/forum/index.php?showtopic=877711&view=findpost&p=69714035)

1) mount -o remount,rw /system

2) create /system/bin/sysinit (i.e. with "touch /system/bin/sysinit")

3) insert these lines into sysinit file:

#!/system/bin/sh
export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
/system/bin/logwrapper busybox run-parts /system/etc/init.d

It's possible to add lines to sysinit file on command-line one by one, like this:

echo '#!/system/bin/sh' >> /system/bin/sysinit
echo 'export PATH=/sbin:/system/sbin:/system/bin:/system/xbin' >> /system/bin/sysinit
echo '/system/bin/logwrapper busybox run-parts /system/etc/init.d'

then check the result:

cat /system/bin/sysinit

4) chown root.root /system/bin/sysinit; chmod 755 /system/bin/sysinit

5) (for those who have Superuser, Kingroot may have a different init script)

insert these lines into /system/etc/install-recovery.sh script right after the string "/system/xbin/daemonsu --auto-daemon &"

#init.d scripts integration
/system/bin/sysinit

6) create directory "/system/etc/init.d" like this:

mkdir /system/etc/init.d

chmod 755 /system/etc/init.d

7) create file /system/etc/init.d/50viper.sh with the following content:

#!/system/bin/sh
/system/xbin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"

8) chown root.root /system/etc/init.d/50viper.sh; chmod 755 /system/etc/init.d/50viper.sh

9) sync; sync; mount -o remount,ro /system; reboot

10) install Viper4Android from this topic:

https://4pda.ru/forum/index.php?showtopic=405989

11) after reboot open Viper app and activate various options
[Android Head-Units] Hammerhand.17:
Wow it's a complicated prices. Will try it as soon as I can. Did you read my post about the hour issue and the autostart of another audio app?
[Android Head-Units] ikuznets222:
just remove Supersu.apk from /system/app if you don't want confirmation messages.

---------- Post added at 09:55 PM ---------- Previous post was at 09:45 PM ----------

No idea about the clock - it's usually ok for those who live in well established time zones (like Moscow). We suspect some chinese code may be doing bad things in background, like that GPS section in settings.

You can launch any package using "am" command from install-recovery.sh or sysinit scripts:

https://stackoverflow.com/questions/4567904/how-to-start-an-application-using-android-adb-tools

like this line:

am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName

But you'll have to dig activity/package names from apk
[Android Head-Units] jcmiro:
$10 paypalled to anyone who can send me instructions on how to get a Toyota 2009 Land Cruisers steering wheel buttons to work. The only one that works at the moment is fast fwd-next which translates to previous or start from the beginning again on the unit.....I have literally no wiring experience and there are no good shops in my area. $5 to show me how the brightness setting work....So far I can only change the night time settings manually, daytime does nothing, and the third icon on the top left does nothing when i toggle between the three settings.
[Android Head-Units] marcus82:
on my focus 2015 also swc does not work... these chinese HU are compatible only with a few versions of our car I think.
[Android Head-Units] Hammerhand.17:
How is your MCU wiring? Key or key2?
[Android Head-Units] marcus82:
I tried all configuration and I crated a connector cause of I need an adaptor..this hu WORKS FINE on the previous version of ford sync.
[Android Head-Units] Hammerhand.17:
I had problems with it in my Mondeo too, and had to cut the "key" wire from my MCU and collect it to "key2" in the unit. Then try with low-z and hi-z settings. Double check that no pins in the connector is bended, because one was bended for me, and everything worked perfectly except s steering wheels buttons.
[Android Head-Units] jcmiro:
ive seen them work on youtube videos with my exact car.. that is why i ask......im pretty sure im doing something wrong....just need someone to guide me with what wuire connects where. because i see a lot of cables without connections to the car...
[Android Head-Units] marcus82:
So now the sec works fine on your car? Do you have a pic of your key of mcu?

Inviato dal mio ONEPLUS A6003 utilizzando Tapatalk
[Android Head-Units] Hammerhand.17:
Yes, it works indeed

Sorry, I have not photos. You have to cut the wire "key" (it's brown in my unit) that comes from the connector of the car, and attack it to the wire "key2" instead (orange in my unit, it's cut already). Just to make sure that I am making myself clear (English is not my mother language): the brown wire from the connector ("key") will now be connected to the orange wire to the unit (named key2).
[Android Head-Units] marcus82:
Ok I'll check my connection.

Regarding the previous post, I haven't supersu apk

Inviato dal mio ONEPLUS A6003 utilizzando Tapatalk
[Android Head-Units] Cimation:
Tesla style HeadUnit Jeep Cherokee AMP Alpine settings

Good morning, everyone,

New on this forum, I have been looking for several months for a solution to the following problem, maybe one of you has already met the same:

Android TeslaStyle System (PX3 - RK 3188)

Car: Jeep Cherokee KL with original Alpine amplifier

Everything works, except for this: The settings on the Canbus concerning the original amplifier are not saved and are lost each time after stopping the car completely and then restarting :(

I would like to point out that:

1- I access the CanBus parameters via the CONSOLE menu (automatic headlight switching for example)

2- That I have a complete menu accessible for the original Alpine amplifier (balance, volume, surround mode, AMP switch, etc.)

3- That when I adjust the parameters by hand, the sound is fantastic and goes through the original amplifier (for precision, on this Jeep and with this amplifier, the sound goes directly through the canbus)

But here it is... once the car is switched off (once the complete power supply to the system is switched off), the amp settings are lost and I must therefore restart each time I restart, restart by hand all the settings :(

[the settings concerning the amplifier, because for the other parameters, it works ! example : the daytime diodes)

If someone has an idea or has already heard about this problem....

Thank you in advance!
[Android Head-Units] ikuznets222:
I can repost your question on 4pda.ru in Russian if you want. There are quite a few people with Grand Cherokee out there. Let's see if anyone has come across the issue. What model year is your car and where was it released? (I mean for which markets)
[Android Head-Units] Cimation:
Thank you very much, that's nice of you.

It is a Cherokee from 2017 (2016-2017), European market (I am French but I live in Morocco for work. Cars in Morocco are very often the same models as in Europe).

Thank you again!
[Android Head-Units] ikuznets222:
OK, I just received reply on 4pda that those who installed firmware from May 18 (https://cloud.mail.ru/public/74Gk/K...511A-Ver1.0.1.carcool_860_EN_1024 + ROOT .img) don't experience any resets of settings. Also check if your unit is connected correctly to the car. Actually the power to car socket never disconnects, so any headunit is always powered even if you park your car and leave (hence the clock on native units doesn't get reset). Turning the unit off and on is controlled by a special +12V line called ACC. Sometimes people install their units incorrectly so they get powered by this ACC +12V instead of yellow +12 BATT line.

PS just before flashing - save your original /system/app/customer.xml and make photos of all 3 sections of settings
[Android Head-Units] Cimation:
Thank you Garry ;) (I saw the exchange on the Russian site I know but on which I can't create an account).

I asked myself the question about the power supply wiring of the system. I have 2 important questions about this (before going through the "May firmware installation" step):

1- If my system was poorly connected (I'm talking about the power supply), why are the radio stations (for example, but this applies to other parameters) not lost after stopping and restarting the vehicle? That being said, apart from this observation, I have the feeling that my system is completely disconnected from the battery when I stop the vehicle... Would the radio station settings be saved somewhere in this case?

2- Do you know where I could find the wiring diagram of these units (pictures maybe?) so that I can check if I am indeed connected to the ACC "everywhere" without staying "somewhere" connected also on the yellow permanent connection wire 12+? On this subject I have a question for example: should the canbus box that acts as a relay between the system and the car remain powered at all times even when the vehicle is stopped?

Many questions, I sincerely apologize for that, but I spent months on the websites without finding a clear answer. And as I told you, I never managed to register on 4pda.ru (with the Russian language, I didn't find a way to do that).

Thank you again for your help, it is very appreciated.

Best regards
[Android Head-Units] ikuznets222:
1 - radio stations may be saved in MCU memory which is non-volatile. It's been a while since I've looked at radio java code, so I don't remember exactly how it's done in this case. I think here you have some grid of stations in the upper part which is replaced with pre-defined values on each start. And 5x favorites which is saved along with all unit settings on internal flash and restored on each start. Those are non-volatile.

2 - you're not getting any wiring diagrams or any documentation ever - chinese are so much afraid of piracy from other chinese ) So they usually provide a unit which they think is totally ready for production and requires no modification. But you can still trace your wiring using the diagram of your car connector. Usually +12 BATT is thick yellow which is Y-split to both unit itself and canbus adapter (external type). ACC is thin red which usually goes out of canbus adapter (it reads canbus, identifies if ignition is on and raises +12 on ACC pin). But there may be more severe cases, especially with these teslas as canbus adapter can be internal (inside display module) and no pinout on the unit lid.

Typically when you see clock reset to 3:00 at each start (even temporarily before NTP corrects the time) that means your power is totally disconnected and that needs further investigation. The reasons can be different, not only messed up pins.

If you need account on 4pda I can create one - just PM me details like desired user name, email etc. Or better send me a screenshot of Russian handwritten captcha. If I'm at my computer (which is often the case) I can translate it before it expires
[Android Head-Units] Cimation:
1- Okay, I understand, it's like a rewritable ROM every time. So it works for radio since I don't lose the favorites

2- Okay. I confirm that my Tesla HeadUnit is in 2 parts with external canbux box. From memory, it seems to me that I am good with the yellow cable that makes a Y: big yellow cable and thinner yellow cable to the canbus box. However, I don't remember a red cable. But he must be there.

So I have 2 options: a) try to load the new firmware / b) reopen the whole system to check my wiring. The problem is that once in front of the cables... I'm going to swim a little bit:)

About the time, my system, every time it restarts, is at 12:59. And after starting the system, it takes the time of the internet network (I have a wifi router in the car).

May I ask your opinion on the approach to take with these elements? Install the modified 4pda software or open to check the wiring?

For the account on the 4pda website, I would like to send you the information in a private message, it will be easier because we have a big time difference I think:) And it will save me from bothering you even more, it's already very nice of you for all this help.

A very big thank you!

ps: I add this: the system supplier had told me that maybe I should reverse the red cable with the yellow... maybe an explanation track
[Android Head-Units] ikuznets222:
I'd start with wiring. Firmware has nothing to do with this behavior.

It all depends on layout of your car connector (ISO). Grab a diagram somewhere on the net. It's 100% it has constant +12V (thick yellow) and ground (thick black). Check without headunit if +12V stays on when you switch off the ignition.

There may or may not be an ACC-pin right there on ISO. Even if there is one, chinese often (not always) provide ACC as output from canbus adapter. It works like this: canbus adapter reads ignition commands on the bus and brings up +12V on thin red. Thin red ACC from canbus adapter MUST be connected to ACC-input pin on headunit. No short circuits between +12 BATT and ACC must be allowed (like those used to start these units at home with power supply).
[Android Head-Units] Cimation:
I confirm that the 12v Yellow remains well powered once the car is switched off, the test was done at the installation. And I remember that another cable had been tested that was no longer powered once the car stopped and the door opened (because the vehicle keeps the current on this "other color" wire for 10 minutes (canbus parameter that I can modify and that remains registered!).

Ok, I'll try this track.... Thank you very much

ps: But since the time is not maintained correctly, it is obvious that there is a problem with the power supply..
[Android Head-Units] marcus82:
Hi all!!!!!! Thanks a lot for your suggestions, NOW THE DAB WORKS FINE !!!!!!

But I have a similar problem about the settings cause every time I open the DAB app, this ask me to use the USB dongle.
[Android Head-Units] Cimation:
Hello,

I saw the answer on the EventCenter code.

I will try to extract this part of the code to make a comparison.

I am surprised that there is not also the value for volume in the variables used

note: I hope that "silencing this procedure" does not prevent the amplifier from turning off. Because that may be the reason why this procedure exists. An amplifier of this type that would remain permanently connected to the battery would drain it very quickly.

Thank you

On the other hand, for the clock problem, I didn't understand the message well (Russian translation problem --> French/English for me).

Could the time be from the GPS connection?

Thank you.
[Android Head-Units] Cimation:
Hello again : -)

I was a little too optimistic. I know how to code under VisualStudio Windows (and therefore decompile, modify and recompile an application) but I don't know how to modify an apk code (with EasyAPT Tool I don't access the code.... :( I wanted to first try to modify the values (to replace them with the right ones) but these are hard coded in the code (no external variable file I guess?)

It would be interesting to test with the modified EventCenter application to bypass this procedure call that resets the amplifier settings.

Do you know anyone who can do that? I can send the eventCenter application extracted from my head unit to be sure to be on the same original application

Thank you so much.
[Android Head-Units] ikuznets222:
My logic suggests that it's not headunit that switches off the amp. There are cases that native headunit is replaced with an aftermarket one which doesn't have any idea how to control your amp or if it exists at all. Of course, you'd be better off asking at specialized forums but I think it's either wired to the car's ACC or controlled over canbus.

---------- Post added at 09:01 PM ---------- Previous post was at 08:53 PM ----------

It's not as simple as that. There are apps that can reverse engineer apks and show you recovered java code (like jadx-gui). But they usually don't allow you to take the code and recompile it in say Android studio. What is directly available is modification of intermediate byte-code (called Smali) which is obtained by "unpacking" apk using apktool or it's GUI wrappers under windows.

At the moment it's too early for that, because this initSoundValue function (as I see it) is implemented for one single car model. Are we sure it's the one currently selected in your unit? Can you look it up? If your selection is different this function is not even run

---------- Post added at 09:27 PM ---------- Previous post was at 09:01 PM ----------

I looked deeper into the code and it looks like InitSound procedure is run whenever command code 124 is received from MCU microcontroller. MCU firmware is closed and we don't know under which conditions this command is generated. We can only indirectly judge if this is what's happening in your case. You could go on console and dump your settings after you set up amp params to your liking and then 2nd time after the reboot. If those values change then yes - this init procedure is run in your case.

The dump cmds:

sqlite3 /data/data/com.szchoiceway.eventcenter/databases/SysVar.db
sqlite> .dump sysvar

But frankly speaking if I were you, I'd upgrade to May FW before anything else. You didn't show your FW ver. but it's quite possible that this InitSound proc doesn't even exist there.
[Android Head-Units] ikuznets222:
Did you upgrade FW?

First part you posted is "invocation" of procedure marked by "->". Usually you remove invocation

Second part is procedure's body. Better enclose code in code tags and put under spoiler tags.
[Android Head-Units] Cimation:
I have not updated the FW....

And sorry but I didn't understand the message and how to "isolate the code" or "stop the invocation": -(...

I propose this (but if it's silly don't hesitate to tell me ;)

Maybe I could try to modify this and then recompile to try it out?

const-string v2, "Set_Loudness"

iget-boolean v0, p0, Lcom/szchoiceway/eventcenter/EventService;->mLoundness:Z

if-eqz v0, :cond_0

const-string v0, "1"

I explain why:

When I go to the AMP parameters of the CONSOLE menu, if I just change the SURROUND parameters manually (I set it to ON), it immediately changes all the other parameters: AMP switch to ON, Balance with the right values, etc. and volume to 16 (this level is not satisfactory but I can't find the volume parameter in the code above).

If I change const-string v0, "1" to const-string v0, "0", maybe it will change the SURROUND parameter to ON? Maybe it's a bad idea? Dangerous?

Thank you
[Android Head-Units] ikuznets222:
Again. I suggest you upgrade FW 1st (storing your customer.xml and pics of all settings) then you report back if sth changed in Console behavior, or it's still the same misbehavior. The code out there is too complex to resolve your issue in a straightforward manner or by rushing risky things like changing EventCenter code. You didn't even provide your current FW version!! As you may know the code has eveolved a lot over time so if you're, say, on 2017 FW level then your issue may have been resolved by chinese ages ago! What makes you think it's this InitSound procedure? It's just a wild guess by a forum member
[Android Head-Units] Cimation:
Okay, I'll try the update. But I admit I'm not very confident with this kind of manipulation. I have spent a lot of time on the internet for months for this problem, I know that the management of the original Alpine amplifier on Jeeps is complex (everything goes through the canbus, even the sound). I had before another head unit (KSP) that managed the amplifier well in the canbus parameters, so I know it's possible

One question please: I installed KingRoot on my system, is it okay to do the udapte? (KingRoot installed but I didn't go any further, I didn't follow all the instructions on 4pda.ru (mrw.zip, etc.))

Here are the references of my system:

MCUVer: 860B_CHHWY_61

FrameworkVer: rkpx3-eng 7.1.1 KTU84Q / eng.zxw.20161207.095117 test-keys

OSVer: 3.0.36+ Mon Mar 26 15:13:26 CST 2018

APPVer: 20180518B-Ver1.0.0.chwy-860B-EN

Nandflash: 26.49G/27.67G

RAM: 1G/2G

Barcode: ZF-1018S02018061229

CanBus box: JEEP-RZ-01 / SW: VC1.4 / HW: V0.3

I think I'm a match.

Thank you