yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] surfer63:
Stupid! Stupid! Stupid!

I checked the spinner, the styles, etc., but I forgot to check the array populating the spinner (drop-down menu). Somehow that single "topleftmenu-elements" was missing. I assume I somehow deleted it.

It's an online tool, so it's already corrected. I will do a release tonight.

(Still have no idea why the tabview suddenly shows "buttons" in the last 2 and this new version).
[Android Head-Units] hapb:
It's great that you're working on fixing the on the missing tabs. For any new comers at this point I'd suggest logging in to your router directly to get the ip address. The tabs did mysteriously show everything after successfully root as mentioned by

looxonline. All in all still a great tool. Thanks to your hard work, I now have root access on my hu.
[Android Head-Units] R4m80:
I have now been trying for the past 4 hours to get root. Everything runs up to the point where I run the script. The script runs, but never finishes and SuperSU is never installed. Any ideas?
[Android Head-Units] looxonline:
Can you confirm that ADB is connected? It's there feedback on the command prompt saying so?
[Android Head-Units] R4m80:
Yes, it is connected. States that it is writing xxx kbps (0.0012s) and then it just stays there.
[Android Head-Units] looxonline:
And you've rebooted after the script has run? I know it's an obvious one but just covering all the bases.
[Android Head-Units] R4m80:
Yes. Tried multiple times. Played with the developer option as well. It just doesn't install SuperSU.
[Android Head-Units] surfer63:
First question: Are you on Android 6.0.1 or Android 8.0.0 on your PX5 unit?

I assume you are able to handle the terminal.

Can you do an:

ls -l /system/xbin/su*
ls -l /system/app/Super*

Or check in a file manager for "su" and "su.original" in /system/xbin, and for /system/app/SuperSU/Superuser.apk

Just to see if something or nothing has been installed.
[Android Head-Units] R4m80:
Android 8.0.0 with latest Joying update. Not at all able to handle terminal without guidance. I can check for the files on the unit, but I don't know when I'll be able to because I'm busy at work.

[MENTION=2550900]surfer63[/MENTION] I checked those locations and "su" and "su.original" is there, but there is no SuperSU folder under /system/app.
[Android Head-Units] surfer63:
That's strange. But it doesn't have to be in /system/app.

So please download this one and install.
[Android Head-Units] R4m80:
Installed it but states "Root undetected"
[Android Head-Units] hapb:
Perhaps it's the same issue I had and you just need to run the script a couple of times. As mentioned by surfer the adb over wifi connection can be flaky.
[Android Head-Units] surfer63:
In that case probably the setenforce 0 is not set.

I do often tests of course. Lately, I often take my laptop and my phone with me in the car. I setup a hotspot of my phone and connect with both my laptop and Joying to the phone hotspot. Then I have a stable connection.
[Android Head-Units] r89110:
I don't have a laptop or a computer I can use with my head unit is there anyway I can root my device without a PC
[Android Head-Units] R4m80:
I was planning on doing exactly that. Will report back if it worked or not.
[Android Head-Units] R4m80:
No luck. Exactly the same outcome. Guess I'll just have to forego rooting my unit for now.
[Android Head-Units] BuffMcBigHuge:
surfer63, I just want to say thank you for providing the Joying Tooling and SuperSU for PX5. You made rooting my 9in Joying PX5 4G a breeze!
[Android Head-Units] surfer63:
I send you a PM with an "alternative route". What you explain occasionally happens. You need a 2-step approach.
[Android Head-Units] Tumke32:
[MENTION=2550900]surfer63[/MENTION] I"m considering to buy a joying carstereo. Right now a have a MTCB / C device. With some mods like mtckeys i can map my canbus steeringwheel keys to apps and android functions. Is there also a mod to map the steeringwheel keys (with canbus adapter) for the unit you own?

