yashsingh1/xdaforums huggingface dataset:
[Android Head-Units] lssong99:
Perm-root WITHOUT changing kernel!! (for those you cannot get perm-root)

For those of you cannot obtain perm-root, HERE IS A SOLUTION withOUT changing kernel!

DISCLAIMER: This is a dangerous process and I am not responsible for what you do on your device!

1. Get temp-root with Baidu Root and install busybox.

2. ADB or open Terminal. Following steps are all type in terminal window (or ADB), anything after // is just comment

3. su //to get su permission

4. cd /system/bin

5. ls -al gocsdk // Check if this file exist or not. If this file does NOT exist, then proceed to next step. If it exist, then see later in this post, DON'T go to next step

6. ln -s /system/etc/install-recovery.sh gocsdk //Just make a link of install-recovery.sh as gocsdk

7. chmod 777 gocsdk // 777 is dirty, I know... But it just works!

8. DONE!

The basic concept is like this:

a. Some devices are not able to get perm-root because the "service flash_recovery /system/etc/install-recovery.sh" is commented out in init.rc. This is the common entry point for su daemon to run after reboot.

b. init.rc is NOT easily modifiable since it's in the RAM disk. Any modification just lost after power off. Perm modification requires kernel change.

c. Luckily, there is another service in init.rc which actually not being used (at least on my device): "service gocsdk /system/bin/gocsdk" with same class (main) and user (root)

d. What I did is to make a link so gocsdk actually execute the install-recovery.sh. With this way, even you change another root utility (which also modify install-recovery.sh), nothing break!

If you do have gocsdk in your /system/bin, then

6-a. If it's a script file (I don't know since the file is not exist in my system), than instead of make a link, you should add /system/etc/install-recovery.sh in the gocdk script to execute it.

6-b. If it's a executable, you could rename it to gocsdk.bin, than make a gocsdk script which invoke gocsdk.bin (with proper argument transfer) than call /system/etc/install-recovery.sh

Sorry I cannot be more specific on 6-a and 6-b since I don't have this file, maybe someone else could make it more clear? Anyway if you don't know what I am talking about in 6-a and 6-b, maybe you should not fooling around with your system.... ;)

Use Thank button if it helps! And don't forget to quote here when re-post!

BTW, if your system is become read-only after reboot, just use "mount -o rw,remount /system" (without quote) after reboot (I use Tasker to execute this every reboot)
[Android Head-Units] TheSSJ:
Really glad to see this guide as I think this might work on my device (saw a gocsdk entry somewhere in my init.rc :) )...

Wouldn't it be possible to implement init.d here, too? This would remount system rw without using any third party apps - it's worth trying I guess (will do it as soon as I am sitting in my car :) )

Thanks again for this!

Edit: Permroot works a charm on my 2.8.8, thanks! gocsdk doesn't exist in my /system/bin folder. Yay!
[Android Head-Units] Sacrifus:
How are people managing with the only 1GB of space? There is another 6 or 7GB internally but none of my apps install there.

I have to uninstall apps just to update from the play store. Really annoying.
[Android Head-Units] aroel1:
I have gocsdk under /system/bin. Can we uninstall/disable it after temp-root the unit? and then follow your instruction make a link ?
[Android Head-Units] nhdn:
Thanks!

This worked great for me.. Fixed some issues I was having and I like the updated icons.

I did not root... what is the advantage to do so?
[Android Head-Units] kaween:
Hmpf. If your device now works like you want and are pleased with it ? None what so ever.

Personal reasons for having root :

- ability to install and use Viper4Android (most valid reason for me)

