[HOW-TO]Full USB OTG on Media Players in Marshmallow - Upgrading, Modifying and Unlocking

It's my first relevant post in here so please be benevolent and friendly to me .
Hello everyone,
After long hours of roaming around on the internet, Moto forums, PowerAMP forums (you wouldn't believe how many people posted this problem in there), huge exchange of emails and debugs to the Nexus Media Importer dev, and checking out many many topics here on XDA, I finally came across the only way to use an USB-OTG pendrive as a music library, and having Android detect it (through the Media Service) and build the music library for other media apps to use.
tl dr; Problem: You wanted loads of music without wasting precious internal memory. You tried using an USB pen but no mp3 apps were able to find the files, nor stickmount, nor whatever.
This is so far the only way to do this on android Marshmallow.​
Believe me, I've tried almost everything one can do, including using the Nexus Media Importer, Stickmount, OTG Helper, etc (spoiler alert, none of these worked).
Why is this happening, you ask? Well, Google changed things on Android 6.x.x so much regarding filesystems and USB support that full read/write on USB OTG with other apps no longer works, although I've never tested on previous versions of Android. But I finally managed to find a way to do it, and here I intend to share it with you guys.
Requirements - Rooted phone and permissive SELinux (what is that and how do I do it? don't worry, it's easy and I'll explain a bit later)
1st step - Verify that your phone is capable of using USB-OTG. If it is not, check on play store for other apps that supposedly can enable USB Host support on your phone, although I've never tried them because I never needed, so I can't say anything. My phone is a Moto X 2014 and it comes with OTG support embedded.
2nd step - Format your pendrive as NTFS. This is very important because...
If you use your pendrive as Fat32, Android will mount it to a folder in /data/media_rw/blablabla with GID and UID 1023 (media_rw), which most apps don't have permissions to access, thus they won't be able to find your pendrive and build a music library. Why? Well, glad you asked...
...Since Fat32 doesn't support the linux permissions system, Android mounts the pendrive with the FUSE fs wrapper, which cloaks a permission system hard-coded into some file in the Android system that I wasn't able to tell how could I modify it in order to set the pen permissions as 777 root root.
You can do so by plugging your pen on a Windows PC and right clicking -> Format. Remember to backup your data, otherwise you will lose everything. Your pen will still be able to be used on Windows pcs and Macs. You could also use other fileformats...
... like EXT4 or f2fs or exFAT or whatever, but do it at your own risk. I have no idea if those would work, despite them being able to use the linux permission system.
3rd step - Install the wonderful app Paragon HFS and NTFS mounter from appstore or whatever. They say it isn't compatible with marshmallow but it is, the only issue is that it can't mount a pendrive automatically but it's very easy to do it manually. In the settings menu, you can set SELinux as permissive. Since I'm not an android dev, only an ambicious amateur, I can't really explain what it does or what happens when you do that. So far, neither me or my phone died because of that, so.
Oh by the way, whenever you insert the pen , Android will say it's corrupted and ask you to format it. DO NOT DO IT! That happens because Android doesn't natively support NTFS (hence using an external app to solve that). Oh, and since we're talking about that, there is a way for Android to natively support NTFS...
..., just search it up on XDA. Beware that it's outdated and it won't work on Marshmallow either, unless you edit the copymodulecrc script, but that goes beyond my knowledge. For now, stick to the plan.
4th step - You need to choose the folder which you want to mount the pen to, which will be a folder in the root Android folder (I chose /pen so that I wouldn't forget)
You are now probably thinking, "That's insane! You need to edit init.rc in order to do that!" Well, you're kinda right, but there is a workaround for that. Why do I do this? Well...
... if you mount the pen in another random folder such as /storage/emulated/0/pen it won't work because all the folders underlying that one have certain permission issues that don't let other media apps be able to search for music files.
So here I'll show you two ways of accomplishing this.
4.1 Editing init.rc - This is very complex and NOT RECOMMENDED unless you're very comfortable with messing with boot files. PLEASE DO NOT DO THIS if you aren't sure of what you're doing, don't tell me I didn't warn you.
So in order to do this, well, I won't explain it to you. Search it up on the internet, it's very complex and too big for me to post here. But in the end what you want to do is edit the init.rc file, adding two lines:
"mkdir /pen" and "chmod 777 /pen".
4.2 Creating a script that runs on boot - This is the one method I recommend since it's harmless, but you have to install yet another app, that allows you to run scripts at boot. I used script manager. Then create a script that mounts the / folder as rw, creates the folder /pen, chmods it to 777. I used the following:
#!/system/bin/sh
su -c mount -o rw,remount /proc /
su -c mkdir /pen
su -c chmod 777 /pen
I tried other mount -o commands with rootfs instead of /proc but they didn't work. I don't know the difference but I hope it's harmless. Anyways, let's move on.
Run the script to see if it works, and to create the folder. Use a rooted file explorer to verify if the folder was created.
5th step - Reboot your phone if you had to set SELinux as permissive, and type on the Terminal "su -c getenforce" to confirm that your SELinux is permissive.
VERY IMPORTANT - On the Paragon app, open settings and disable FS access rights, otherwise it's the same as mounting a Fat32 pendrive - not what we want.
On the Paragon app, choose the folder we created before as the folder to mount the pen to, and mount the pendrive. If you followed all the previous steps correctly, the app won't have any issues mounting the pen.
6th step - Find a way to enforce Android building a media library with the new files in the USB OTG pendrive. There are many ways to do this and I recomment the one I used, but I will tell you other ways.
I used the app jetAudio which is a media player that can also forceably build a media library. On jetAudio settings menu, press "Rebuild media library" and point to the /pen folder. It will start reading all the files and Android now detects your pendrive as a media library.
Another way would be to use an app called FolderMount, and creat a symlink from the /pen to another folder in your emulated SD storage (you know, the only folder you have access to if you're not rooted), and wait for some time until hopefully Android detects your new music. If you don't want to use FolderMount, do a symlink with another method (like the ln command)
EDIT - Another cool way I found elsewhere on StackExchange is to run this command (through a script or whatever):
am broadcast -a android.intent.action.MEDIA_MOUNTED -n com.android.providers.media/.MediaScannerReceiver (-d file:///pen)
which forces Android to run a media scan. The part on parenthesis is optional, you can use it to choose the folder in which Android runs the media scan.
Hurray! Congrats for reaching this part of the post. If you did everything correctly, all media apps will finally be able to find the files. I posted some screenies to orientate you.
Feel free to ask anything and I will try to answer or explain. Remember that I'm no Android dev so my knowledge is limited. Feel free to thank me, if you want too.

reserved post

Why so compilcated? USB-OTG is supported on the fly by Android 6.0 / Marshmallow, but unfortunately most of the N7-kernels have a bug which lead to reboot on unmounting the OTG-Device. Nevertheless the next version of Android 6 AOSP on Grouper should have it fixed this issue ...

AndDiSa said:
Why so compilcated? USB-OTG is supported on the fly by Android 6.0 / Marshmallow, but unfortunately most of the N7-kernels have a bug which lead to reboot on unmounting the OTG-Device. Nevertheless the next version of Android 6 AOSP on Grouper should have it fixed this issue ...
Click to expand...
Click to collapse
It's not as straight-forward as you're saying.
Most media player apps that weren't updated to support Android 6's native USB OTG support will not be able to read a pen's contents. This topic that I made is aimed to circumvent the issue by mounting the pen in a different way. That bug you mentioned is not something I want to solve, and even if a new kernel solved the issue that I'm talking about, most manufacturers wouldn't update their devices...

Ok, you may be right with apps which are not yet updated to support Marshmallow, I didn't check that.

gaferreira13 said:
It's not as straight-forward as you're saying.
Most media player apps that weren't updated to support Android 6's native USB OTG support will not be able to read a pen's contents. This topic that I made is aimed to circumvent the issue by mounting the pen in a different way. That bug you mentioned is not something I want to solve, and even if a new kernel solved the issue that I'm talking about, most manufacturers wouldn't update their devices...
Click to expand...
Click to collapse
Oh, and maybe now that I think of it, this could solve the problem, since mounting/unmounting is done with the Paragon app instead of Android. Give it a shot

AndDiSa said:
Why so compilcated? USB-OTG is supported on the fly by Android 6.0 / Marshmallow, but unfortunately most of the N7-kernels have a bug which lead to reboot on unmounting the OTG-Device. Nevertheless the next version of Android 6 AOSP on Grouper should have it fixed this issue ...
Click to expand...
Click to collapse
Using native otg function, you can only copy files between phone and otg dive. To open a file e.g. To install apk from otg, you have to first copy it to phone's storage. On many media player, video can only be played sequentially (seek bar doesn't work).

Stuck at step 4.2, folder is not created

kashinath said:
View attachment 3746340Stuck at step 4.2, folder is not created
Click to expand...
Click to collapse
Hey, is there any way for you to determine the path of your root folder? Maybe using ES File Explorer. For some phones, the root folder isn't pointed to /.
EDIT - If you can't do that, try replacing the first of those commands with the following:
su -c mount -o rw,remount,rw /system

I'm also getting the same issue as kashinath, won't let me create pen. I've also tried pointing the mounter to a directory in /storage/emulated/0/pen but it seems to just crash and restart the app.
EDIT:
Okay so I've solved the problem completely differently. The otg storage is found in /mnt/media_rw, so I used the app "FolderMount [ROOT]" to point the folder "pen" (in the internal storage) to the /mnt/media_rw/*random string* folder. I then used the app "media.Re.Scan:" to force the media scanner to scan that folder as it didn't seem to want to do it. Now all apps seem to be working.
What tipped me off about this was this post: http://forum.xda-developers.com/nexus-6/help/marshmallow-usb-otg-mounting-media-t3230588
It seems you have to turn the folder mount on/off every time you plug/unplug the USB drive otherwise it won't play the files.
Thanks for the detailed instructions nonetheless.

Viridis said:
I'm also getting the same issue as kashinath, won't let me create pen. I've also tried pointing the mounter to a directory in /storage/emulated/0/pen but it seems to just crash and restart the app.
EDIT:
Okay so I've solved the problem completely differently. The otg storage is found in /mnt/media_rw, so I used the app "FolderMount [ROOT]" to point the folder "pen" (in the internal storage) to the /mnt/media_rw/*random string* folder. I then used the app "media.Re.Scan:" to force the media scanner to scan that folder as it didn't seem to want to do it. Now all apps seem to be working.
What tipped me off about this was this post: http://forum.xda-developers.com/nexus-6/help/marshmallow-usb-otg-mounting-media-t3230588
It seems you have to turn the folder mount on/off every time you plug/unplug the USB drive otherwise it won't play the files.
Thanks for the detailed instructions nonetheless.
Click to expand...
Click to collapse
Yeah forget mounting anything in the /storage/emulated/0...
According to the post you linked in your comment, "6.0 mounts to /mnt/media_rw/ but I can't seem to get any media players to see it. I tried creating a symbolic link in /storage/emulated, but I get an error with root explorer about symbolic links not being supported" which is exactly what happened to me
If you don't like the folder mount alternative you can always do a bind command (but i'm not sure how it works), search it up and see if you get any results.
Is your pen in Fat32 though?
There is a workaround for the pen thing... If you use Total Commander and want to edit any files in /, it asks you to run a command that mounts the / folder. Try to see what command it is and replicate it into the script, then the rest might work.

Thank you so much !! It worked on my XT1033 falcon dual sim - MM6.0 identity crisis 1.3a . I can finally restore all my nandroid backups.
Just to correct shouldn't the last command in the script be
su -c chmod 777 /pen
instead of
su -c chmod /pen 777

4k5blr said:
Just to correct shouldn't the last command in the script be
su -c chmod 777 /pen
instead of
su -c chmod /pen 777
Click to expand...
Click to collapse
No, thank you
And, damn you're right, lol I'll correct it ASAP, thanks a lot for pointing it out

I'm a complete newbie at this, in fact I rooted my device just to do this
Anyways I'm getting the same issue kashinath is getting and tried the other command you recommended (su -c mount -o rw,remount,rw /system ) wich also didn't work
In that reply you also said that the root folder is different between devices so, if I determine the path to my root folder, where exactly in the script do I have to put it? (Again I'm a newbie)

Arcane35 said:
I'm a complete newbie at this, in fact I rooted my device just to do this
Anyways I'm getting the same issue kashinath is getting and tried the other command you recommended (su -c mount -o rw,remount,rw /system ) wich also didn't work
In that reply you also said that the root folder is different between devices so, if I determine the path to my root folder, where exactly in the script do I have to put it? (Again I'm a newbie)
Click to expand...
Click to collapse
For my phone the Root folder's path is "/" so I'll put 2 arrows where the path to root is in the command:
" su -c mount -o rw,remount /proc --> / <-- "
So imagine your root path is /root
The command would look like this: " su -c mount -o rw,remount /proc /root " (without "" of course)
If you still can't find the path to your root folder, try searching on the internet "root folder for xxxxx phone"
Hope it helps

gaferreira13 said:
For my phone the Root folder's path is "/" so I'll put 2 arrows where the path to root is in the command:
" su -c mount -o rw,remount /proc --> / <-- "
So imagine your root path is /root
The command would look like this: " su -c mount -o rw,remount /proc /root " (without "" of course)
If you still can't find the path to your root folder, try searching on the internet "root folder for xxxxx phone"
Hope it helps
Click to expand...
Click to collapse
Turns out my phone's root folder is also / , and I'm still getting the same error (mount: '/' not in /proc/mounts)
Maybe its because I have Nougat :/
EDIT: So I think I managed to kinda work around that, I change the command to " su -c mount -o rw,remount / " and it ended up making the pen folder and no errors came out. So I then proceeded to open Paragon, disabled FS access rights, ensured that SELinux was permissive (it is) and change the mount point to the /pen folder, I finally proceeded to manually mount the thing BUT even tough that in my notifications says that I mounted it, on the app it still says that my Flash Drive is still not mounted (even tough it detects it and know that it is an NTFS file system). Basically whenever I try to mount my Flash Drive it wont work even tough the app detects it.

Arcane35 said:
Turns out my phone's root folder is also / , and I'm still getting the same error (mount: '/' not in /proc/mounts)
Maybe its because I have Nougat :/
Click to expand...
Click to collapse
Ooooh. Remember the topic is called "Full USB OTG on Media Players in Marshmallow"
I can't help you then, sorry. The only thing I can tell you is to open the /proc/mounts file as text on the top there should be a command that tells android to mount the root folder as rootfs I believe.
Maybe that could help.

Arcane35 said:
EDIT: So I think I managed to kinda work around that, I change the command to " su -c mount -o rw,remount / " and it ended up making the pen folder and no errors came out. So I then proceeded to open Paragon, disabled FS access rights, ensured that SELinux was permissive (it is) and change the mount point to the /pen folder, I finally proceeded to manually mount the thing BUT even tough that in my notifications says that I mounted it, on the app it still says that my Flash Drive is still not mounted (even tough it detects it and know that it is an NTFS file system). Basically whenever I try to mount my Flash Drive it wont work even tough the app detects it.
Click to expand...
Click to collapse
Try to open the /pen folder, try to see in the properties of /pen if the permissions are set to 777.

gaferreira13 said:
Try to open the /pen folder, try to see in the properties of /pen if the permissions are set to 777.
Click to expand...
Click to collapse
It is set as 0777, so yes (if the 0 is not supposed to be there)

Arcane35 said:
It is set as 0777, so yes (if the 0 is not supposed to be there)
Click to expand...
Click to collapse
Hmm... If you can open the folder fine and maybe create a file in there or something then I can't help you any further. The paragon app doesn't let you do much regarding troubleshooting.
Try using the methods that other people did like using Foldermount or something like that.

Related

Can't delete folder - permissions [SOLVED]

Hi
I recently restored my Nexus with the toolkit but when it put the files back, I think a permissions problem has occurred. I can rename folders, but I can't delete them. I have a rather large folder that I can't get rid of. When I try in various programs, it says delete failed, or no permissions, etc.
I am rooted, and have installed Terminal emulator, but am not terribly familiar with how to use it.
Any tips would be helpful.
Thanks
warlock257 said:
Hi
I recently restored my Nexus with the toolkit but when it put the files back, I think a permissions problem has occurred. I can rename folders, but I can't delete them. I have a rather large folder that I can't get rid of. When I try in various programs, it says delete failed, or no permissions, etc.
I am rooted, and have installed Terminal emulator, but am not terribly familiar with how to use it.
Any tips would be helpful.
Thanks
Click to expand...
Click to collapse
Simple solution might just be that your file explorer app doesn't have root access. Force stop it in apps->settings, check your superuser app and clear any saved entries for it, and launch the app again. It should request root privileges.
Where are the files/folders in question located? If they're in a secure place like /system/ then it's more likely to be the above scenario. If they're just in your sdcard folder, are they user made, or at all special?
Edit: Also in the future, this sort of thing is what the Q&A forum is for.
JoeSyr said:
Simple solution might just be that your file explorer app doesn't have root access. Force stop it in apps->settings, check your superuser app and clear any saved entries for it, and launch the app again. It should request root privileges.
Where are the files/folders in question located? If they're in a secure place like /system/ then it's more likely to be the above scenario. If they're just in your sdcard folder, are they user made, or at all special?
Edit: Also in the future, this sort of thing is what the Q&A forum is for.
Click to expand...
Click to collapse
I was using Root explorer, and have granted it root access
It is in /SDcard, so it shouldn't be anything that's protected
warlock257 said:
I was using Root explorer, and have granted it root access
It is in /SDcard, so it shouldn't be anything that's protected
Click to expand...
Click to collapse
Did you check the permissions for what you're trying to delete? They're displayed right in the normal view in root explorer, and you can edit them from the long press menu.
Anything unusual about the files/folders themselves? Were they created on the phone? By you? By apps? Copied and pasted over USB from a computer? You could try deleting from your computer over USB.
As for command line options, you can try 'rm -r [path]' for a folder and just 'rm [path]' for a file. rm is the delete(remove) command, -r is the recursive flag to apply the action to all items in the directory if a directory is the target. Pretty sure that you can do that straight from terminal emulator on your phone, and from a command prompt over usb you'd need to use 'adb shell' first.
JoeSyr said:
Did you check the permissions for what you're trying to delete? They're displayed right in the normal view in root explorer, and you can edit them from the long press menu.
Anything unusual about the files/folders themselves? Were they created on the phone? By you? By apps? Copied and pasted over USB from a computer? You could try deleting from your computer over USB.
As for command line options, you can try 'rm -r [path]' for a folder and just 'rm [path]' for a file. rm is the delete(remove) command, -r is the recursive flag to apply the action to all items in the directory if a directory is the target. Pretty sure that you can do that straight from terminal emulator on your phone, and from a command prompt over usb you'd need to use 'adb shell' first.
Click to expand...
Click to collapse
In root explorer the info under the folder says
rwxrwxr -x
I'm pretty sure that the problem started when I restored from the nexus toolkit on pc. I had a similar problem with my camera in that it couldn't save pictures to a folder, but all I did was rename the folder, and the camera app created a new one.
rm -r [path] in terminal emulator says "permission denied"
EDIT
upon further googleing, the 'chmod' command might be what I want, but I'm not sure which syntax is right.
warlock257 said:
In root explorer the info under the folder says
rwxrwxr -x
I'm pretty sure that the problem started when I restored from the nexus toolkit on pc. I had a similar problem with my camera in that it couldn't save pictures to a folder, but all I did was rename the folder, and the camera app created a new one.
rm -r [path] in terminal emulator says "permission denied"
EDIT
upon further googleing, the 'chmod' command might be what I want, but I'm not sure which syntax is right.
Click to expand...
Click to collapse
For chmod you want 'chmod [number] [path]', where number is a string that's a bit complicated to explain. You can learn about it by googling chmod probably better than I could type it out here on the fly. But if you use 777, it should assign full permissions, which would display as rwxrwxrwx in root explorer.
You can achieve the exact same effect in root explorer though, long press and choose permissions and you'll get a 3x3 grid. All boxes checked= full permissions, same as chmod 777. The three lower boxes for special permissions should be unchecked (fyi, they would turn chmod's numeric component into a 4 digit number, and as far as I know, android doesn't really use them at all).
Also, did you type su in terminal first? It doesn't innately have root (just like any app) so you need to do that and confirm the popup first. You'll need to do this before using chmod, and if you didn't do it before using rm, try it again.
Worth a try but just for reference, rwxrwxr-x is the normal permissions set for folders on the sdcard, so that's not immediately looking like a problem.
at the top of root explorer, theres a button that says mount r/w. press it, now it should say mount r/o. go ahead and delete that file now
simms22 said:
at the top of root explorer, theres a button that says mount r/w. press it, now it should say mount r/o. go ahead and delete that file now
Click to expand...
Click to collapse
Found the button, but didn't work
JoeSyr said:
For chmod you want 'chmod [number] [path]', where number is a string that's a bit complicated to explain. You can learn about it by googling chmod probably better than I could type it out here on the fly. But if you use 777, it should assign full permissions, which would display as rwxrwxrwx in root explorer.
You can achieve the exact same effect in root explorer though, long press and choose permissions and you'll get a 3x3 grid. All boxes checked= full permissions, same as chmod 777. The three lower boxes for special permissions should be unchecked (fyi, they would turn chmod's numeric component into a 4 digit number, and as far as I know, android doesn't really use them at all).
Also, did you type su in terminal first? It doesn't innately have root (just like any app) so you need to do that and confirm the popup first. You'll need to do this before using chmod, and if you didn't do it before using rm, try it again.
Worth a try but just for reference, rwxrwxr-x is the normal permissions set for folders on the sdcard, so that's not immediately looking like a problem.
Click to expand...
Click to collapse
it might be the files within the folder, rather than the folder itself. going into it, some of the files have a shield on them
When I go into its permissions, some of them were unchecked. I checked the 9 at the top, and it says:
"permissions change was not successful. Please note that some files systems (e.g. SD card) do now allow permission changes."
warlock257 said:
Found the button, but didn't work
it might be the files within the folder, rather than the folder itself. going into it, some of the files have a shield on them
When I go into its permissions, some of them were unchecked. I checked the 9 at the top, and it says:
"permissions change was not successful. Please note that some files systems (e.g. SD card) do now allow permission changes."
Click to expand...
Click to collapse
Well under normal circumstances, individual files on your sdcard should have permissions rw-rw-r--, and folders have rwxrwxr-x. (For reference, this is read as read, write, execute for Root, System, and Other, with dashes indicating that a permission is denied. So rwxrwxr-x means all permissions are granted to all three groups except for write to Other). This ties into larger aspects of the OS that basically exist to stop individual apps from reading or writing whatever they want without being included in groups.
The fact that you can't do something that shouldn't require elevated permissions, and you're getting that kind of error when you try to execute commands with higher permissions, suggests to me that your sdcard partition is using the wrong filesystem. Sort of sounds like a program tried to treat it like a real sdcard and formatted it to something else, in which case I have a hunch you're going to need to back up your data and do a full reset.
You might get a simpler solution if you ask in the thread for the toolkit you used. It's not something I have any experience with so good luck.
Out of curiosity, are you on Jellybean now? Jellybean changed the address for the sdcard partition, so if the toolkit wasn't updated to reflect this, it seems like the likely place things may have gone wrong.
---------- Post added at 07:04 PM ---------- Previous post was at 06:53 PM ----------
Actually if you want to check if it's using the right filesystem, run the command 'mount' from terminal. It'll give you a bunch of information, probably towards the bottom will be a line that mentions sdcard. Mine reads as
/dev/fuse /storage/sdcard0 fuse [more info about how it's currently mounted]
Yours -should- say that if you're on JB. If you're not, it should say something instead of /storage/sdcard0 (maybe /mnt/sdcard? I forget how it was on ICS). If it says something in place of fuse that may be the problem.
..I actually think mount used to say that the sdcard block was formatted as yaffs2, while everything else was formatted as ext4. Or maybe I just looked up that it was yaffs2 online, not from terminal on my phone? I wonder if this whole thing is the reason why some people seem bootloop-prone when flashing JB roms, if the changes have cut out access to important information about the filesystem, it may be triggering a really long error scan if their sdcard partition is large.
yes, backed up in ICS, and went to Jellybean.
doing a 'mount', I believe the line reads
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,realtime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
The files that have the shield icon have permissions:
rw-rw-r--
Yeah so everything that I can think of for you to check seems to be displaying as though normal. Although I don't know what aspect of these files root explorer is reading to mark them as protected and put the little shield on them.
You've tried these methods (rm, chmod) on individual files within the folder too, right? I guess this comes more from experience deleting protected files in windows, but I've found that sometimes a folder will deny deletion as long as it contains protected files, but it's relatively easy to give yourself permission to delete the individual files one by one, after which the folder goes down too. Possibly time consuming without a batch function, but easy.
My understanding of the fuse filesystem, by the way, is that it's just a virtual layer that allows the sdcard block to be treated differently than everything else on the phone, which is important for what happens when you plug it into a computer and the device is read. And I believe that the sdcard is supposed to be formatted as yaffs2 (everything else is ext4). Not sure how to check that directly, but it's possible that it has been changed to something else. But unless you can't delete -anything- on the sdcard, this seems unlikely.
JoeSyr said:
Yeah so everything that I can think of for you to check seems to be displaying as though normal. Although I don't know what aspect of these files root explorer is reading to mark them as protected and put the little shield on them.
You've tried these methods (rm, chmod) on individual files within the folder too, right? I guess this comes more from experience deleting protected files in windows, but I've found that sometimes a folder will deny deletion as long as it contains protected files, but it's relatively easy to give yourself permission to delete the individual files one by one, after which the folder goes down too. Possibly time consuming without a batch function, but easy.
My understanding of the fuse filesystem, by the way, is that it's just a virtual layer that allows the sdcard block to be treated differently than everything else on the phone, which is important for what happens when you plug it into a computer and the device is read. And I believe that the sdcard is supposed to be formatted as yaffs2 (everything else is ext4). Not sure how to check that directly, but it's possible that it has been changed to something else. But unless you can't delete -anything- on the sdcard, this seems unlikely.
Click to expand...
Click to collapse
yeah, I tried deleting files individually on the phone, and in windows. Wont let me do anything.
I guess the only sure fire method of clearing these files at the moment is to do a factory reset.
I can back up my stuff with titanium, so not that big a deal.
Your assistance has been much appreciated
:good:
warlock257 said:
yeah, I tried deleting files individually on the phone, and in windows. Wont let me do anything.
I guess the only sure fire method of clearing these files at the moment is to do a factory reset.
I can back up my stuff with titanium, so not that big a deal.
Your assistance has been much appreciated
:good:
Click to expand...
Click to collapse
Try deleting them directly from /data/media instead. If you're able to delete them there, reboot afterwards to ensure /storage/sdcard0, /sdcard, and /mnt/sdcard are updated properly.
Sent from my Galaxy Nexus
Cilraaz said:
Try deleting them directly from /data/media instead. If you're able to delete them there, reboot afterwards to ensure /storage/sdcard0, /sdcard, and /mnt/sdcard are updated properly.
Sent from my Galaxy Nexus
Click to expand...
Click to collapse
That worked :laugh:
It's gone from all those folders.
Thanks very much!!!!!
warlock257 said:
That worked :laugh:
It's gone from all those folders.
Thanks very much!!!!!
Click to expand...
Click to collapse
+1 This worked for me as well. Thanks for posting...:good:
Had the same problem. Deleting through the /media path worked.
Cilraaz said:
Try deleting them directly from /data/media instead. If you're able to delete them there, reboot afterwards to ensure /storage/sdcard0, /sdcard, and /mnt/sdcard are updated properly.
Sent from my Galaxy Nexus
Click to expand...
Click to collapse
+4 You Sir are a genius! Thanks given!
Cilraaz said:
Try deleting them directly from /data/media instead. If you're able to delete them there, reboot afterwards to ensure /storage/sdcard0, /sdcard, and /mnt/sdcard are updated properly.
Sent from my Galaxy Nexus
Click to expand...
Click to collapse
Sorry to necro this thread almost 4 years later, but I had the exact same issue with deleting a folder on internal storage (Android Lollipop). Regardless if you're still here on XDA or not: thanks for this solution.
So.. Not really a I9250, but I guess my problem on i9100 is the same.
For some weird reason this just happened to WhatsApp directory.. But whatever.
After digging deeper and deeper in recovery, it seems like the folder wasn't own by media_rw group, but root
I just had to run
Code:
chown -R 1023:1023 <folder-path>
For some weird reason neither chown nor ls -l were correctly working when booted on normal system
Cilraaz said:
Try deleting them directly from /data/media instead. If you're able to delete them there, reboot afterwards to ensure /storage/sdcard0, /sdcard, and /mnt/sdcard are updated properly.
Click to expand...
Click to collapse
@Cilraaz, I have no idea if you're still on XDA but after at least a week of intense searching I found your advice which solved my problem! Thank you.
My problem was on i9500 (still) running stock Lollipop. I've been preparing to install a custom recovery, and did a TWRP (2.8.7.0) nandroid backup. Problem was I then couldn't find the TWRP backup folder. It would only show in TWRP's file manager. Root Browser didn't show it with SU privileges, nor ES File Browser and connecting it to the PC didn't help either. It's only after looking in /data/media/0 that I could find the TWRP folder.

[Q] 4.3 can not mount ext4 hdd manually via otg cable

english is not my mother language, so i my not describ clear.
when my device system version is 4.1.2, i can mount my hdd(external power) in terminal emulator, use command like this:
mount -t ext4 /dev/block/sda1 /mnt/UsbDriveA
after run the command above, root explorer and mx player can read and write my hdd via otg cable.
when system update to 4.3, i can run that command, terminal emulator can view file list, but root explorer can no view file list any more, there is a empty fold on root explorer 's UI.
there is the same problem in my friend's device.
who can tell me, how to mount my hdd(ext4 format, external power) in android 4.3(rooted,busybox installed).
Wut
Same issue here on my note 2. Tried 7 different roms but got me nowhere including stock and obviously trying to connect with alot of mounting apps... still useless.
It seems to work, but every time I connect the same drive it gives it another name like (driveB) while driveA is still there with the same files but I am unable to modifi it. So like this it will go to DriveZ... damn.
I finally went back to 4.1.2. A bit sad, but what can you do?
bamboothin said:
english is not my mother language, so i my not describ clear.
when my device system version is 4.1.2, i can mount my hdd(external power) in terminal emulator, use command like this:
mount -t ext4 /dev/block/sda1 /mnt/UsbDriveA
after run the command above, root explorer and mx player can read and write my hdd via otg cable.
when system update to 4.3, i can run that command, terminal emulator can view file list, but root explorer can no view file list any more, there is a empty fold on root explorer 's UI.
there is the same problem in my friend's device.
who can tell me, how to mount my hdd(ext4 format, external power) in android 4.3(rooted,busybox installed).
Click to expand...
Click to collapse
Grab wanam and set selinux to permissive...I couldn't get paragon ntfs to work until I did this

Mount samba share

I am trying to download to my samba share through xbmctorrent plugin but i get an error that it cannot download to unmounted share.
is there any way of mounting the sambashare in the ftv system so it will see it as an internal folder or something ?
I am also looking to do the same thing for retroarch. The 8GB internal storge aint big enough for all the roms
quacka said:
I am also looking to do the same thing for retroarch. The 8GB internal storge aint big enough for all the roms
Click to expand...
Click to collapse
Did you root your fire tv? Did you see drive in xbmc? If not then you have to root it then mound hdd. Follow following guide.
http://forum.xda-developers.com/showthread.php?t=2783805
rooted
gujju said:
Did you root your fire tv? Did you see drive in xbmc? If not then you have to root it then mound hdd. Follow following guide.
http://forum.xda-developers.com/showthread.php?t=2783805
Click to expand...
Click to collapse
yes i have rooted it and yes i see it in xbmc. the problem is with xbmctorrent plugin that cannot download to an unmounted share drive.
gujju said:
Did you root your fire tv? Did you see drive in xbmc? If not then you have to root it then mound hdd. Follow following guide.
http://forum.xda-developers.com/showthread.php?t=2783805
Click to expand...
Click to collapse
Think this is missing the point, the issue is attempting to mount network shares as native paths, not within another app. The link provided only discusses USB drives, not network.
Code:
mount -o noperm,unc=\\\\192.168.0.21\\putsharenamehere,username=putusernamehere,password=putpasswordhere -t cifs none /mnt/obb/nas
the mount command has to look like that, in order for it to be seen by apps I had to mount to /mnt/obb/nas (make the nas directory)
that may not be your solution but it should help, I have seen people say they can set up a mounting app to use those parameters.
FYI, if you are going to try the mount out from the command line you need to be in adb shell, not an ssh session.
you can find answers like this in search as well.
hmagoo said:
Code:
mount -o noperm,unc=\\\\192.168.0.21\\putsharenamehere,username=putusernamehere,password=putpasswordhere -t cifs none /mnt/obb/nas
the mount command has to look like that, in order for it to be seen by apps I had to mount to /mnt/obb/nas (make the nas directory)
that may not be your solution but it should help, I have seen people say they can set up a mounting app to use those parameters.
FYI, if you are going to try the mount out from the command line you need to be in adb shell, not an ssh session.
you can find answers like this in search as well.
Click to expand...
Click to collapse
Thanks hmagoo, that worked for me finally.
I think I was trying it via SSH hence never got it to work.
How do I make the share remain after a power cycle?
hmagoo said:
Code:
mount -o noperm,unc=\\\\192.168.0.21\\putsharenamehere,username=putusernamehere,password=putpasswordhere -t cifs none /mnt/obb/nas
the mount command has to look like that, in order for it to be seen by apps I had to mount to /mnt/obb/nas (make the nas directory)
that may not be your solution but it should help, I have seen people say they can set up a mounting app to use those parameters.
FYI, if you are going to try the mount out from the command line you need to be in adb shell, not an ssh session.
you can find answers like this in search as well.
Click to expand...
Click to collapse
Please make a guide
If using this code using ADB allows us to mount network drives a little more elaboration needs to be done..
Vylle said:
Please make a guide
If using this code using ADB allows us to mount network drives a little more elaboration needs to be done..
Click to expand...
Click to collapse
I only tried using samba shares because I wanted to launch MXPlayer as an external player to play xvid files through xbmc, but I found it was easier to just disable libstagefright and mediacodec in xbmc settings and the xvid files play smoothly.
if you used an app like Script Manager you should be able to run a script upon boot-up that makes the directory and mounts the share.
hmagoo said:
I only tried using samba shares because I wanted to launch MXPlayer as an external player to play xvid files through xbmc, but I found it was easier to just disable libstagefright and mediacodec in xbmc settings and the xvid files play smoothly.
if you used an app like Script Manager you should be able to run a script upon boot-up that makes the directory and mounts the share.
Click to expand...
Click to collapse
I have installed tasker. I set the command to run on boot as Shell Script but it doesn't seem to work. it seem only to work when running via adb shell for me. No idea what I am doing wrong
I have to apply the script after every reboot also. Has anyone found a way to keep it after boot?
hmagoo said:
Code:
mount -o noperm,unc=\\\\192.168.0.21\\putsharenamehere,username=putusernamehere,password=putpasswordhere -t cifs none /mnt/obb/nas
the mount command has to look like that, in order for it to be seen by apps I had to mount to /mnt/obb/nas (make the nas directory)
that may not be your solution but it should help, I have seen people say they can set up a mounting app to use those parameters.
FYI, if you are going to try the mount out from the command line you need to be in adb shell, not an ssh session.
you can find answers like this in search as well.
Click to expand...
Click to collapse
dont want to get too off topic but what if you are using NFS. since that doesnt require a username and password what would the command look like?
mejdam said:
dont want to get too off topic but what if you are using NFS. since that doesnt require a username and password what would the command look like?
Click to expand...
Click to collapse
same sort of thing
mount /mnt/obb/nas 192.168.1.23:/path/to/share
adionita said:
I have to apply the script after every reboot also. Has anyone found a way to keep it after boot?
Click to expand...
Click to collapse
Sorry to bump this old thread but I'm also in the need of this,
Have you figured out a way of auto remounting the share???

remount with wr privileges. How?

Hello everyone, I've been using android since Eclair and I had a couple of different brands under my ownership. Sony Ericsson, Samsung, Alcatel...
I've always been rooting my phones. After that, each time I needed rw privileges in order to be able to delete files (like built-in apps), place ringtones, alarms and notifications sounds directly into /system/media/audio, rename or backup system files etc., I was using a simple command from a terminal app or via ssh from a desktop giving this syntax:
mount -o remount, rw /dev/block/mtdblock3 /system
Then, until next reboot I could write in /system.
Unfortunately since I got G3 this command won't work. Apparently, either lollipop's or LG's partitions are a bit different that the usual...
After looking around for a while, I came up with a page which shows that this command "ls -al /dev/block/platform/msm_sdcc.1/by-name", lists all partitions' paths by label and that according to the list, /system corresponds to mmcblk0p40. So I was thinking of trying the command a bit altered, like this:
mount -o remount, rw /dev/block/mmcblk0p40 /system
Since I don't have good knowledge of linux -I can't even tell if the old syntax is not working because of LG's implementation or of android's new version (lollipop)- I'd just like someone who has already done this to confirm that I'm right and it works. I'd really not like to brick the phone atm. I feel too old for this s...
Thanks, George...
P.S.: Now, if someone would be kind enough to provide an in-depth explanation of how I could always find by myself (in any newer version of android and any different android implementation), which partition is the appropriate one to use in this command in order to obtain rw for /system, that would be more than welcome!
Edit: I should have mentioned this to avoid getting answers about 3rd party apps which do those stuff like root explorer: I'm looking for a solution, not a workaround. I need the syntax of the command, not a list with apps which do what I'm trying to do using terminal. But thanks adamzki anyway...
Use root explorer pro. That's it.
This command is enough to mount /system as rw;
Code:
mount - o rw,remount /system
forumber2 said:
This command is enough to mount /system as rw;
Code:
mount - o rw,remount /system
Click to expand...
Click to collapse
That's really strange, I had used "mount -o remount,rw /system /system" and it didn't work
I now used "mount -o remount,rw /system" and it works! I'll never understand Linux...
Thanks anyway man!
Thread can be locked.

MOUNT command fails in FTV2

I used to able to mount (using either NFS or CIFS) a shared folder on my NAS (Western Digital MyCloud) on FTV 1.
IP of the NAS: 192.168.5.6
Mountpoint on FTV: /mnt/obb/WD
I could use either of the following commands on FTV 1:
busybox mount -v -o udp,async,nolock,noatime,nodiratime,soft,intr,vers=3,rsize=65536,wsize=65536 -t nfs "192.168.5.6:/nfs/Devices" "/mnt/obb/WD" (NFS)
busybox mount -v -o noperm,unc="\\192.168.5.6\Devices",username=public,password=public -t cifs none "/mnt/obb/WD" (CIFS)
On the new FTV2, rooted, with Busybox and running RBox's latest ROM, both the above commands (running under SU) gives me an error "Device Not Found"... I searched and found that folks talk about these 3 things that might affect the mounting..
1. Related to SELINUX.. (I have tried "setenforce permissive", but that does not fix it)
2. Related to new permission paradigm on Android 5.1 where writes to external devices is prohibited by default. Not sure how it would affect mounting, but.....
3. ROM has no CIFS/NFS modules loaded.
Another data point, I can navigate to my shared folder on NAS using ES File Explorer, though. I also tried mounting to a different location "/mnt/sdcard/WD" instead of in "/mnt/obb", but that doesn't work either.
I have another FTV in a different room (first generation rooted FTV running the last pre-rooted ROM from RBox for FTV 1) and the above commands run fine. So my guess it has to do something with Lollipop... But I am not sure about the reason and I don't know how to go about fixing it. Any ideas would be very welcome. Thanks.
It will probably be the write permissions on lollypop mate, if say for instance I wanted to download something to my sd card (internal,external or usb device) via kids it won't write! But if I download it within inside the kodi files by making a new folder & set the download there it will download, & then I can transfer it to my internal, external or usb device. This is probably why you can't use your Nas in that directory? I don't know how or what Nas is properly (I'm thinking its a storage sharing unit which can be pushed or received?) Try what I said & maybe you might have some luck doing it this way?
Hope this helps, If so press that thanks button.
@dbdoshi
AFTV2 don't support any Network File Systems on kernel level (if I'm right understand from kernel source)
Ok, I guess the support for NFS or CIFS is not there in FTV2. I ran "cat /proc/filesystems" and I don't see NFS or NFS4 or CIFS... On the older FTV1, I do see them in the filesystems file. Wow. Any workarounds?
I even tried mounting using CIFS to a test shared folder my Windows 10 laptop and thats a no go too..
This is for Kodi. I move all its files to the NAS to run it and save the space on FTV. I have now started to use SDCard1 location to accomplish it as NAS does not seem to be an option in FTV2. But the strange thing is, if I add a source in Kodi using "Network File System (NFS)" option, I can navigate to my NAS fine.. Any way to know the command Kodi uses when you add a source like that?
ES File Explorer (for example) can see network shares too
Sorry to revive this old thread but I'm running into the same problem. I want to mount my network share to the fire tv 2 but neither cifs nor nfs worked... It used to work fine with my old firetv.
Any work arounds?
This is a very old thread, but I am bummed I can't run a network file server on my ftv2 stick and have to resort to using DLNA which just isn't quite the same.

Categories

Resources