Regards, Tom
[Android Head-Units] looxonline:
Not too sure if the [MENTION=2550900]surfer63[/MENTION] modules handle the CANBus steering wheel buttons. I'm working with bonez from the roadnav forum to get this implemented on the PX5 units. He was writing an xposed module this weekend but he keeps hitting a snag when it comes to calling the mapping apk. I've been too busy to look into it but I should have some time in a few weeks to add some input if he has not already solved it by then.
[Android Head-Units] surfer63:
Currently the CANbus is completely overruling what we can do in Xposed also be cause the MCU is taking over. There is a multitude of lower-level CANbus protocols methods which are managed in some higher consolidation method (and I certainly don't want to call it a HAL).

At this moment I'm a bit on stand-still. Both by choice: it's enough at this moment, but even more because of the fact that I don't have steering wheel buttons myself. I can't test anything and I lack the motivation to write "something", have it tested by "someone", correct/fix/update the code, ..., etc. for something I can't use myself at all. I only wrote the Xposed module because nobody else would do it.

So if this person on the roadnav forum (have a link to that specific post?) gets this working I would be very happy.
[Android Head-Units] looxonline:
I fully get you. These head units can be a time vampire. Here is the post to the mod that he made for the S160 units (https://www.roadnav.com/forum/modifications/57988-s160-change-buttons-assignments). Here he was editing the smali and recompiling. With the S200 (FYT) units we are trying to put together an xposed module instead. It turns out that the methods to hook are not that hard to find. We are just struggling to get the intent to trigger correctly. It shows up in the system log but nothing ever happens. The app that we call never opens.

Perhaps we can share some of the code with you [MENTION=2550900]surfer63[/MENTION] and you could help us understand where we are going wrong?
[Android Head-Units] BuffMcBigHuge:
Does anyone know why we cannot programmatically control the audio volume? I'm looking to have a widget on my launcher that either sets the volume at a certain level or increases/decreases it. I've tried using AutomateIt with a manual trigger, but regardless of what audio channel I modify, I cannot seem to change the volume shown in the nav bar.

I have a 9in unit, and I'm finding it quite annoying to have to tap the volume icon and use the scrubber every time I want to change the volume. :confused:

Edit: I have tried using Tasker and the bash command posted here but it returned an error. Could be that I'm not triggering the correct command to modify the volume.
[Android Head-Units] Tumke32:
It would be great if we can get this to work. I just ordered my first Joying btw. Next thing i need to do is getting a new harness with canbus decoder, or choose for a swc decoder solution which i connect to my exisiting harness. With the last one i should be eable to learn de key's on my steeringwheel with the joying keylearning app (but is more diffucult to install). In the first option the keys are static and you can't change them. Does the exposed module solution work (if you can get it to work) for both options, or only for the canbusdecoder?
[Android Head-Units] surfer63:
I had to think about it, but please share it. I'm also curious :)
[Android Head-Units] Tumke32:
Is there also a mod so that i can use my steeringwheel controls for example with spotify? And are the steeringwheels controls working when i'm using zlink with androidauto / carplay? Does anyone has experience with this and these FYT based carstereos?
[Android Head-Units] aphilgr1:
Following your advise on this post https://xdaforums.com/showpost.php?p=77643422&postcount=1101 I transfer my answers here.

I did both and both seem correct

"Check the size of /system/xbin/su. It should be 106Kb.

Also check whether /system/etc/init/rooting.rc exists and what the size is: 137 bytes"

However I installed three different Root Checker Apps

One says the device is rooted but gives this:

"Root Management Apps Yes

BusyBox Binary Yes

SU Binary Yes

SU Exist No

RW Paths No

Root Native Yes"

The other says:

"Device is rooted

Yes Busy Box is installed"

The third one says

On verify root tab: "Your device is not rooted"

On verify BusyBox tab: BusyBox is not installed, unable to check version

Apps that ask for root access like zip me or Titanium backup say device is not rooted

---------- Post added at 12:49 PM ---------- Previous post was at 12:07 PM ----------

Well I ve been giving the answers myself! I run the rooting script three times in a row and things changed to the better. I also installed busybox from playstore and now everything seems fine!!
[Android Head-Units] surfer63:
Good to hear.

busybox is installed but it is a rather limited version. Maybe that's the reason why one of the apps says that it isn't installed.

It is a miracle though why Joying does not prvide a newer and more extensive one, especially as it is open source.

Anyway, you could have busybox also installed from my JET apk, but that's again the other thread :D. Sorry.
[Android Head-Units] packyman:
hello. I have a 4+32GB PX5 Joying and have it rooted with your windows script today. I installed magisk manager, it installed magisk and patched the boot img. now I am stucking in a bootloop. no chance to come out, right? no button helps...

my question: there is still no recovery button combo known, right?

any chance to repair boot.img?
[Android Head-Units] surfer63:
This is a very annoying error and I can't say much about it as I'm on Linux. I don't use windows where this error seems to occur.

Did you have a look at this xda post ("Here was the resolution")?
[Android Head-Units] T-M-H:
I will try that thanks for the helps I will give you a follow on that!
[Android Head-Units] T-M-H:
[IMG="Image"]https://drive.google.com/open?id=1UDcHdPaJkzrdLpTp1QOO4sy_9SyMCDkp[/IMG]

https://drive.google.com/file/d/1rAPH5C6o1Ppjx4CQeaQHaW9DnRPVUXSl/view?usp=sharing

I try what they says on the thread but it says the same thing than before. But I do have a pop up on the head unit and it is too fast to see it( I use a screen recorder). It seem like a hexadecimal code.
[Android Head-Units] surfer63:
Google first before asking such questions!

https://www.androidpit.com/how-to-enable-usb-debugging-on-any-android-device
[Android Head-Units] T-M-H:
I already do my research on it and do the proper parameter on the head unit but it still persist on the same dialog on my pc. I enable the usb debugging and reboot the head unit. The only problem is that the pop up is too quick for me to click on it.
[Android Head-Units] T-M-H:
Hi, so I was able to go this far but I'm still stuck with this promp. I reboot the unit but nothing happen. Does it exist another way around?

C:\Users\Tristan\Desktop\SuperSU-PX5-ARM>copy_install.bat 192.168.43.11

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

connected to 192.168.43.11:5555

adbd cannot run as root in production builds

already connected to 192.168.43.11:5555

mount: '/dev/block/platform/ff0f0000.dwmmc/by-name/system' not user mountable in fstab

setenforce: Couldn't set enforcing status to '0': Permission denied

cp: bad '/system/xbin/su': No such file or directory

failed to copy 'su' to '/system/xbin/su': secure_mkdirs failed: Read-only file system

chmod: /system/xbin/su: No such file or directory

/system/bin/sh: /system/xbin/su: not found

/system/bin/sh: /system/xbin/su: not found

failed to copy 'rooting.rc' to '/system/etc/init/rooting.rc': couldn't create file: Read-only file system

mkdir: '/system/app/SuperSU': Read-only file system

chmod: /system/app/SuperSU: No such file or directory

Transferring: 6352731/6352731 (100%)

failed to copy 'Superuser.apk' to '/system/app/SuperSU/': couldn't create file: Is a directory

chmod: /system/app/SuperSU/Superuser.apk: No such file or directory

Reboot your Head Unit NOW!
[Android Head-Units] surfer63:
Your adb output mentions:

adbd cannot run as root in production builds

It means that the 'adbd' server on your unit does not use root permissions (I always call our Joying FYT units "semi rooted"). It clearly means your unit is not a FYT based unit. As such that should not be a problem as long as as the adbd server can use root permissions, but yours can't.

What kind of unit do you have?

Some years ago there was the chainfire patched adbd server, but I have no idea whether that still exists and is available for Android 8. (Chainfire is the creator of SuperSU).

For the time being you are stranded with a non-rootable unit.
[Android Head-Units] packyman:
my working rooting method is with the tool by surfer63/hvdwolf with Windows 10 x64 1809, Kaspersky AV and Fritzbox 7590 and this tweaks:

as often said, add "service.adb.tcp.port=5555" to the config of the firmware. install the firmware, config wifi settings, NO REBOOT.

start the batch on the pc as admin with the known command (e.g. copy_install.bat 192.168.1.16), wait until its hangs at transfering... PRESS BUTTON COMBO "STRG+C" to stop the batch. restart it again with the same command, and now its perfect working. after many new firmware flashes, this every time works!
[Android Head-Units] surfer63:
Thanks for this reply. I see the error in my "hint".

It should be persist.adb.tcp.port=5555 instead of service.adb.tcp.port=5555

The service option is indeed immediately active but only till the next boot.

The persist option is persistent and remains active though reboots.
[Android Head-Units] surfer63:
Hi,

This seems to be a windows issue as it doesn't happen on linux and Mac OS/X. I read about it on a German website where the developer mentioned that Windows is a bit tricky in this (and I'm not using windows).

When the bat file freezes, so after the "win-adb\adb shell /system/xbin/su --daemon&", close the command prompt window with the red X.

Open a new command prompt, again with administrator rights, and go back to the folder where you unzipped the install.

Then execute (or copy) the below commands in the command prompt window:

win-adb\adb shell remount
win-adb\adb shell setenforce 0
win-adb\adb shell /system/xbin/su --install
win-adb\adb shell /system/xbin/su --daemon&
win-adb\adb push rooting.rc /system/etc/init/rooting.rc
win-adb\adb shell mkdir /system/app/SuperSU
win-adb\adb shell chmod 0755 /system/app/SuperSU
win-adb\adb push -p Superuser.apk /system/app/SuperSU/
win-adb\adb shell chmod 0644 /system/app/SuperSU/Superuser.apk

I will make a "step2.bat" in case it does hang on the mentioned step on Windows in the original bat file.
[Android Head-Units] Recma:
For those who have this problem, like on page 6 of this thread, I was also concerned.

My mistake was to persist by rebooting the unit. Just close the cmd windows without rebooting the radio, relaunch a cmd window and send the magic command line.

It works the first time I did it :laugh:

Of course, Surfer thank you very much for your fantastic work ! I was just sad when I saw that viper doesn't work for android 8.0 head unit...
[Android Head-Units] shida:
Hello everybody,

I easly rooted my joying px5 thanks to surfer63, connected to my wifi and supersu update appear.

I did the update when i rebooted the radio is stuck on android logo. My BAD! Did i brick my unit? Anyway out?
[Android Head-Units] surfer63:
Like the webpage says: Do not upgrade supersu!

You need to reflash your unit. There is no other option.

Put a fresh firmware on a usb-stick/sd-card. Before flashing add the line "persist.adb.tcp.port=5555" to the file config.txt. It will enable Adb over wifi from the start.

And then reroot again.
[Android Head-Units] shida:
yes, i mess! thank you for your quick response, i manged to re flash the unit with stock firmware, now i reroot! i learn the lesson!
[Android Head-Units] Junior_1967:
Here is what I found regarding the Windows issue in rooting with script

I have looked at my radio file system after the hang and I found that the "su" file that was pushed was not properly chmoded.

I was 0755 not 06755.

It would appear to be a timing issue.

win-adb\adb push su /system/xbin/su

-> win-adb\adb shell chmod 06755 /system/xbin/su

If I manually execute the script line by line it will take 1 or 2 time to chmod the new "su" to the proper permission.

But once done the rest continues properly..

Next time I'll put a timeout after the push to let things settle a bit to see if it changes things.

Cheers,
[Android Head-Units] HaTeNL:
Supersu asked to to update the su executable. When I rejected, supersu closed. So I had to accept, resulting in the device stuck at boot.

How to work around this?
[Android Head-Units] surfer63:
You confuse two things. The su binary and the SuperSU apk.

If you reject to upgrade the su binary, the SuperSU apk will indeed close, but that is not important at all. What's more: it should close!

The su binary will still work. And when you try to access a rooted function in an apk, the SuperSU apk will again pop up and ask whether you want to give access or not to that apk to use the su binary.

On every cold (re)boot you will get a notification in the form of the hash sign (#) in the notification bar to memorize you to upgrade the su binary. Don't do that.
[Android Head-Units] HaTeNL:
Thanks! Why does it want to be updated so badly? Is maybe another su application better? Or maybe we can recompile the binary?

Merry Christmas :)
[Android Head-Units] surfer63:
Normally the su binary is recompiled when an issue has been discovered, but mostly after a SuperSU apk upgrade and the SuperSU apk gets upgraded after the install.

The su binary gets the same signing as the apk. You can recompile a newer version of the su binary but you can never give it the same signature, as the developer uses his own signature (signing key). That is to keep it safe to prevent others from recompiling the su binary and thereby placing malware/virus/etc functionality in the su binary.

So if you would be able to get the soruce code and recompile the su binary, the SuperSU apk would reject it (and it should).

That's why we use the open source Superuser apk + accompanying su on the Sofia 3GR, where I can control it and use my signature for both.

But I can't get that version working on Android 8.0 without TWRP recovery, that's why we had to switch back to SuperSU.

Don't worry about it. In a high-security environment it would matter. Not on the unit.

And if someone hacks your unit and uses root functions, it doesn't make a difference whether it is a slightly older version or not.
[Android Head-Units] niketathakare:
.

Android 8.0.0 only: Added a new (sub)screen "OPTIMIZE" (american english spelling ;)). This screen allows you to disable some apks and services that use resources even though you don't need them. It's a (stripped) down version of what you find on the gtxaspec custom ROM for 6.0.1