- ability to use alternative skinned apps that are kindly provided by Chris R.R. (... I've chosen to use other 3th party apps instead).

- ability to use sofware which can't run on a normal AN21 due to bad programming (like for example software that thinks a "test-keys" entry in the build.prop means your unit is rooted .... :rolleyes

- ability to change self-made boot animations and such.

- .... and the ability to totally brick your unit at your own convinience. :laugh:

IF (not_interested_in_stuff_like_that = True) CALL "just use unit and be happy".
[Android Head-Units] Quincydog:
Car Recorder Function

Hello Everyone,

I am still trying to figure out how the Car Recorder function works.

Is it for USB cameras or is it to work with the Front/Rear (RCA) video camera inputs?

I have tried all combinations that I can think of yet the app just opens for a second then closes!

Here are the specs of my unit:

2 knob version 6.2" display

System 2.9.1

MCU 4.3.8-7-10-650101

Does anyone have any experience with the Recorder app?

Thanks
[Android Head-Units] ryhoo2:
Kaween,

Could you say more about the "other 3th party apps" used instead of the stock or skinned radio, BT, etc. ? I thought there are no alternatives.. Thanks!

---------- Post added at 09:59 PM ---------- Previous post was at 09:57 PM ----------

Did anyone manage to get the DashCommand app working? I have a BT6 type dongle and the Torque app is working just fine. The DashCommand sees my BT ODB2 module (ELM327) in the settings, but it cannot connect to it.

Thanks in advance!
[Android Head-Units] aroel1:
[/COLOR]Did anyone manage to get the DashCommand app working? I have a BT6 type dongle and the Torque app is working just fine. The DashCommand sees my BT ODB2 module (ELM327) in the settings, but it cannot connect to it.

Thanks in advance![/QUOTE]

Can you share your BT6 dongle model and eBay link ? I brought a CRT 4.0 mini BT usb adapter based on the suggestion: h- t -t -p:/ /w-w-w.ft86club.com/forums/showthread.php?t=29723&page=57 but I could not find the bluetooth management app they used. so far no any clue to make my OBDII BT adapter connected to my HU either.

My system version is 2.8.8 ; MCU: 4.3.10.1-1-10-612101.

thanks
[Android Head-Units] ryhoo2:
Sorry, I meant BC6, the stock build-in one that works with Torque.
[Android Head-Units] disc golfing:
Thank You!!!!!

But now I'm confused. How do I install it to the HU? It is on the SD card........(I apologize for asking)....I bought this HU 3 weeks after Kid52 made this post and I put ROOT on it right away, from his OP and the only thing I've touched since was putting songs on the sd card

To me....the only advantage at the time was boot time......from when you turned the key to ACC/ON.......Boot time went from 40~60 seconds to 15~18

NICE......although I've been somewhat keeping up with this crazy thread.....didn't realize so much more could be done with it.
[Android Head-Units] lssong99:
Of course you could uninstall/disable/rename/delete the original gocsdk in /system/bin after temp-root (I suggest to rename it to gocsdk.bin as described in my guild, as a backup), but since gocsdk pre-exists, it might serve some propose for your device (as device driver for HW component?). You could try to rename it and make the link as my guild, than reboot to see if any functionality loss... If nothing is lost, than you can enjoy your perm-root!

However, if any function loss is observed, than you have to do as mentioned in my guild 6a and 6b. In this way, you could have both the functionality of gocsdk and perm-root.

Sorry I cannot be more specific on 6a and 6b since I don't have something to work with. If you send me your gocsdk than I might be able to see how to do with it... :)
[Android Head-Units] balaes:
Have anyone a newest MCU version ? I have actualy 4.2.13-1-10-2101 but i`m interest in new oane.

What is the diference in MCU version 4.x.x-1-10-

210101

and 4.x.x-1-10-

2101

?

From factory, i have 1.10.2101 but i see the latest is 210101.....
[Android Head-Units] Miwer:
I also discovered the install-recovery.sh part commented out when looking at my init script some time ago, and I also tried using the gocsdk as a way to start the su daemon at boot.

I just copied the install-recovery.sh script to gocsdk, but I found that it would only work one time the following reboot. After subsequent reboots, I'd lose root again. I found that something in the boot process was deleting the gocsdk file I created. But I will surely try this again with a symlink as you describe. Thank you for the tip :)

Although I did not need to chmod 777 the gocsdk for it to work. Are you saying it don't work for you unless you do that?

It is indeed dirty, and should not be needed - 755 ought to be enough. But it's not really much of an issue since /system is usually mounted RO anyway.

/Miwer
[Android Head-Units] aroel1:
Hi, [MENTION=4736782]kaween[/MENTION],

are you sure my HU is BC6? I thought the MCU ending 2xxx should be BC5. also I did not see BC6xx when I tried to change BT's name. in my HU, there is no BT setting menu, I installed Torque Pro, but it could not detect anything. so I bought another bluetooth dongle, but still no luck.

I tried my obdII adpater with my andorid tabled, it working well.
[Android Head-Units] kaween:
Yeah, but the mcu code you posted isn't a 2xxx, but a 612xxx. (4.3.10.1-1-10-612101). It's not purely a "look at last 4 digits" thing, it's the complete hex-value of the config-discription codepart that matters.

If I push that value in the MCU decoder (http://an21u.coldzone.ru/), the result shows this mcu is meant to have a BC6.

There's no BT setting in any HU's android system, unlike on a phone, Tablet ect..

But you can verify this yourself using the very good tip that was given in post #6337 .

Follow those instructions, it should clear up any doubts about the exact chip your unit came with.

The BT is not controlled by the android system and exists more or less outside of it, control is purely done by the HU's dedicated BT apk.

As such, the BT /obd Link must be done within the BT app itself, not torque : scan for devices using the BT apk.

If you have a BC6, the OBD device will be visable and selectable not as "phone" but also as "obd".

Once that works and your Torque is configured correctly for a BT device, it will work.
[Android Head-Units] darkromance:
Hi

i supposed to have an an 21 u device JR2803C branded JRNAV

After some unsafe attempts to root it now my decice appears Dead (stuck on Update end after trying to update the system)

Someone can suggest me where to find the files needed to restore the system

Thanks for help

find mcu: 4.3.10-11-942-450101
[Android Head-Units] foggydew88:
That's right, but using the voice control "ok Google" and then "start bluetooth" the classic android bluetooth menu appears, but it has no full control, so it's only for curiosity.

I'm not so sure about the correct English command, in Italian is "avvia bluetooth"

Cheers!

Sent from my HTC Butterfly s
[Android Head-Units] aroel1:
.

Thanks [MENTION=4736782]kaween[/MENTION] ! you are right, My HU has BC6. it is really good new to me. But which BT app will show my OBD adapter? I tried many BT apps from Google playstore, all can not detect obd.
[Android Head-Units] lssong99:
If some code keep erase the gocsdk, how about make it r-xr-xr-x ? Maybe it could prevent the root itself from kill it? (Not sure....) service gocsdk is the last command in the init.rc, so anything before it has potential to kill it....

So, does the ln way works or not?
[Android Head-Units] kaween:
You just use the standard bt-phone app you use to make a call. Plug the obd adapter in the obd port, turn on ignition to stage 2 so the obd port is initialzed and your dashboard checklights (temp/oil/ect) go on. Start the bt app, and search for bt devices. After a few seconds the obd interface will be visable just like a phone would. Select the obd, the bt app will give you the choice to "pair" it as OBD but will NOT ask for a bt-pair code.

start torque, set itup for bt communication, restart torque and wait a couple of seconds. Ready.

But in all honesty : nothing beats a good USB-based OBD interface : it's faster in terms of readout, much more reliable in terms of automatic binding with the car (I had to retract my OBD BT from the car OBD plug to reset it quite often), and goes to a "full sleep" when you turn of the car and radio.
[Android Head-Units] TheSSJ:
Quick Question about MCU upgrade: I placed the mcu file in the root of my sdcard partition and went then to General->MCU upgrade. I click OK, but then the window just closes and nothing happens. Could it be that the upgrade process doesn't start if the MCU is not newer or the same version?

Why I want to do the upgrade: My radio reception sucks in certain regions, and the MCU controls the radio chip, doesn't it?

Cheers
[Android Head-Units] kaween:
I could be horribly wrong here, but as I understand it, the actual update of the MCU only is done when you go to "choose model" and select the specific Equipment list that corresponds with you unit's hardware. Simply choosing "update mcu" .... I think that only copies the specific MCU profiles that are found in your update file but it wont firmwareflash the mcu at that stage. Only after using "choose model" will the unit command a reboot and indicate it has upgraded/flashed the mcu.

Yes, the mcu control the radio. But I can't stress enough to be very careful when flashing mcu's. Take it from me, when you f*** up there, you're in a world of hurt. So please, PLEASE make sure you know what your current MCU version is, and try to find a backup-copy in the file repository prior to start messing with this.

IS it possible your radio's reception would improve dramatically due to a MCU update ? Seriously, I don't think so. The TEF6624 Radio tuner is a "very much on its own" module, and the reception filters and "tuned systems" (I'm looking for the translation of "afgestemde kringen" in Dutch) can _not_ be influenced by a software update.

When reception is bad, most of the time it is a question of bad impedance value between radio and antenna (=read : wrong adapter) or the failure to connect the power feed for the signal amplifier that resides in many original car antenna's. I do not have an amplified antenna, and the impedance value of my antenna-adapter was correct, and I can honestly say the AN21 in my car has the same kind of reception quality in terms of signal strength and in sensitivity compared to my stock unit. Of course, the stock unit was a low-cost Blaupunkt unit with largly the same type of Philips-based circuits inside.
[Android Head-Units] TheSSJ:
Well, the upgrade guide didn't describe it like this...thanks for the explanation, I thought this menu would just be for the CAN Bus protocol to be used and nothing else...have a VW model selected there but I am driving a Hyundai ix35:silly: As I don't have a CAN bus I don't think setting the model to ix35 would be of any use, wouldn't it?

I know, that's why I have an MCU which is solely for my device from the xtrons forum (TD730A)...I wouldn't experiment with other MCU firmwares only because they seem more up to date, I just want the radio reception to get better as my original unit was able to play radio streams without this crackling noise...

Well, I thought the MCU would have some "driver" implemented to fine-tune the radio reception...but it seems I was thinking a little too simple (again :( )

I have an amplified antenna, but it is not powered by the antenna cable itself (I have a DIN connector and the unit, too, so no adapter used fortunately), it has its own cable for power alimentation. As far as I know, there is a cable on the ISO wiring called Ant.Pwr or something like that. If it wouldn't be powered by the unit, I wouldn't hear anything at all (except the strong regional channels, still with crackling noises, though)...

There is an option in the Extra Settings called "Active Antenna power" or so, I set it to "Open" which I'd assume means "On", but I doubt it has any effect at all
[Android Head-Units] Miwer:
Nah - root can do pretty much anything to any file regardless of its permission settings, so that wouldn't work. I think a better method would be to set the immutable attribute, which should prevent accidental deletion by root - I haven't tested this, and I don't know if the chattr command is even available (busybox may be needed).

From the man page:

To set:
chattr +i gocsdk
To remove:
chattr -i gocsdk

I can't say - I already have the gocsdk file, so I renamed it to gocsdk.bin and created my own wrapper script for it, which launches the su daemon:

#!/system/bin/sh

# Launch the SU daemon:
/system/bin/su --daemon &

# pass execution over to original gocsdk binary, with all paramters:
exec /system/bin/gocsdk.bin "${@}"

chmod 755 and it works, and it keeps root between reboots.

I was kinda puzzled about it working, because I was sure that I had tried this before, and the system deleted my custom gocsdk script on boot - but it was earlier on, where I didn't have the file to begin with, and believe I just made a symlink to install-recovery.sh (can't remember exactly).

So imagine my surprise when I discovered that I now have the gocsdk file. I looked a bit into the file, and discovered that looks to be the driver for the BC6 bluetooth module. I have recently exchanged my BC5 module with a BC6 module, and made the MCU change, so perhaps the gocsdk file is only needed (and installed automatically) when you have BC6 and if you have BC5, the system might also delete the file automatically.

So I did this two days ago, and my custom gocsdk wrapper script is still there, and I still have root between reboots. I did NOT set +i on the file, so at any time it may be gone, if the system decides to overwrite it - oh well, time will tell if it becomes a problem :)

rename /system/bin/gocsdk to gocsdk.bin

place wrapper script above into /system/bin/gocsdk

chmod 755 /system/bin/gocsdk

Replaced Baidu su binary with Superuser binary, and removed all traces of the Baidu spyware ;)

/Miwer
[Android Head-Units] TheSSJ:
Official MCU upgrade gone wrong...

I confirm, this did the trick for a real permanent root effect (unfortunately I didn't notice that gocsdk was deleted at some point in time. As I don't have any root apps asking su permission in the background I was a little astonished when I read it here. Then I checked and well - above made my root finally permanent)

____

Topic MCU upgrade...as someone may have read above I got my MCU upgrade from the official forum and finally I took the time to apply it...

I started it by using the "Select Model" menu entry like [MENTION=4736782]kaween[/MENTION] said...I selected the same model as displayed for my old MCU (4.3.3-1-10-0901), which was VW, TEF662X with Audio Chip Rohm37xxx...

Now I am on MCU 4.3.10-1-10-600101 and all my speakers output is a high frequency beep sound...switching radio stations still yield this sound. Playing an MP3 file outputs a little (but highly distorted) melody of the song...

Question: How do I get my MCU version configured to 0901 at the end? Choosing what ever model in the model list doesn't change anything...

I have read something that /system/etc/mcu holds the configs, can I try something there?

[MENTION=4736782]kaween[/MENTION]: Sorry that I haven't just left my hands off the unit. Maybe it was a good thing that the MCU upgrade option in the General Settings didn't do anything :(
[Android Head-Units] Miwer:
Well, if my previous findings are correct ...

0901 = RDS, 2Din FZ, TEF662X, Rohm37534

6001(01) = Color, BC6, TEF662X, Rohm37534

... so you basically went from a MCU configured for RDS and "2Din FZ" (whatever that means ;)) to a MCU configured for Color and BC6 bluetooth.

I believe, when the feature list does NOT include BC6, it means you have BC5 (a different bluetooth module) - I'm guessing, that changing to BC6 configuration+drivers on a BC5 module might cause issues - not only will you not have a functioning bluetooth (am I right?), but since the modules is controlled with wrong drivers (or maybe not even initialized at all), it could also introduce noise on the signal lines to the audio chip. This is purely speculative though, I don't know for sure.

I'm not sure - the extra 01 on your new MCU version suggests, that something in the naming scheme has changed since I last looked at it.

Basically you'd want to use one that match the old one as close as possible. You got the tuner and audio chip right, but not the bluetooth module - you will want to use one, that does NOT have BC6 in it. I don't know if it matters that much about the "Color", "2Din FZ" - my config has Color in it but my button cannot change color, so... ;)

Edit:

Of course I could be wrong about all the above - if you DO have working bluetooth, it could mean that it's not the 01 in the end of the version that's extra, but instead it might be the 60 in front.

In that case your current MCU should be

(60)0101 = RDS, TEF662X, Rohm37534

... more like the original config. Still, I don't know what the extra byte (either in front or back) means.. ?!

Maybe someone else knows this?

/Miwer
[Android Head-Units] kaween:
.... not in the position to try/search for it now, but the issue could be an mcu-bug. (the high-freq sound).

I remember one forum member reporting the same issue : something wrong with the ROHM control. If so, select your EQ and do not set the high-freq part of the EQ over 50%. If its the same issue, the sound should stop. Not a permanent solution, but at least workable for the time being (if it's the same issue of course)

As for the "FZ", I thought the FZ's designation are the "2 part Facia" models, where the radio unit and the screen are physically sepearte from each other .... could be horribly wrong though.

I've had BC5 hardware with BC6-meant mcu's in the past (factory error), it didn't introduce any extra issues except for the Obvious "bt not working" result.
[Android Head-Units] TheSSJ:
Hi,

thanks for the helpful replies. At least for my unit I just have a motorized screen, it's not detachable, maybe this is the sense of the 2din FZ expression, dunno though...

[MENTION=4736782]kaween[/MENTION]: Do you really think this could be it? Seems to be a rather "simple" solution (will try it out as soon as I can though...). Searched also for attachments in this thread and found a version which can fit (if the EQ thing won'T work I'll try to flash the other MCU)...

thanks guys, will keep you posted
[Android Head-Units] balaes:
Compatible 3G Dongles

I can confirm ZTE MF110 product functionality for whom it may concern.
[Android Head-Units] TheSSJ:
Well, that was nothing...

Setting EQ to under 50% didn't change anything (still this beep noise without any radio sound in the background).

Also I tried different MCUs with different patterns at the end:

4.3.4-1-10-0101

4.3.8-1-10-210101

4.3.10-1-10-210101

EDIT:

I finally did correct it. I found the correct MCU in a non-directly linked dropbox folder...I am so happy now...

I clicked the MCU field 3 times and saw a config which I have never seen before though...will make a photo later but this is what I recall:

Normal (4.3.10,RDS,2DIN FZ, blabla), MCU is 4.3.10-1-10-490101...

I have seen often sentences like "VW is universal" on 4pda, but it always gave me that weird beep sound, now I see that there has to be another config which comes up pretty seldom in the "wild internet"..

Anyways, I have uploaded it here, this is the latest MCU upgrade for the TD730A, flash at own risk, but it saved my a$$.