yashsingh1/xdaforums huggingface dataset:
[Transformer TF300T Android Development] miloj:
Because risk was too high in my opinion:

- risk to brick when injecting the blob into mmcblk0p4 (if the tablet reboot in the middle, I guess you get a 500€ brick)

- risk to not receiving any ASUS OTA (many users have reported this, I didn't want to test it myself)

The procedure was also a bit too complex, between US, DE, DE to WW, and WW blobs.

Also the .17 WW blob is nowhere available.

With my method, there is one risk, it is if the tablet reboot in the middle of writing into the partition. But I guess than, like any other linux (or unix for that matter), the android boot would run fsck on the partition and get it repaired.

And my method is faster !! :)
[Transformer TF300T Android Development] ks0z3:
Thanks man. Worked like a charm for me olso.

I am on ww.29
[Transformer TF300T Android Development] perry99:
Thanks, works like a charm!

ww.29
[Transformer TF300T Android Development] fingery:
Beautiful.

Got root on ww .29 here.
[Transformer TF300T Android Development] gasingvar:
I didn't try, but if I'm allowed to guess the debugfs tool doesn't check permissions as rigorously as mount commands (ie it's working on a lower level). But that's a guess. Another guess would be that dd'ing the su binary would have worked, but then you probably wouldn't have been able to set the correct permissions on the su binary.

The downgrade method doesn't work with OTAs on .WW firmware. This is the only way at the moment if you're > .17 WW or on .17 DE.

It may even work on __many___ more devices (but that's another guess).
[Transformer TF300T Android Development] TonyStark R.I.P.:
miloj any chance you could make a YT video of this? This would be great to be added into the INDEX, in a YT format.
[Transformer TF300T Android Development] chrmhoffmann:
works!

Excellendo.

Chris
[Transformer TF300T Android Development] phigafr:
A great great thanks from an almost noob... My TF201 unlocked (!) .21 is now rooted!!

Pas remarqué que tu étais français aussi!
[Transformer TF300T Android Development] Niggy86:
A great thanks from me, too!

I have one question: After dooing all steps, my tablet is rooted. But the SuperUser App doesn't ask me to allow the apps. In the SU-App from the Market i don't see any App allowed, but every app which needs root, works in root mode without asking.

Did I do something wrong?

Thank's a lot,

Niggy
[Transformer TF300T Android Development] gasingvar:
You need to install superuser from market and reinstall the su binary.

As soon as possible.
[Transformer TF300T Android Development] darkuni:
At the risk of getting torched ... :)

Is there a Windows version of debugfs? I'm assuming this is to be done under Linux.

Any Windows equivalents?

Thanks :)
[Transformer TF300T Android Development] David Dee:
Anyone tried this method on the JB update?
[Transformer TF300T Android Development] funnel71:
This method doesn't work after jb update.
[Transformer TF300T Android Development] suqyy:
Damn! Should have read about root keeper before accepting JB OTA update....

Any ideas? Could someone who used root keeper share the backup if possible?

Thanks!

/Kenneth
[Transformer TF300T Android Development] ch3mn3y:
I can upload backup but i dont know rootkeeper's directory. Root explorer dont want to find it and manually i cant too.

Sent using tf300t - stock JellyBean (rooted)
[Transformer TF300T Android Development] KuliX:
Take a look at
[Transformer TF300T Android Development] ch3mn3y:
Here: http://db.tt/N7bVxH09.

Only this file was in this folder.

Sent using tf300t - stock JellyBean (rooted)
[Transformer TF300T Android Development] suqyy:
Thanks! I seem to be missing the folder /system/usr/we-need-root...

I found this post on how to restore root after JB update.

http://xdaforums.com/showthread.php?t=1840504&page=9

Have to investigate some more. Can I have partially root? If I open root explorer, superuser still logs that root explorer is granted superuser rights but I can only open the system folder with r/o rights

/Kenneth
[Transformer TF300T Android Development] ch3mn3y:
Maybe delete superuser rights for apps which has problems with it like rootexplorer and allow it again?