Option to install the documentsui on Android 8.0.0. This is the "hidden" micro file manager on Android 7.x and 8.x. It is missing on the Joying units which can lead to access issues to sdcard even from rooted file managers. If you never encountered that, you don't need it ;)

Bottom-right button of SYSTEM screen now shows "Install documentsui" on Android 8.0.0 and "Install Android or Joying Settings apk" on Android 6.0.1.

Fix: only copy build.prop on a rooted system. On non-rooted systems this gives an error.

:o:o
[Android Head-Units] iceteax:
hello, I'm with mac os, I edited your sh to work under Max os mojave;)

I just added the adb destination for mac to each line only ;)
[Android Head-Units] surfer63:
Nice, it is good to see that that is the only adaptation necessary.

But it would have been better to make it "user independent" by specifying a variable for the path where you copied your adb that every user can adapt, and secondly to call sudo outside the script like

"sudo copy_install.sh <ip-address>"

And are you sure that it is "Sudo" instead of "sudo"?

(long time ago I used OS/X)
[Android Head-Units] iceteax:
Hi, sorry for my English, I'm French, I have a hard time making myself understood.

I do not know Mac OS well, I made the simplest by following tutorials found on the net that explain the commands on mac, maybe there is a faster way, but I wanted to give the possibility to the other member on mac Os of being able to root :)

