• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Help: Pyle PTBL102BCD tablet has only partial ROOT

Have a strange one I don't know how to fix, and I don't think it's hardware-related, rather a software thing. Purchased a Pyle PTBL102BCD tablet for the Mrs. to use basically as an ebook reader (according to About, running 4.2.2). When it came in I started to sideload apps (do not have a Google account), and searched on the Net on rooting the device. Found a one-click that worked with a different Pyle tablet, so I gave it a shot.

Now I have root access _only_ through the adb shell. None of the apps (including Superuser.apk itself as tested by updating /system/bin/su) can get root access, yet I have no problem running root through an adb shell - remounted file systems, even performed an su which is the only instance Superuser.apk's log shows. Root access in the shell remains between reboots, so it's not a temporary root.

If the adb shell has root, I _should_ be able to use it to grant access to everything else, and I've followed a few different "manual" root instructions (with different permission settings for su and busybox), with no joy. So long as I connect with a USB cable and type on the Windows machine, I'm god. On the tablet itself...not so much.

I hope that someone with a more intimate knowledge of Android internals can point me in the right direction for achieving root completely. Currently have Titanium Backup and ConnectBot installed to test root, Superuser v3.1.3 and su v3.1.1. Permissions on su are -rwsr-sr-x.
 
A Chinese tablet sold by Walmart I believe. Pyle are just an importer, and they won't help with rooting. BTW I see you posted over on XDA about this as well, no replies. OK, unfortunately with something like this, the manufacturer is unknown, which means there's probably going to be no proper rooting information at all for this tablet. Going in via ADP, doesn't necessarily mean the device itself is rooted. Thing is the way to gain root, can very depending on what the device is and what the particular manufacturer has done. Get it wrong, could brick the device.
 
A Chinese tablet sold by Walmart I believe. Pyle are just an importer, and they won't help with rooting.

He, he...yeah, I didn't ask them. Personally, I can't figure out why we have to jump through so many hoops and literally crack the devices we own to acquire root access...this is like Microsoft shipping a Windows8 machine without an administrative password.

Going in via ADP, doesn't necessarily mean the device itself is rooted.

No, but it does mean there is an avenue of root access on the device to complete the exploit; having an account that can remount file systems rw, create scripts, replace programs in /system/bin, etc. does mean I have administrative control over the tablet.

FWIW, it also means other one-click systems (like Kingo) won't work because it assumes the device is already rooted. What I find creepy is that initiating an ADB shell is immediately root...no elevation required, I immediately get a "root@android:/ #" prompt. Which implies any command sent via ADB is running as root by default. I'd better be really careful with my typing... ;)

Get it wrong, could brick the device.

Seems to me the hard part is already done. The only thing I can't figure out is how to use the root account I have to allow Superuser.apk root access. I suspect it has to do with file permissions, but I'm not sure.

Will be spending the afternoon researching manual root techniques to see if I can figure out how to leverage the access I already have to grant apks elevated privileges. Any suggestions would be greatly appreciated; I'm not afraid to keep poking at the thing.
 
I think you're right that it's a file permissions thing - sort of. I think it's more precisely a *user* thing. IOW ADB is granting su rights as user A while superuser is expecting user B on the tablet. To actually root the tablet A must give B su rights. Unfortunately, offhand I can't help much beyond that. I'll give it more thought...

Edit: Can you post a relevant snippet of the superuser log file?
 
I think you're right that it's a file permissions thing - sort of. I think it's more precisely a *user* thing. IOW ADB is granting su rights as user A while superuser is expecting user B on the tablet.

Hum...interesting. In digging around with some other stuff, is it accurate that each installed APK is a different "user" from the perspective of linux? Or did I misread things?

Edit: Can you post a relevant snippet of the superuser log file?

Sorta, if you mean the information in /data/data/com.noshufou.android.su/databases/su.db, um, ok. I'll type it here, since there is only a single entry...and I know _exactly_ what that is; yesterday while in an adb shell I typed the su command for giggles. That is the _only_ thing I can see in the logs (and it concurs with what I see when I hit the info button in Superuser.apk):

Code:
logs:

_id   app_id   date                  type
 1        1    1398988401015          1

apps:

_id   uid   package   name    exec_uid   exec_cmd   allow   notifications   logging   dirty
 1     0     root     root       0                   -1                                 1
Note that none of the other things which were supposed to grab root (Simple Root Checker, Samba, Titanium Backup, ConnectBot) appear at all here.

Edit: Speaking of Simple Root Checker, I should probably note what it reports:

Code:
Application Superuser not found
Terminal does Rooted
Busybox installed
BusyBox v1.19.3
No clue why "Application Superuser not found;" it's in /system/app/ and does appear in the pick list (as sys app, since I can't Uninstall, only Disable). But it is all lower-case ("superuser.apk"), and has -rw-rw-rw- permissions where other sys apps have -rw-r--r--. (Permissions on /system/su binary, owner root, are -rwsr-sr-x - should that be -rwsr-sr-s ?)
 