Sent using tf300t - stock JellyBean (rooted)
[Transformer TF300T Android Development] olmg:
I rooted my pad at version 30. I got the OTA update message to 4.1.1 but the robot fall down. Anyone can help me for this issue?
[Transformer TF300T Android Development] Flashben:
so as to say this method is ti get root without changing the bootloader or using the computer??
[Transformer TF300T Android Development] Flashben:
How do i root when my fw is .40?
[Transformer TF300T Android Development] godS3nd:
Thanks, I got your backup and tried the we-need-root folder but got a permissions error when I tried to put your file in that folder... ADB push maybe?
[Transformer TF300T Android Development] ems328i:
I'd like to know this too!
[Transformer TF300T Android Development] LRT:
Is there any reason why I can't just use the su binary from a superuser apk rather than the one included?
[Transformer TF300T Android Development] sparkym3:
No, that su binary should be fine. That is the binary I use in my automated debugfs root tool.
[Transformer TF300T Android Development] dragonnn:
I will make a small temp root, I will to have my su in /data/local/, but it doesn't work full:

1|shell@android:/data/local $ ./su
Now we be 2000:2000 !
root@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
root@android:/ $

The UID is wrong, why? I have set all the permissions from debugfs to this su binary (I used mmcblk0p8 - the data partition instant the mmcblk0p1) why?

EDIT

BTW My firmware is .30

EDIT

Strange, made a full root, now it works
[Transformer TF300T Android Development] inthezone787:
Hi,

Is there the source code for the debugfs tool available anywhere?

Thanks
[Transformer TF300T Android Development] miloj:
You can find it here: http://e2fsprogs.sourceforge.net/ext2.html
[Transformer TF300T Android Development] sparkym3:
If you are talking about the tool I created, that is just a bat file and you can open it with a text editor. The actual debugfs binary is part of the unix system and should easily be found.
[Transformer TF300T Android Development] inthezone787:
Thanks. Does anyone know of a way to do this temporarily (from /dev or running su in /data/local/tmp with symbolic links somehow) that would make this a temp root instead of permenant (or instead of writing to a partition, then having to delete)?
[Transformer TF300T Android Development] gagi´d hype:
Sorry if i missed something.

Adb push dont work for me. I allwais get Permission denied. ( failed to copy 'debugfs' to '/data/local//debugfs': Permission denied )

What am i doing wrong?

My curent version is v.9.20.4.21 WWE
[Transformer TF300T Android Development] schriss:
Hi,

I run the above command on Asus Padfone 2 and get this:

What would be the magic number?
[Transformer TF300T Android Development] Dr.Alexander_Breen:
Looks like in newer FW /data/local is not writeable by world.

It's a pity. We don't have any other place in system where everything called "tmp" automatically gets 777 permission :/
[Transformer TF300T Android Development] digitaltailor:
I have tried a few methods for rooting my TF300, to no avail. I wanted to give this method a shot, but I am confused as to where to start with these commands. Am I supposed to issue these in fast boot mode? Or do I just download a terminal emulator and type them in that. (I tried the latter but I think I am missing something).
[Transformer TF300T Android Development] funnel71:
This method only works if you are on ICS. As for how, I manually entered into a shell session and typed the commands that way, adb shell will start a session.
[Transformer TF300T Android Development] todd3835:
Someone should get the OP or a Mod to list this at the top of the thread. I spent hours trying various methods. If it only works on ICS, that should be listed in the OP. While I'm all for reading threads, something like that should be clearly listed......
[Transformer TF300T Android Development] gasingvar:
It's done on the actual device, so you don't need a windows version.

What you need is adb on your windows 'puter.
[Transformer TF300T Android Development] darkuni:
GOTCHA!

That was INSANELY easy. Thank you! had I done the rollback to .17 I would still be in the middle of it!
[Transformer TF300T Android Development] miloj:
gasingvar is right, debugfs is executed on the tablet, which is running linux.