what is sure is that what I gave you works on the latest Mac OS X mojave;)

See you soon and thanks ;)
[Android Head-Units] Nico83500:
Hi,

Thank you for this tool, I rooted my Joying PX5 today and changed my radio appearance.

I have some questions :

- I know it's not possible to update su binary. But is it possible to remove the notification about the update ? Otherwise, I'll make modifications I want then I'll disable SuperSu app in Android app list, it's not a problem ? I'll enable it when I'll need to use Joying Extra Tools.

- Is there a way to show Android stock settings menu ? I would like to access it but I can access only Joying settings menu.

Thank you.
[Android Head-Units] surfer63:
No, you cannot simply remove the notification. It might be done with Xposed, but it's not worth it. It only appears after a full reboot and disappears after multiple other notifications that other apps do.

No, you cannot show the Android stock settings menu. This a a Joying settings.apk. You can't use another settings.apk. It is deeply integrated with everything in the system. The only possibility is to compile it from the entire android source. We don't have that.
[Android Head-Units] Nico83500:
Thank you !

So do you know how can I change notifications sound settings ?
[Android Head-Units] Nico83500:
I have also 3 questions :

- Is it possible to restore original radio instead of a modded radio and how to ?

- Is it possible to remove the root and restore the original semi-rooted system and how to ?