If you open a terminal on the tablet, does it open as root or as a user? I'm really confused about just what is going on from the info you provided but I can't figure what other info I should ask for. I have a funny feeling if it ever hits me what it is I'm gonna feel stupid that I didn't figure it out sooner...
 
If you open a terminal on the tablet, does it open as root or as a user?

The only way I know of to open a terminal through the GUI is using ConnectBot, which is just an app, which like every other app can't find or at least doesn't talk to Superuser.apk, so it throws a java error when I su (part of it is below, in the forlorn hope it will help). But clearly, what I don't know about Android fills libraries, so if there's a way to grab a terminal directly on the tablet without running through an app, please let me know.

Oh, in the FWIW department, using an ADB shell I remounted /system as rw, renamed "superuser.apk" to "Superuser.apk", and now Simple Root Checker thinks I'm fully rooted. It's wrong, but it's at least optimistic.

ConnectBot's java error in part:

Code:
java.lang.SecurityException: Permission Denial: broadcast asks to run as user -1 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS
(lengthy ats skipped)
 
Connect Bot is a SSH shell. Install Terminal Emulator on the tablet for a terminal.

There's some sort of user ID and/or user permission thing wrong here. Maybe the obvious will hit me...
 
Connect Bot is a SSH shell.

Well, yes, it is an SSH client, but it is also a telnet client and a local terminal emulator (click the drop-down and you can select from the three possible clients). But, like Terminal Emulator, it's an app which connects to a terminal, not a "real" terminal. (Possibly difference without distinction, but then I know of no way to boot an Android device directly to a shell, so the GUI is pretty much always in the middle working directly on the tablet.)

Install Terminal Emulator on the tablet for a terminal.

Done (sideloaded the one at https://github.com/jackpal/Android-Terminal-Emulator ), and it throws exactly the same error.
 
If the tablet is really rooted the terminal on the tablet should have a root prompt without having to su - shouldn't it?
 
If the tablet is really rooted the terminal on the tablet should have a root prompt without having to su - shouldn't it?

On my phone no, comes up with the user $ prompt, have to type su to gain the root # prompt. Which would be correct for a system that's not logged in as root, but has root access.

See attached screenshot.
1399330774006.jpg
 
On my phone no, comes up with the user $ prompt, have to type su to gain the root # prompt.

That's what I would expect. When I open a terminal (ConnectBot or Android Terminal Emulator), I have a user prompt; "su" should give me root, but does not on this tablet. (Every other device I own works the way you describe; "$" until specifically changed with "su.")

However, note that an ADB shell on this tablet is oppositely wrong; while it should give me a user prompt when first initiated and require issuing an su command to gain root privileges, it doesn't; I issue "adb shell" from a command prompt on Windows, and immediately get a, "root@android:/ #" prompt. This frightens me a little, since I can't figure out how to drop privileges in an adb shell. Not thrilled wearing the magic hat all the time, you know?

Oh, and see above for a description of the java permissions error I receive when I issue an su in the terminal on the tablet.
 
That's what I would expect. When I open a terminal (ConnectBot or Android Terminal Emulator), I have a user prompt; "su" should give me root, but does not on this tablet. (Every other device I own works the way you describe; "$" until specifically changed with "su.")

That likely means it's not properly or truly rooted. Also you might see a notification, saying something like "Super User privileges have been granted....", if the device is rooted.

However, note that an ADB shell on this tablet is oppositely wrong; while it should give me a user prompt when first initiated and require issuing an su command to gain root privileges, it doesn't; I issue "adb shell" from a command prompt on Windows, and immediately get a, "root@android:/ #" prompt. This frightens me a little, since I can't figure out how to drop privileges in an adb shell. Not thrilled wearing the magic hat all the time, you know?

Oh, and see above for a description of the java permissions error I receive when I issue an su in the terminal on the tablet.

Because going in from adb from Windows, that's not the user of the tablet, that's effectively another user, i.e. a root user. Sure that's how it is. Can't really help with the Java permissions stuff, I'm not a true hacking geek with this stuff.

When I rooted my Oppo, it was an easy, well documented and proven procedure. Really just following a 6 minute YouTube video.
 
That likely means it's not properly or truly rooted.

Yep, that's the problem alright; the tablet is not properly rooted. This is what I am trying desperately to fix.

Because going in from adb from Windows, that's not the user of the tablet, that's effectively another user, i.e. a root user.

I've rooted a number of devices, phones, tablets, and "sticks," and I have never had one that defaulted to logging into the ADB shell as the root user. This is another symptom of the problem, not expected behavior.

Something in its innards got scrambled. If I can figure out what, I should be able to fix it.
 
Back
Top Bottom