But to answer precisely, debugfs is for ext2, ext3 and ext4 partition formats only, so unless you have these kind of partitions on Windows, and want to mess with them, you don't need to have a Windows version. I don't play with Windows (and Windows don't play with me either ^^), so I don't know any equivalent for FAT or NTFS.

So to put it clear, you can use the debugfs binary I provided to root your tablet, even if you're running Windows on your desktop.
[Transformer TF300T Android Development] darkuni:
For some reason when I saw something not preceded with a $ or #, I got a bit lost. I didn't realize that it would run on the tablet side.

This was BRAIN DEAD simple. Of course, for most people, the whole ASUS Sync/drivers and ADB is the scary part - but I've been doing this forever.

Just goes to show - doesn't matter how long you've been doing something - you really don't know much :)

Thanks again A TON ... this was so fast.
[Transformer TF300T Android Development] miloj:
You're right on the first part, debugfs works on a lower level than the filesystem. Since we got write access to the device mmcblk0p1 (the partition that is mounted as /system), we then could write anything in it.

It wouldn't have worked as easily with dd, because you can't inject only one file with dd at the partition level, and we don't have write access at the filesystem level to dd a single file. We would have had to dd the entire partition, wich is extremely risky on a mounted partition.

And your guess may be right, I've already done it on a TF201, and a friend will report me tomorrow if he managed to do it on a TF101 ^^
[Transformer TF300T Android Development] miloj:
Glad to see it's fast for users, it took me 24 sleepless hours to get it right. I was kinda stressed to brick my TF300 so I double checked every step :)
[Transformer TF300T Android Development] miloj:
Rule #1: don't panic !!

Rule #2: always refer to rule #1 :)

Every line prefixed with ":" is a commentary

Every line prefixed with "$" is executed in the adb shell

Every line prefixed with "debugfs:" well you guess it...

And every line with no prefix is executed from your host, always an adb command.

You type everything like if you followed a cooking recipe.

And if you still don't understand, then RTFM once more, and ask precise questions please :)
[Transformer TF300T Android Development] TonyStark R.I.P.:
I ask again?
[Transformer TF300T Android Development] tdog7879:
So just run the script and thats it?thanks for the help!
[Transformer TF300T Android Development] miloj:
It is not really a script, you have to type every line one by one (or cut'n paste them).
[Transformer TF300T Android Development] miloj:
Yeah, one moment... (running my excuse script...)

Ah too bad, I can't install a GUI on my dev machine :/

I'm sure someone else will take care of this :D
[Transformer TF300T Android Development] gasingvar:
No.

You need to type in every command yourself.

The prefixes should not be typed in (you shouldn't type $ nor # nor debugfs: ).

The comments are comments on what to do, not comments made in a script (ie you can't execute the comments).

Your command shell will look like this:

$ cd /data/local/

but the only thing YOU should write is:

cd /data/local.

What the heck.

This is NOT a script! You need to enter the commands one by one.

The only exception is the

"debugfs:"-lines, because they are VERY dangerous (instant brick if you mess up)

debugfs: cd xbin

means you should ONLY type in

cd xbin

do the same for all the debugfs: -lines (type the commands. not the prefix debugfs: )

adb push debugfs /data/local/
adb push su /data/local/
adb shell
cd /data/local/
mv tmp tmp.back
ln -s /dev/block/mmcblk0p1 tmp
exit
adb reboot

adb wait-for-device
# WAIT UNTIL THE PAD HAS BOOTED UP AGAIN
adb shell

cd /data/local
rm /data/local/tmp
mv /data/local/tmp.back /data/local/tmp

chmod 755 /data/local/debugfs
/data/local/debugfs -w /dev/block/mmcblk0p1

# THESE ARE VERY, VERY DANGEROUS! MAKE SURE YOU UNDERSTAND WHAT YOU'RE SUPPOSED TO TYPE IN!!!
debugfs: cd xbin
debugfs: write /data/local/su su
debugfs: set_inode_field su mode 0104755
debugfs: set_inode_field su uid 0
debugfs: set_inode_field su gid 0
debugfs: quit
exit

adb reboot
adb wait-for-device

# WAIT UNTIL THE PAD HAS BOOTED UP AGAIN

rm /data/local/su
rm /data/local/debugfs

Then install superuser from market and update su binary.
[Transformer TF300T Android Development] demandarin:
i think we have an automated tool on the way. its a matter of who brings it first..lol check prime developement section the next few days.

thanks for finding this. its going to make alot of 300 and prime owners happy :)
[Transformer TF300T Android Development] tdog7879:
Do i have to run asus unlock app? Or just hook the tap to the computer and run adb and copy and paste the command lines? Sorry for all the questions just want to do it right the first time around.
[Transformer TF300T Android Development] tdog7879:
Thanks for the help...sorry for dropping the "SCRIPT " word it was just the first word to come to my head when typing my post.
[Transformer TF300T Android Development] gasingvar:
No, you don't need to unlock.

Yes, it's that simple.

BUT you HAVE to type them in exactly correct unless you want to risk a brick.

The downgrade/manual flash methods dd:ed a big file for a long time which I found really scary as well (tiny failure in file or device -> possible brick), and this method is definitely more safe (IF you do it correctly).

There should be a more automated way of doing it on the way, so if you're not sure you'll understand milojs instructions you should wait for the automated way (and then wait some more for testing).

---------- Post added at 11:58 PM ---------- Previous post was at 11:56 PM ----------

I just wanted to make sure you didn't copy the whole first post and pasted it in a command prompt. ;)

The "What the heck" part was actually meant for myself (as in "What the heck, I may as well copy the whole first post and remove most prefixes. I can't sleep anyway.").

Questions are meant to be asked.
[Transformer TF300T Android Development] tdog7879:
its all good bro...i have rooted several phones threw adb i just wanted to make sure i do it right seeing how there are a few different ways to root this bad boy...this seems to be the easiest way...i just wanted to get as many questions answered before i root...thanks again for the help!
[Transformer TF300T Android Development] TonyStark R.I.P.:
so this is what I get on the first try

Now mind you, all I've done is connected the tablet to the pc. Debugging is checked
[Transformer TF300T Android Development] gasingvar:
You need to download the files from the first post.

You seem to need to copy the files debugfs and su to c:\android-sdk\platform-tools\

And then you may get started (but read, read and read again the instructions).
[Transformer TF300T Android Development] tdog7879:
So you need to download those 2 files and put them in the sdk tools folder before you get started?
[Transformer TF300T Android Development] VolcanicSkunk:
Works Perfectly!

Thank you so much for this root method miloj!!! This worked perfectly on my US .29 TF300. So easy to do! Excellent work!
[Transformer TF300T Android Development] darkuni:
Interesting. Superuser doesn't seem to be doing it's job. I'm definitely rooted. All root apps are working.

However, I've never been asked to approve any apps. Kinda ... creepy. Both Superuser and SuperSU both report NO apps are approved. Yet TB, AdAway, etc are working.

I feel like my system is ... OPEN.

Any thoughts after doing this procedure?

EDIT: I used the SUPERUSER preferences option to check for an update. It did an update and told me to reboot. I hit my reboot widget (damn that's handy) and POOF .. I was pinged for SU privileges (the widget always has required it). Upon reboot, the system was good!

Hope this helps someone else out.
[Transformer TF300T Android Development] miloj:
Yes, you have to check for an update in superuser, I'll update the OP to reflect this.
[Transformer TF300T Android Development] Sib64:
You should re-write your OP and use this tool on the message menu # (go advanced) and separate different parts of your script.

And if you find a way for build an automatic script or tool, it will be excellent ;)

like this :

adb push debugfs /data/local/
adb push su /data/local/
adb shell
$ cd /data/local/
$ mv tmp tmp.back
$ ln -s /dev/block/mmcblk0p1 tmp
$ exit
adb reboot
[Transformer TF300T Android Development] miloj:
Should be ok now :)
[Transformer TF300T Android Development] Griffin1006:
Looks promising.

I'll look into it.

But what if they (Asus) comes with a new FirmWare build?? Does the OTA automatic update works? Do you keep the root?

If you execute this method, do you keep all the settings/Apps and all that, or does the tablet gets wiped?
[Transformer TF300T Android Development] Sib64:
Your OP is listed in the Index thread/ Root ;)

Well done
[Transformer TF300T Android Development] miloj:
Most probably yes.

I don't know how ASUS will react to this, but since the bug is present since at least the .17, there is a good chance it'll work some time.

Nothing is changed on your tablet, only a file (su) is created in /system/xbin, with the good perms to get root.

Make backups just in case, but the method has proven to be efficient.
[Transformer TF300T Android Development] miloj:
Exactly. Those files (debugfs and su) need to be transfered from your host to your tablet, that's what "adb push" does.
[Transformer TF300T Android Development] miloj:
I may do it, if/when I get some free time.

I'm a total n00b when it comes to android development, but I guess an apk won't do the job, so there still will be files to download and push on the terminal (not a one-click procedure).
[Transformer TF300T Android Development] Sib64:
Avoid making double or triple posts. Regroup your answers with the 'EDIT' button. It would be better ;)
[Transformer TF300T Android Development] Griffin1006:
Another question before I start trying it out tonight (after work).