- What firmware to use in order to restore the original system and how to ? (if I made a mistake and update binary su or if I want to flash a proper system)

Thank you !
[Android Head-Units] surfer63:
- Also using JET. It also comes with original radio.

- Yes, of course, but the simplest way is to flash in that case. Why would you undo the rooting?

Anyway: do in a terminal

su
mount -o rw,remount /system
cp /system/xbin/su_original /system/xbin/su
chmod 06755 /system/xbin/su
rm /system/etc/init/rooting.rc
rm -rf /system/app/SuperSU
setenforce 1

Reboot your unit

- Any firmware. A firmware flash always installs "the original system".
[Android Head-Units] Nico83500:
- Thank you, I'll look at it. It's called "Original" or something like this ?

- I don't want to undo the rooting now, it's just to know in case I need to remove it in the future (I don't know why it should be removed). So at the next Joying update, it will be necessary to root it again ?

- So I can use a .zip firmware from Joying : https://www.joyingauto.com/blog/category/updated-files-released/ ? And what is the method, I unzip it to a microSD (FAT32 ?) and it automatically boot from microSD and flash it ?

Thank you.
[Android Head-Units] Apo11on:
Does this root method work on Joying PX5 Android 8.1 units? I have this one
[Android Head-Units] surfer63:
No and Yes: You can use my files, but as the config and method of flashing is completely different, you need to use this installation method.
[Android Head-Units] xlinkx:
Hi,

I have a JY-UOS02N4PX5S Hu and I can't authorized my adb connection through windows or mac. The authorization window on my Hu never popped up. Please help!!

dtkmb:~ dtek$ adb devices

List of devices attached

192.168.1.39:5555	unauthorized
[Android Head-Units] xlinkx:
I was able to authorized with this app http://solk.org.ua/as21/AdbdPX5.apk
[Android Head-Units] G0bl1n:
I also had to do it otherwise "adb root" command would fail with

"failed to connect to 192.168.1.26:5555"