Is there a simple tutorial on how to use the ABD command stuff (because I think I need the SDK for an emulator but I'm not 100% sure).
[Transformer TF300T Android Development] Sib64:
Don't you know that you have one INDEX THREAD for the Development forum ?

Just before asking questions like this, it will be good to search a little on the forum. You're really incredible :D

Please, look my sig ;)
[Transformer TF300T Android Development] madferret:
Well that was very easy in the end! :D All done in about 10 minutes using a MacBook and Terminal. Many thanks, miloj.

Just one comment about the command lines, you haven't added

$ exit

at the very end to get out of adb shell. I know it's obvious to most people, but (given the standard of some questions ;)) should be there for completeness?
[Transformer TF300T Android Development] TonyStark R.I.P.:
Thanks for that. I did read, read... read and then I read some more. By the time I was done, I was to bleary eyed to see the files to download. That's when I posted here;) All went well.
[Transformer TF300T Android Development] das7771:
This worked flawlessly...I did have one issue where I could not execute the"mv" command on my laptop. It would hang and do nothing every time. I tried my comp at work and it worked the first try, now I have the newest update with root....Thanks for your efforts. It's nice to see alot developing for this tablet.
[Transformer TF300T Android Development] igimp:
Thanks very much for this, worked like a charm :)

(once I got the right drivers working for my TF300 :D )
[Transformer TF300T Android Development] Ovigo:
I want to use this on my Prime (tf201), but am a bit hesitant because i haven't seen many people yet who've used this for the Prime. Are there any added risks on the prime compared to the tf300, provided I CAN RTFM?
[Transformer TF300T Android Development] Sib64:
Could you explain why you don't use the different tools that you have for the Tf201? :confused:

You have many tools verified and validated by many users ;)

- ViperMOD PrimeTime v4.5 | Auto Root/Unroot/Busybox/CMW Flash!:

- SparkyRoot:
[Transformer TF300T Android Development] Ovigo:
Yes of course I can explain that. All of these tools don't work for .21 firmware (yet). And since I am on .21, this would be the only method for me to gain root, besides going through a whole downgrade process
[Transformer TF300T Android Development] miloj:
From what I've seen, the existing vulnerability is exactly the same in the tf201 as in the tf300, so I would assume it is as safe (ie. no added risk).
[Transformer TF300T Android Development] sparkym3:
There are those that have used it for the prime, you just have to look around in other threads.
[Transformer TF300T Android Development] Ovigo:
Thank you for your response. Going to try it now. Will report back to the topic in TFP fora.
[Transformer TF300T Android Development] sparkym3:
I have created an automated tool using this root method and am looking for confirmation that it works on a Transformer 300.

http://xdaforums.com/showthread.php?t=1706588
[Transformer TF300T Android Development] miloj:
Does this mean it has been successfully tested on TF101 ? That's a good news :)
[Transformer TF300T Android Development] sparkym3:
No, I just haven't been active in the TF101 thread so I do not know the status of its effectiveness there. If anybody has any input I will the second post updated with anything I hear.
[Transformer TF300T Android Development] Science Ninja:
First, let me say thank you to all of you (especially the OP) for this wonderful root method. I would really like to try this, but I'm uncertain about a few of the instructions. Before attempting, I want to make SURE that I understand.

I you all will humor me, I have a few unanswered questions:

1. When I connect the tablet to my PC, other than having USB debugging enabled, does it matter how it's mounted? I only see two options: a) Media b) Camera

2. Are all the commands listed executed through the command prompt on the PC (or are there some that I need to run on the actual tablet through terminal)?

3. When the tablet is connected to my PC, if I run "adb devices" should the tf300 show up in the list of devices?

4. If yes to 4, and I don't see it, I assume I need to update drivers?

Thanks in advance.
[Transformer TF300T Android Development] sparkym3:
1. It must be mounted as Composite ADB Interface, by default the Asus driver does not do this, I had to go into device manager and update the drivers and manually point them at the other version of the driver (there is a sticky thread about this in the dev section of the prime).

2. Yes, command prompt

3. Yes, it should be listed

4. See question 1
[Transformer TF300T Android Development] MisterWolfe:
Is there any way to have this as an apk or script that can be loaded on the tablet that would automatically push the commands at the proper interval?
[Transformer TF300T Android Development] sparkym3:
Yes, should be possible. I would have added it to my current apk, except it may be patched within a day on the prime and probably not to long from now on the other devices.

Currently, the automated adb process is as far as I am willing to go until we see if this method will be available for a while. Once the prime is updated, if the exploit still exists, I will add it to my apk.
[Transformer TF300T Android Development] Griffin1006:
Took me a while to get adb working but now works.

Checked it with several root checkers and got root on a ww.29. cheers mijo