[Scripts][Root][LP/MM] LG G3 Usb Mass Storage Enabler for SDcard(Ext) - G3 General

After getting fed up with the slow and stupid MTP mode i started thinking that USB Mass Storage support should still be there underneath even if its not enabled because i dont think 'android' developers would use MTP themselves, even if its imposed on us(yes i know the benefits of MTP but we should still have the option someway)
So i did some research and found a way to mount my LG G3 D850s Ext SDcard as Usb Mass Storage!
DISCLAIMER: USE AT YOUR OWN RISK. i wont be responsible for any harm if any that comes to your device.
Read the whole post before asking questions.
Detailed Info at the end if you need to make any more changes to the script.
Troubleshooting/Requirments:
1) Root Required (select the skull with 'su' written underneath in script manager script window if you are using script manager or run 'su' before running script if you are using terminal emulator)
https://play.google.com/store/apps/details?id=os.tools.scriptmanager&hl=en
2) Busybox needed (available in playstore)
3) Selinux mode should be permissive (before running any other scripts run setpermissive script attached or run 'su' in terminal and then 'setenforce 0' in terminal emulator. Selinux in enforcing mode may give "insert disk error". There is a bit more detail at the end about this)
4) SD card should be portable storage in Marshmallow and not adoptable. (this is not for lollipop)
5) Dont store the scripts in sd card (store them in internal sd or /system or /data )
6) Select 'cancel' if it asks to allow computer to access sd card when connecting mobile to computer, dont select 'allow' (only marshmallow) (Edited)
Marshmallow Instructions:
I am using Fulmics rom (Stock based)
I updated to marshmallow( just a few weeks ago and did get the UMS working after some time(usb related stuff has changed in MM but finally got it working with a trick). The main problem i still havent solved is mounting the SD card back to the phone with the right permissions with just commands. Marshmallow has changed a lot with adoptable and portable storages in marshmallow and how it handles permissions to sd card. I have been trying to find a way but havent found anything on the internet. Maybe ill ask around in XDA to solve this to make everything automated.
Basically the automated MM script does unmount SD card card from phone and mounts it on the computer with UMS but it cant remount the sd card back on the phone. But there is a workaround for now, that is to go into settings->Usb and Storage and eject and remount sd card manually.
The script is automated and you only need to run just this after connecting usb.
make sure you have fulfilled all the requirements given at the start of the post!
The instructions for getting UMS to work on MM are
A) Download:
'[MM]USB Mass Storage Automatic' script here http://www.mediafire.com/download/x5rl47mv9m3zc2z/[MM]USB_Mass_Storage_Automatic.txt
B) Change the script if needed:
You probably wont need to change the script but still follow the next 2 steps
1) run 'mount' command in terminal emulator
2) Locate the line saying "/dev/block/vold/public:179,65 /mnt/media_rw/XXXX-XXXX" (the XXXX-XXXX are your sd card serial number, dont worry about it).
what you need is the "/dev/block/vold/public:179,65"
The line 8 of my script is
sdcarddev="/dev/block/vold/public:179,65"
If "/dev/block..." part is the same as what you got above, dont change the script.
If the path is different, change the script to whatever you got!
so if you got "/dev/block/vold/179:65" change line in script to "sdcarddev="/dev/block/vold/179:65""
Save the script!
If script doesnt work later on, look over the detailed info at the end for any changes or post a comment
C) Normal Use ( i dont think restart is needed) :
1) connect the phone (and select 'cancel' whenever it asks to allow computer to access sd card, dont select 'allow' )
2) run the '[MM]USB Mass Storage Automatic' script using script manager with 'su'
3) The sd card should show up on your computer
4) Unplug usb cable
5) Go to settings->Storage & USB in your phone and under portable storage your sd card should be shown. Click the triangle at the right to eject Sd card then Click Sd card 'name part' again to mount it again.
6) You should be back to normal and should be able to use sd card again as before.
If you want to go back to mtp mode just swipe down the notification area and change usb mode to mtp after connecting usb cable.
Lollipop Instructions:
Read detailed info at end to make changes to scripts.
Either enter the commands manually in terminal emulator or run the scripts with su(root) permissions with Script Managers like
https://play.google.com/store/apps/details?id=os.tools.scriptmanager&hl=en
There are four scripts attached
1) USB mass storage enabler and mount
2) USB mass storage enabler
3) Mount Ext-Sd card
4) MTP enabler
There are mainly two parts for making UMS to work, changing usb config property to UMS and mounting sd card on computer.
When you change the property 'persist.sys.usb.config' you will have to restart the phone(restart might not be necessary). but after restarting Ext-SDcard wont mount automatically when you plug in USB cable.(There will be an drive icon in 'My Computer' but it wont open unless you run mount command.)
So you can either run Script 1 before reboot and again after reboot. No harm.
Or run Script 2 before reboot and Script 3 after reboot.
Script 4 is to revert back to MTP mode. No restart needed but you will have to choose MTP in USB options and maybe enable USB debugging if needed.
Order for enabling USB mass Storage:
1) Run Script 1 or Script 2
2) Restart (might not be necessary)
3) Run Script 1 or Script 3
Plug in usb cable at any time. It should say 'connected as Installer' instead of 'connected as MTP'
Order for enabling MTP:
1) Run Script 4
2) Choose MTP in USB connect option.
command: setprop persist.sys.usb.config mtp,adb
Restart phone if needed.
Automated script for Lollipop:
hassan.siddiqi.14 said:
you could try my new script..i wrote it to automate the whole process.
run script with su when u connect the cable or it wont work...it checks if usb cable connected, then unmounts sd card from phone then mounts it to computer then waits for cable disconnection and then mounts the sd card back to the phone..
before running the script, run the mount command and compare the sd card mount properties with the ones in the script.. also at the end.. should be same i think...make sure u have busybox..if u face a problem with remount, do it from the settings manually...
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/media_rw/external_SD
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/secure/asec
Click to expand...
Click to collapse
run setpermissive script before this script if you have selinux in enforcing mode
Automatic script link
http://www.mediafire.com/?gjdfef0rdajigc5
Detailed Info:
This info is old and was mainly written in relation on lollipop, marshmallow has small changes
There are two parts to mounting as USB Mass Storage:
1) Changing USB config property to USB Mass Storage
command: setprop persist.sys.usb.config mass_storage
2) Mounting ext-SDcard
command: echo /dev/block/vold/179:65 > /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
You are going to need root for this.
I own a LG G3 D850 and running Lollipop CloudyG3 2.2 (Stock based ROM)
The scripts attached are according to my partition names(maybe others can confirm if its the same for them)
Instructions to edit scripts if needed:
Confirming ext-SDcard path:
Basically go to /dev/block/vold/ in root explorer and confirm the name of partition. It was 179:65 for me.
There were two files here 179:64 and 179:65. i confirmed my ext-SDcard was 179:65 using 'mount' command in terminal and locating the line /storage/external_SD.
If any changes are needed make them in the script 'USB mass storage enabler and mount.txt' accordingly.
Confirming mass_storage file path:
We are going to mount ext-SDcard to /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
confirm you have this file using root explorer. Although i think this is going to be same for all LG G3.
Or try these
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun_ex/file
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun0/file
/sys/devices/platform/msm_hsusb/gadget/lun0/file
If any changes are needed make them in the script 'USB mass storage enabler and mount.txt' accordingly.
Insert Disk Error in computer:
@ahorner mentioned that if you get "insert disk" it might be due to selinux being in enforcing mode.
you can check with command "getenforce" in terminal
you can change it to permissive mode with
"setenforce 0" command in terminal or run the setpermissive script in attachment.
If you want to change back to enforcing after you are done you can run the setenforce script.
hope that helps. thanks to @ahorner
Credits:
http://forum.xda-developers.com/showthread.php?p=29435666#post29435666 @aaki_rocker
http://forum.xda-developers.com/showpost.php?p=51040713&postcount=275 @MetaIIica
Please share your experiences.

I use script on G3 Beat (D722) lollipop, path same as G3 (D850)s. Ext SDcard mount on pc as CD_rom only
Any body get Mass storage working on Lollipop stock rom, pls share

SanjayG said:
I use script on G3 Beat (D722) lollipop, path same as G3 (D850)s. Ext SDcard mount on pc as CD_rom only
Any body get Mass storage working on Lollipop stock rom, pls share
Click to expand...
Click to collapse
did it show the folders of ur memory card?
try it on another computer, it might be a driver problem.

On ls990 stock rom, /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/ is a link to msm_dwc3 which I believe is a cd-rom device. I think phone has window drivers to install, maybe wrong. I use linux.
Code:
lrwxrwxrwx root root 2015-06-09 14:39 lun -> ../../../../msm_dwc3/f9200000.dwc3/gadget/lun0

/sys/devices/virtual/android_usb/android0/f_cdrom_storage should be for cdrom
open up the f_cdrom_storage/lun/file with text viewer...
it should be blank
f_mass_storage/lun/file should have /dev/block/179:65 f_mass_storage/lun/cdrom_usbmode should be 0
not sure about all this btw.
although i think it might be windows driver problem, thats why i asked him to try with a different pc to be sure.

Thanks for your respond. I try on another PC , find on Pic about the two mount drive on the PC

SanjayG said:
Thanks for your respond. I try on another PC , find on Pic about the two mount drive on the PC
Click to expand...
Click to collapse
the first pic is because sd card didnt mount.run the mount script.
the second pic is because sd card mounted but 'file system' was not compatible with windows. sd card should be fat or ntfs.
run 'su' then 'mount' command in terminal emulator.
you should get this
/dev/block/vold/179:65 /mnt/media_rw/external_SD vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
vfat is for 'fat' file system , if yours is ext4 it wont mount on windows. either format sd card in 'fat' or google ext4 mounter for windows..

hassan.siddiqi.14 said:
the first pic is because sd card didnt mount.run the mount script.
the second pic is because sd card mounted but 'file system' was not compatible with windows. sd card should be fat or ntfs.
run 'su' then 'mount' command in terminal emulator.
you should get this
/dev/block/vold/179:65 /mnt/media_rw/external_SD vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
vfat is for 'fat' file system , if yours is ext4 it wont mount on windows. either format sd card in 'fat' or google ext4 mounter for windows..
Click to expand...
Click to collapse
Hi Hassan
Thx for trying to help me. I have two partition on my Ext SD card, Fat32 and Ext4. I use Link2SD in the partition Ext4
I was able to mount my Ext SDcard as mass storage in kitkat ( http://forum.xda-developers.com/showthread.php?t=2740826 )
I loss this useful mean to sync some of apps with my PC when I upgrade to lollipop 5.0.2
I check the path /sys/devices/virtual/android_usb/android0/f_mass_storage/lun and it is link to cdrom_usbmode
Also check the path /sys/devices/virtual/android_usb/android0/f_cdrom_storage/lun and it is link to cdrom_usbmode
Pls see image, is it Ok or need to amend

SanjayG said:
Hi Hassan
Thx for trying to help me. I have two partition on my Ext SD card, Fat32 and Ext4. I use Link2SD in the partition Ext4
I was able to mount my Ext SDcard as mass storage in kitkat ( http://forum.xda-developers.com/showthread.php?t=2740826 )
I loss this useful mean to sync some of apps with my PC when I upgrade to lollipop 5.0.2
I check the path /sys/devices/virtual/android_usb/android0/f_mass_storage/lun and it is link to cdrom_usbmode
Also check the path /sys/devices/virtual/android_usb/android0/f_cdrom_storage/lun and it is link to cdrom_usbmode
Pls see image, is it Ok or need to amend
Click to expand...
Click to collapse
my pleasure..
you didnt understand me
go to /sys/devices/virtual/android_usb/android0/f_mass_storage/lun
and open the file 'file' with text viewer..it should have /dev/block/vold/179:65 written inside..
open the file 'cdrom_usbmode' it should have 0
ext4 partition might be causing problems..
sourceforge. net /projects/ext2fsd/files/Ext2fsd/0.62/Ext2Fsd-0.62.exe/download
go to this link and install it..remove spaces in link...
this is ext4 drivers tool for windows..try mounting after this... btw do u still use link2sd?
also send me your 'mount' command output...

Hi Hassan
I have done some check and mod as you advice
Replace my partition SD Card with another one, single partition and fat32
Re write all script as start of post
Delete /system/usbautorun.iso from f_cdrom_storage/lun/file (now blank)
Check f_mass_storage/lun/cdrom_usbmode should be 0 , Ok
Check /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file ---> Not ok, file blank
Write this /dev/block/vold/179:65 inside file and test see Pic
USB is enable drive mount but can't access "Empty Disk"
Check again /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file ---> file blank
Thx, there is progress awaiting your advice to proceed

did you write yourself or run the script?
run the script and see..
also you did not send 'mount' command output..
and USB mass storage mode is working but the sd card wont mount on pc. thats why you are geting the error.
and it is connecting as removable disk and not as cd rom..like its supposed to be.
also go to settings->storage and unmount sd card and then run script.

Hello Hassan
I run script with SManager
See attached "Mount" output, unmount Card and run script same result

did you check the file 'file', is it still empty?
and go to device manager in your computer, if there are any yellow exclamations when you connect, uninstall those drivers and connect again.
did you try restarting the device and checking?
and use the attached script, and also enable usb debugging in developer options

one thing that i missed, are you using su when running script with script manager?
see attachment

Hi,
Thanks for the scripts! Unfortunately, I can't get USM to work...
First things first, I'm an IT specialist and am familiar with Linux and it's file system. I'm not a developer though.
My phone is the canadian LG G3 (LG-D852) running CM 12.1.
So, when I first used the "set mass storage and mount" script and rebooted, then ran it again after reboot, the computer saw the phone in the device manager as LG-D852, with the exclamation mark stating "no drivers installed". It didn't show up in the Computer. On the phone, it said "Connected as installation" (or something like that, my phone is in french so I don't know the exact english message).
I went back to MTP, and it worked normally. Now when I try to go back to USM, the computer doesn't even detect any new peripheral (Device manager doesn't refresh and no "new device" sound). The phone doesn't show any USB connection either, but the charging LED comes on. I tried different USB cables on different computers, to no avail. The problem resides in the phone. Going back to MTP always works fine.
The "mount" command as SU gives me the /dev/block/vold/179:65 as both /mnt/media_rw/sdcard1 and /mnt/secure/asec like it should, both in vfat, meaning they are the correct numbers and partition format.
I tried disabling and re-enabling USB debugging, running the different scripts with SManager, typing the commands in terminal with su (under root user), unmounting the SD card in the phone's settings.
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file has the proper content (/dev/block/vold/179:65).
The other possible files don't exist:
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun_ex/file
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun0/file
/sys/devices/platform/msm_hsusb/gadget/lun0/file
f_cdrom_storage/lun/file is empty.
f_mass_storage/lun/cdrom_usbmode has "0" in it.
f_mass_storage/lun/cdrom also has "0" in it.
f_mass_storage/lun/file has "/dev/block/vold/179:65"
I also tried "mass_storage" alone and "mass_storage,adb" in the setprop command.
Anything else I can try before giving up?

Magzime said:
Hi,
Thanks for the scripts! Unfortunately, I can't get USM to work...
First things first, I'm an IT specialist and am familiar with Linux and it's file system. I'm not a developer though.
My phone is the canadian LG G3 (LG-D852) running CM 12.1.
So, when I first used the "set mass storage and mount" script and rebooted, then ran it again after reboot, the computer saw the phone in the device manager as LG-D852, with the exclamation mark stating "no drivers installed". It didn't show up in the Computer. On the phone, it said "Connected as installation" (or something like that, my phone is in french so I don't know the exact english message).
I went back to MTP, and it worked normally. Now when I try to go back to USM, the computer doesn't even detect any new peripheral (Device manager doesn't refresh and no "new device" sound). The phone doesn't show any USB connection either, but the charging LED comes on. I tried different USB cables on different computers, to no avail. The problem resides in the phone. Going back to MTP always works fine.
The "mount" command as SU gives me the /dev/block/vold/179:65 as both /mnt/media_rw/sdcard1 and /mnt/secure/asec like it should, both in vfat, meaning they are the correct numbers and partition format.
I tried disabling and re-enabling USB debugging, running the different scripts with SManager, typing the commands in terminal with su (under root user), unmounting the SD card in the phone's settings.
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file has the proper content (/dev/block/vold/179:65).
The other possible files don't exist:
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun_ex/file
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun0/file
/sys/devices/platform/msm_hsusb/gadget/lun0/file
f_cdrom_storage/lun/file is empty.
f_mass_storage/lun/cdrom_usbmode has "0" in it.
f_mass_storage/lun/cdrom also has "0" in it.
f_mass_storage/lun/file has "/dev/block/vold/179:65"
I also tried "mass_storage" alone and "mass_storage,adb" in the setprop command.
Anything else I can try before giving up?
Click to expand...
Click to collapse
im assuming that you have already installed the right lg g3 drivers otherwise mtp wouldnt have worked..but try reinstalling from here after uninstalling previous ones..
i dont remember where i download from...
http://www.mylgphones.com/download-and-install-the-usb-drivers-for-lg-g3-on-windows-and-mac.html
have you tried to unhide hidden drivers in device manager and uninstalled the devices that installed when u first connect the lg g3 in UMS..there are probably still there in hidden mode... that sometimes causes problem..i have to uninstall mtp drivers when i switch back to mtp..
you could try that..
thirdly you could try my new script..i wrote it to automate the whole process.
run script with su when u connect the cable or it wont work...it checks if usb cable connected, then unmounts sd card from phone then mounts it to computer then waits for cable disconnection and then mounts the sd card back to the phone..
before running the script, run the mount command and compare the sd card mount properties with the ones in the script.. also at the end.. should be same i think...make sure u have busybox..if u face a problem with remount, do it from the settings manually...
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/media_rw/external_SD
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/secure/asec

Neither the phone nor the computer detect any device, none at all, only the LED comes on to indicate charging, as if the phone was in "Charge only" USB setting, so the driver is not my problem, at least not anymore... Maybe it was on the first try, but I can't manage to reproduce that state anymore.
Trying the new automated script right now...........
.............................
Weird, I get an unexpected "else" on line 39, but everything seems in order, I even opened the script in Notepad++ to make sure every "if" has its "fi". I run it with SManager and SU checked.
hassan.siddiqi.14 said:
im assuming that you have already installed the right lg g3 drivers otherwise mtp wouldnt have worked..but try reinstalling from here after uninstalling previous ones..
i dont remember where i download from...
have you tried to unhide hidden drivers in device manager and uninstalled the devices that installed when u first connect the lg g3 in UMS..there are probably still there in hidden mode... that sometimes causes problem..i have to uninstall mtp drivers when i switch back to mtp..
you could try that..
thirdly you could try my new script..i wrote it to automate the whole process.
run script with su when u connect the cable or it wont work...it checks if usb cable connected, then unmounts sd card from phone then mounts it to computer then waits for cable disconnection and then mounts the sd card back to the phone..
before running the script, run the mount command and compare the sd card mount properties with the ones in the script.. also at the end.. should be same i think...make sure u have busybox..if u face a problem with remount, do it from the settings manually...
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/media_rw/external_SD
busybox mount -t vfat -o rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,utf8 /dev/block/vold/179:65 /mnt/secure/asec
Click to expand...
Click to collapse

Magzime said:
Neither the phone nor the computer detect any device, none at all, only the LED comes on to indicate charging, as if the phone was in "Charge only" USB setting, so the driver is not my problem, at least not anymore... Maybe it was on the first try, but I can't manage to reproduce that state anymore.
Trying the new automated script right now...........
.............................
Weird, I get an unexpected "else" on line 39, but everything seems in order, I even opened the script in Notepad++ to make sure every "if" has its "fi". I run it with SManager and SU checked.
Click to expand...
Click to collapse
firstly put the script in internal or system folders, because if its in the sd card you wont have access to the script after unmounting the sd card, might cause problems...
you are running the script after connecting the cable right?
go and check this using root explorer when u connect the cable and make sure its changed to 'configured'
/sys/class/android_usb/android0/state
also type getprop persist.sys.usb.config in terminal to check if it changes to mass storage,adb when you run the automated script or my previous UMS enabler script
try something connect the phone.
run the mtp enabler script attached
use the drop down menu to select mtp manually in choose usb mode or something
then run my automated script(not stored in sd card)
now it should say connected as installer
if not then im pretty sure its a driver problem or maybe aosp thing
did u reinstall drivers?
did u select "show hidden devices" in view in device manager and check if any preexisting devices are there..uninstall those...

hassan.siddiqi.14 said:
firstly put the script in internal or system folders, because if its in the sd card you wont have access to the script after unmounting the sd card, might cause problems...
you are running the script after connecting the cable right?
go and check this using root explorer when u connect the cable and make sure its changed to 'configured'
/sys/class/android_usb/android0/state
also type getprop persist.sys.usb.config in terminal to check if it changes to mass storage,adb when you run the automated script or my previous UMS enabler script
try something connect the phone.
run the mtp enabler script attached
use the drop down menu to select mtp manually in choose usb mode or something
then run my automated script(not stored in sd card)
now it should say connected as installer
if not then im pretty sure its a driver problem or maybe aosp thing
did u reinstall drivers?
did u select "show hidden devices" in view in device manager and check if any preexisting devices are there..uninstall those...
Click to expand...
Click to collapse
Found the problem with the "unexpected else" in the script: wrong CRLF from Windows, had to edit with Notepad++ and save as SH script, no the script runs without error. Had to edit it to change the mount point of the SD card to fit what "mount" reports.
I have always run the scripts from the internal memory.
Busybox 1.23.2 is installed.
So, starting from scratch, before running the script.
Plugged in as MTP, can browse both internal and SD from Computer, and I see the free space for each of them. The usual stuff.
mount returns the following:
/dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0
Note the /mnt/media_rw/sdcard1 instead of /external_SD in your original script, that's what I changed to fit this mount.
With cable plugged, running the script as SU with SManager, script waits at "usb mass storage connected". Looking good, but meanwhile:
Dropdown says "Connected as MTP" and "USB debugging enabled".
getprop persist.sys.usb.config now returns "mass_storage,adb"
/sys/class/android_usb/android0/state contains CONFIGURED
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file contains /dev/block/vold/179:65
I can't see the SD card anymore in root explorer from the phone, but in my computer, I still see the same thing: MTP connected phone, internal memory and SD card can be browsed.
The two previous lines in "mount" have been replaced by the following:
/dev/block/platform/msm_sdcc.1/by-name/userdata /dev/SM_bin ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,resuid=1000,errors=continue,data=ordered 0 0
When unplugging the cable, the scripts resumes and ends, with everything back to normal.
Now, if I reboot the phone, it goes back to the state where neither the phone nor the computer detect a connection, so I run the MTP Enabler script, now the phone shows "Connected as installer", but nothing else shows in Computer. I see the LG-D852 in the devices, yellow exclamation mark "No drivers installed" (I get this status even in regular MTP mode). I can go to the settings from the dropdown and select MTP again to get everything working normally.
Still no UMS though... :crying:

Magzime said:
Found the problem with the "unexpected else" in the script: wrong CRLF from Windows, had to edit with Notepad++ and save as SH script, no the script runs without error. Had to edit it to change the mount point of the SD card to fit what "mount" reports.
I have always run the scripts from the internal memory.
Busybox 1.23.2 is installed.
So, starting from scratch, before running the script.
Plugged in as MTP, can browse both internal and SD from Computer, and I see the free space for each of them. The usual stuff.
mount returns the following:
/dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0
Note the /mnt/media_rw/sdcard1 instead of /external_SD in your original script, that's what I changed to fit this mount.
With cable plugged, running the script as SU with SManager, script waits at "usb mass storage connected". Looking good, but meanwhile:
Dropdown says "Connected as MTP" and "USB debugging enabled".
getprop persist.sys.usb.config now returns "mass_storage,adb"
/sys/class/android_usb/android0/state contains CONFIGURED
/sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file contains /dev/block/vold/179:65
I can't see the SD card anymore in root explorer from the phone, but in my computer, I still see the same thing: MTP connected phone, internal memory and SD card can be browsed.
The two previous lines in "mount" have been replaced by the following:
/dev/block/platform/msm_sdcc.1/by-name/userdata /dev/SM_bin ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,resuid=1000,errors=continue,data=ordered 0 0
When unplugging the cable, the scripts resumes and ends, with everything back to normal.
Now, if I reboot the phone, it goes back to the state where neither the phone nor the computer detect a connection, so I run the MTP Enabler script, now the phone shows "Connected as installer", but nothing else shows in Computer. I see the LG-D852 in the devices, yellow exclamation mark "No drivers installed" (I get this status even in regular MTP mode). I can go to the settings from the dropdown and select MTP again to get everything working normally.
Still no UMS though... :crying:
Click to expand...
Click to collapse
from what i can see your phones drunk!
its doing everything wrong!
but showing connected as installer is good,i mean if you edited the scripts with the right paths.
its the problem on your computer side, i keep telling you.. driver issue!
if we could set up a skype or teamviewer connection, i might be able to do something..
but check this out first...
http://forum.xda-developers.com/galaxy-note-3/general/note-3-usb-mass-storage-t3020854
and try disabling usb debugging, i read that android one devices with cm12 need to disable that for ums to work...
and fyi the 'mount' command lines didnt get replaced...they are mount points for userdata partition...the last two lines didnt show when you unmounted the sd card that belonged to the sd card...
and if there is someone for whom the scripts are working, please comment....for cloudy and cm12 based...

Related

Partitioning microSD card

After setting up my wife's A7 and using it for three weeks, I have decided to open mine up. I waited because I wanted to see if CES had anything I wanted more. I decided they didn't.
So, I am starting from scratch again.
The main issue I've had with my wife's A7 has been the lack of storage space for apps, especially the big games.
Bazbob seems to have a solution by partioning the microSD card and using Apps2sd.
I took a new Class 10 16GB microSD card.
I downloaded and burned Ubuntu onto a CD from here: http://www.ubuntu.com/desktop/get-ubuntu/download
Put the card in my laptop, restarted it into Ubuntu.
Ran gparted.
Shrunk the Fat32 partition to just under 8GB and added another partion as ext2 primary.
When I restarted my laptop, my sd reader in the laptop doesn't work.
When I put it into the A7, it says the SD card has Total Space of 7.73GB.
At this point, I'm not sure what to do next.
Help is appreciated!
jazzbone said:
After setting up my wife's A7 and using it for three weeks, I have decided to open mine up. I waited because I wanted to see if CES had anything I wanted more. I decided they didn't.
So, I am starting from scratch again.
The main issue I've had with my wife's A7 has been the lack of storage space for apps, especially the big games.
Bazbob seems to have a solution by partioning the microSD card and using Apps2sd.
I took a new Class 10 16GB microSD card.
I downloaded and burned Ubuntu onto a CD from here: http://www.ubuntu.com/desktop/get-ubuntu/download
Put the card in my laptop, restarted it into Ubuntu.
Ran gparted.
Shrunk the Fat32 partition to just under 8GB and added another partion as ext2 primary.
When I restarted my laptop, my sd reader in the laptop doesn't work.
When I put it into the A7, it says the SD card has Total Space of 7.73GB.
At this point, I'm not sure what to do next.
Help is appreciated!
Click to expand...
Click to collapse
You needed to make a second partition EXT2 and format it. You then need to mount the partition. I did this by using the install-recovery.sh that it located in /system/etc. I used the following tutorial and it worked. I got over 12gb of space to install apps.
http://forum.xda-developers.com/showthread.php?t=832799
I did try to mount the new partition to /storage which is also /sdcard and i was still not able to use titanium backup to move apps. The only way i have alot of space is use this method.
I'm also mounting the fat32 partition to location /storage so that when i download apps thats where they are stored until you install them. Also Titanium backup dumps the backups here. This is done with a custom mod of Dexters 1.0c mod.
I did not use adb, i used a app called quicksshd which allows you secure ftp into the tablet and make changes. I suggest using a windows programs called winscp and putty.
Thanks for replying rfisher.
Turns out that my laptop lost the drive letter for the sd card. That's fixed now. When I insert the card into my laptop, it says that you need to format the card in the drive to use it. Any idea why?
I am confused by your instructions.
You said
You needed to make a second partition EXT2 and format it.
Click to expand...
Click to collapse
I did that. First partition is FAT 32, and second partition is EXT2, primary.
Maybe I didn't format the partition? I just created it.
I'll install busybox and see how far I can get with it.
With the other A7, I was never able to work with ADB.
This device really makes me feel like an idiot.
Still can't believe I was the first to get Google Apps working on my wife's tablet!
no adb
Well, the hours of frustration have returned...
I can't get adb running on my laptop.
I installed Android SDK.
When I type adb in the cmd window on my laptop, I get
"adb" is not recognized as an internal or external command, operable program or batch file"
I have tried moving the ADK folder to c:\
and
to:
C:\Users\Bucks HP
No luck.
I added the path c:\android-sdk-windows\platform-tools
to the environment variables in my system properties.
My head is going to explode!
Well, I got adb working, I think...
Problem was in the cmd window. I had to change the path.
Now, I can't install busybox. I followed the instructions from the wiki.
When I type "adb push busybox /data/local"
it returns: cannot stat 'busybox' : no such file or directory.
I pasted the busybox file in the
C:\android-sdk-windows\platform-tools
folder.
Was that the right place for it?
Is the busybox file just a text file?
Also, mine is named busybox-armv6l
Should it be renamed? I tried "adb push busybox-armv6l /data/local"
and got the same result...
I gave up on installing busybox via the wiki instructions.
I installed Titanium Backup and installed busybox through it.
Now, when I type: cd /system
mkdir sd
I get :
mkdir failed for sd, read-only file system
What does that mean and how do I fix it?
Thanks
The saga continues...
With the busybox from Titanium Backup installed,
I needed to type:
adb shell
su
mount -o remount,rw /dev/block/mmcblk3p1 /system
exit
exit
Then, following the tutorial, I am up to step 12:
12) Now comes the tricky part: making Android mount your new partition at boot time. All the hard work would be useless if Android discarded the mount points every time we restarted our phones. To do this we’ll need to create 2 scripts and store then into /system/etc. Obviously the scripts should be started by init.rc and need to run as root. Fortunately Android’s init.rc have a gap that makes this possible. The scripts are named install-recovery.sh and init-sd2.sh.
My question is: How do you create scripts?
You would create them with notepad++ which is a windows program. Then using adb push them to the /system/etc directory.
I used a app called quicksshd and a windows program called winscp to copy the files to the directory. If you used my method you first need to make the /system directory rw before it will let you copy the files. It worked for me, the only thing i did differently is edit init.rc to mount the first partition of the sd card to /storage, but this was creating a modded 1.0c rom. So the result is about 4gb for my sd memory and 12gb for installing apps.
jazzbone said:
The saga continues...
With the busybox from Titanium Backup installed,
I needed to type:
adb shell
su
mount -o remount,rw /dev/block/mmcblk3p1 /system
exit
exit
Then, following the tutorial, I am up to step 12:
12) Now comes the tricky part: making Android mount your new partition at boot time. All the hard work would be useless if Android discarded the mount points every time we restarted our phones. To do this we’ll need to create 2 scripts and store then into /system/etc. Obviously the scripts should be started by init.rc and need to run as root. Fortunately Android’s init.rc have a gap that makes this possible. The scripts are named install-recovery.sh and init-sd2.sh.
My question is: How do you create scripts?
Click to expand...
Click to collapse
Hi rfisher
Thanks for replying!
While waiting, I opened Notepad++, copied the text in the tutorial window into it and saved the file as Unix.
Then, I copied it to a USB drive, put it in the A7, and copied to the system/etc folder.
Is that acceptable?
Then, I followed steps 13-15.
I think I did something wrong. I am not seeing it in Root Explorer. What should I be looking for?
Was I supposed to install Apps2SD already?
I got winscp and quicksshd working. YEAH!
Used them to copy the files as you did.
Restarted A7.
Still don't see the other partition.
PS. I was just rereading your earlier post and you mentioned:
I did try to mount the new partition to /storage which is also /sdcard and i was still not able to use titanium backup to move apps. The only way i have alot of space is use this method.
I'm also mounting the fat32 partition to location /storage so that when i download apps thats where they are stored until you install them. Also Titanium backup dumps the backups here. This is done with a custom mod of Dexters 1.0c mod.
Looking on my A7, I don't see a location that is /storage
My tablet is fresh out of the box, without any firmware updates yet.

Putting update on sd card w/o removing it?

I was wondering if there is an app that allows you to put an update (nighty) on an sd card without having to remove the card and attaching it to your computer.
I have wifi pro and that doesn't look like it allows me to do that and just hooking the nook to my pc doesn't look like it gives me the option either. Am I missing something?
I've haven't done myself yet but heard people mentioned about the app called "Root Explorer"??? or "Root Folder" or something with "root".
Download nightly build directly on the NC then use the app to drag the zip file over the "boot" partition.
I think it should be able to do, not done that myself.
The best I can offer is, if you eject the card long enough to start booting to stock, then re-insert it before stock fully loads (on one of the splash screens), the boot partition will be mounted as storage and you can connect to your PC by USB to drop an update file in there.
It might help you out if the issue is not having access to a card reader, but you still have to pop the card out and back in.
ETA: I never had any luck getting an update on the root of any SD, even one formatted for storage, using a file manager.
NookColorUMS allows you to mount any partition. Turn off compatibility mode in spare parts and then reboot to see app in full screen.
http://forum.xda-developers.com/showthread.php?t=952456
If you're running off of SD and adb is working then:
adb shell busybox mkdir /sdcard/boot
adb shell busybox mount /dev/block/mmcblk1p1 /sdcard/boot
adb push ***UPDATEFILE*** /sdcard/boot
adb reboot recovery
If running from EMMC then:
adb shell busybox mkdir /sdcard/boot
adb shell busybox mount /dev/block/mmcblk0p1 /sdcard/boot
adb push ***UPDATEFILE*** /sdcard/boot
adb reboot recovery

[Q] Redirect mount point of External SD..

Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Nova5 said:
Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Click to expand...
Click to collapse
This might not exactly be the route you wanna take, but have you tried adding a symlink? Might do the trick, then again, I'm having a little issue with the same thing right now. Looks like this has been a popular subject lately
symlinks seem to be inoperable in HC.
Found this on another forum
Have you tried "bind" mounting?
Doesn't wok for me as I have a stock (unrooted) transformer...
cd /mnt/sdcard
mkdir MicroSD
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Click to expand...
Click to collapse
Works fairly well. Doesn't effect the storage count for the internal memory however. if we could actually mount it to a folder inside the scdard mount then it may show up as extra space, but i kinda doubt that bit.
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
If you're rooted, I think USB Mount All did this.
powercat_ said:
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
Click to expand...
Click to collapse
What system files? Its simply a mount point created and handled in memory. its never added to a file. I forget what the start up command file is in linux that is the sister of DOSs Autoexec.bat. It would need to be added to that as the last command. Now i have read this is a risky command to run as it can create a endless loop if something attempts to scan the directories it can run into a recursive loop. Now I believe this is because most instances of this command tend to be used to bring a directory onto the desktop thats a few steps above it. Considering that the way I am using it is to link a directory that is outside the scope of another, it shouldn't ever cause this and be a pretty safe way to do it. The BIND command creates a hard link between the two locations. the /mnt/sdcard/MicroSD is a directory I created. when I bind it to the /mnt/external_sd directory the files appear in both places at the same time as MicroSD is simply a... tunnel as it were into External SD. But the programs are convinced its MicroSD. So those that can't use the external sd slot now can through this "tunnel". The same trick can also be applied to the directory for the USB thumb/flash drives.
Just create a directory for it on /mnt/sdcard
fermunky said:
If you're rooted, I think USB Mount All did this.
Click to expand...
Click to collapse
why pay when you can enter a command and its done?
Yes, mount -o bind works, but if you reboot, the mount point is no longer there.
Sure, we can add an entry to fstab, but the file is overwritten by a reboot
the autostart file is init.rc, which is overwritten by a reboot as well, so that rules out using it to auto mount this bind.
let me know if you find other information as I would very much like this to work.
FYI I started a thread about this command a few days back but never got any pertinent information:
http://forum.xda-developers.com/showthread.php?t=1287522
(this was before 3.2 when you couldn't access the SD card from usb)
Nova5 said:
why pay when you can enter a command and its done?
Click to expand...
Click to collapse
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
its overwrites those huh? that bites..
fermunky said:
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
Click to expand...
Click to collapse
Just takes a bit to track where we can stick the commands to get an auto start. I may make a simple script file to leave on the home screens. tap and done.
Okay it seems the location where the init.rc is stored is volatile. I created a test file in there and rebooted the tablet, file is gone. So its less overwriting and simply copying out of its hidden location to a usable one. sdcard in there is just a mount point for the actual hardware address location of the sdcard. So if we want to get the autostart we would have to discover where HC pulls that data from on boot.
Bind will fail if the location that actually holds the data is not present/ready. usb_storage is more affected by this as a user doesn't normally leave a flash drive in the port. Script manager can auto-execute a script on boot. Works well enough.
hmm...
It appears if you remove the usb drive after making the bind, the bind is broken. So while its workable, its not perfect. Of course since the microsd card is rarley removed, this isn't much of an issue. If we could get the script to also run on insertion of the USB drive that would then make it work better.
SCript Manager allows one to create a direct shortcut to execute a specific script. So you can swap USB drives, tap the script icon and then access the script through the bound directory.
I use the following program created by RubberBigPepper from an alternative russian site about android apps and devices.
Any interesting effect I've noticed, any time the script runs it creates a new mount entry for the bind command, even if that bind already exists. OfficePro5 shows this by listing MicroSD for each bind entry. So I had 13 entries of MicroSD as it ran that many times, due to a setting I shouldn't have checked... Run on Net Change. But it pointed out this interesting effect.
I now see the need for this as one of my apps does not natively see the ext sd card.
OK I tried the apk above and it does not seem to work. I get a folder called ex_sdcard but it is empty and does not reflect the sd card contents.
Nova, you found another way yet you could share, or do I just need to manually create symlinks after every boot?
mountmicrosd.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the card will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/MicroSD
echo execute Micro SD mount - card must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Place the above in a text file with the extension .sh Download from the Market a program called Script Manager. Place the sh file in your SD card root. Run script manager, select that file and check two boxes. Run on Boot, Run as Root. Also create the directory of "MicroSD" Just as its typed. Linux is very caps sensitive. now every time you boot it will automatically run the script and bind the ExSD to the MicroSD directory.
This one will do the USB drive.
mountusb.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the drive will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/USBDrive
echo execute USB Drive mount - drive must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/usb_storage /mnt/sdcard/USBDrive
Create a widget with ScriptManager to have a touchable icon on your screen to run this one. Note it must have the folder "USBDrive" created on the sdcard.
It is unimportant if you use the same filename.sh i did. That is just so I knew at a glance what it does. # is a comment and Echo prints the text following it to the screen. I found a way around the mutiple bind entries by simply unmounting it before making the mount bind. You might see a Failed error, this is just fine. it just means there was no mount for it to undo on its first run. this will be more helpful on the USB drive script than the MicroSD card one.
Very cool, Nova5!
Thanks for taking the time to research it further.
I tested your solution and it works fine!
I updated it with a fix to prevent the multiple entries. You'll need to update your files to reflect the changes I made. a reboot will be the simplest way to ensure it starts with a clean slate. Notice I removed the comment about Running it once only, due to the umount command preceeding the mount command. This removes the bind from memory and then when its created again you don't have the problem of 13 entries of MicroSD in OfficePro like I ran into.
Alright, I think its as good it is going to get. You could put them in the same files but for simplicity and being able to swap USB drives without affecting the ExSD card two files is best.
Wait... debug time. I goofed something.
Okay fixed up and working right. Remember what I mentioned about linux and capitals? oops. Echo is not echo.
Shucks, im not rooted.

Ext4 / NTFS MicroSd & Usb Mounting -v2.3 (fat32 UMS) MTP/UMS Switching/ CM9/10 info

Ext4 / NTFS MicroSd & Usb Mounting -v2.3 (fat32 UMS) MTP/UMS Switching/ CM9/10 info
Hi,
i have developed an App, EzyMount - that pretty much takes care of mounting & utilising ext4 / ntfs storage properly. So no need to be limited to 4gb file size restrictions anymore !!
Updated info for CM9 / CM10 builds
****************************************************************
It seems that CM9 /CM10 changes the default mount point for external sdcards
For ntfs partition only sdcard
Change the default mount point to: /storage/sdcard1
Then try mounting here it should work ok and be picked up automatically by other Apps as well.
If you have two partitions:
1st Partition would be vfat then this should get auto mounted to /storage/sdcard1
2nd Partition (ntfs) : change the mount point to: /storage/sdcard0/extStorages1
Then try mounting here it should be ok
*****************************************************************
Version 2.3 Update
Universal Mass Storage Mode support for 7.7 tabs also most other devices.
Auto MTP/UMS Switching
When you select either MTP Mode or UMS Mode, the App will automatically switch your device into these respective USB transfer method.
It is also possible to use UMS mode for any external MicroSd card, fat32, Ext4 or NTFS formatted.
For ext4 / ntfs this is taken care of by the App
For fat32 external sd cards (these are mounted automatically by Android)
Create a new Mount Point which is the folder location of your external MicroSd card.
For example, on Galaxy 7.7 devices - this will be /mnt/sdcard/extStorages/SdCard.
For Galaxy S3 devices - this will be /mnt/extSdCard
For other devices this is typically, /mnt/sdcard/external_sd
In the partition setting put: /dev/block/mmcblk1p1
Once you have created this mount point, just select "UMS Mode".
After you have finished copying files to or from your PC, it is important to "safely eject your usb device from your PC".
Important too - Finally, disable "UMS Mode" by it pressing again.
You can switch back to MTP by selcting "MTP Mode".
(If MTP does not become active straight away (Android being slow too pick up the change)- you may need to Go to : Settings > Storage > USB PC connection & toggle between Media Device (MTP) & Camera PTP. So Android re-starts MTP. However, it should work without this step)
*****************************************************************
Version 2.1 update
1) New Sliding UI.
2) Ability to mount up to 10 devices / partitions.
Just create a new Mount Point for each device / partition you need to mount.
To create a new Mount Point:
Just slide the UI to the "mount another drive or partition". Then just use select a mount option as per usual to create a new mount point and mount at the same time. Or you can press the "microsd info" "usb drive info" to create a new Mount Point.
3) Works with ICS update
Just ignore "ICS warning messages" - when it comes to ntfs usb devices.
*****************************************************************
Version 1.7 update
1) Quite a few new features added:
NTFS / Ext4 MTP Modes - this allows you to easily switch between "normal mode" and MTP mode.
MTP mode is used for transferring files to PC.
Usage Example:
Personally, I have a 32 gb sd card
the First partion on it is an exFat 4 gb partition. This is picked up the tab and mounted as normal to the location of /mnt/sdcard/extStorages/SdCard
I can use this for my cwm backups etc, other files etc - system running as normal.
This 4gb partition will show up in windows via MTP.
The problem:
I also have a 28GB Ext4 second partition on the Card , this could be an NTFS partition too.
I want this too show up in windows so I can transfer (br rips etc) but it wont as the my first fat32 partiion is shown up instead.
By using NTFS MTP Mode or Ext4 MTP Mode - the App will automatically "switch" the partitions so the larger NTFS or EXT4 mode shows up in windows.
Once done then you can disable NTFS / EXT4 MTP MODE and the device will go back to normal as it were.
(the MTP folder location is set to work already for 7.7 devices and similiar. For other devices this needs to be adjusted. It is normally the default folder loaction of where the external SD card is mounted by the phone.)
UMS Mode - universal mass storage mode.
Although the 7.7 does not have ums mode (MTP is being standardised on ics devices and above) but there a lot of devices than can only use ums mode for transferring file to PC.
I have added a ums mode. Which basically makes your micro sd partitions available on pc. (suitable for non MTP devices)
You do not need to "turn on usb mass storage mode" just select "ums mode" from the APP and it will do it for you.
Also - in windows ext4 partitions are not recognised but ntfs one are off course. In linux both should be available. (one of the benefits of MTP)
Comaptibility Mode
Is for those users whose mounting of micro sd cards might fail for some reason. This mode tries a bit more thorough to mount your micro sd drives.
Better Error Messages
I have added a lot of better error messages that the de facto "error mounting " message
It should provide the reason why things might not be mounting.
I hope this helps some with issues and pm if you have any other issues or things you think might be useful to add.
( I will get round to updating the website with the added features soon)
*****************************************************************
version update 1.6
1) Fixed slight issue with Auto Ext4 permission handling.
2) Also changed the default mount folders of NTFS or Ext4 microsd card to the /sdcard/extStorages/SdCard
This should mean now MTP will see the card in windows properly and you can access them as you would normally. (I think this has caused some confusion - i had left this generic for other users on different devices)
(This means for other devices you should specify the folder in the "location" settings which is normally seen by windows MTP - i.e when you use a fat32 microsd)
I hope this has resolved some issues people might have been having.
version update 1.5
1) Modified labelling on some settings to make it clearer.
2) Mounting usb devices has been slightly tweaked to care of multiple partitions.
version update 1.4
Following on from your recommendations.
1) Mounting MicroSd Ext4 or Ntfs now automatically takes care of you partitions so you do not need to specify them.
This should make it much simpler to mount your microsd cards.
2) Usb Mounting widget should be compatible for all home screen launchers. (touchwiz, adwlauncher etc.)
************************************************************************************************************************************************************************************************************
please remember to unmount usb / microsd devices before ejecting - For usb devices you use the 1-click usb mount/umnount home screen widget for this or from within the App
************************************************************************************************************************************************************************************************************
There have been a few issues regarding using external Usb formatted Ntfs or Ntfs microsd drives. Also I wanted to use an internal micro sd Ext4 partition for large movies (1080p hi-def/bluray etc) or just keep them on an external Ext4 usb disk. Having looked at other solutions, there didn't seem like one that just "worked" or the way I wanted it to do so.
Using Ext4 over Ntfs is native to linux/android and it consumes less cpu than using ntfs. But you cant simply mount an ext4 device and start using it like a regular file system as the file permission are not properly created by Android. I also still needed to have Ntfs read/write support on occassions.
You can use any cheap otg usb cable found on ebay etc. (The same cables as used for 10" galaxy tab devices for example).
As I used the 7.7 as one of my development device so it is pretty suited for our tabs & similiar tablets i.e 7.0+ etc, but is more than generic enough to work on other devices.
The App provides all the necessary features and customization options so you don't need to worry about file formats, file size limitations or file permissions again !!
There are more tips on how to best use the app on my website. If you have any comments good or bad please let me know so I can improve the App.
Cheers.
Need help in mounting microSD as Mass Storage
I don't understand Settings Guide on your website. I downloaded your app but it isn't working for me and I get Partition error every time I try to mount. What should be my partition and what should be the location? I simply want to mount my NTFS microSD card as mass storage which is usually at /extstorages/SDcard/. I did root my device last night and I also installed busybox v1.19 few minutes ago. What am I doing wrong?
Same here, says "Check your partitions". Why do *I* have to worry about partitions? Can't it just work?
Using rooted Tab 7.7.
Asad_Khan said:
I don't understand Settings Guide on your website. I downloaded your app but it isn't working for me and I get Partition error every time I try to mount. What should be my partition and what should be the location? I simply want to mount my NTFS microSD card as mass storage which is usually at /extstorages/SDcard/. I did root my device last night and I also installed busybox v1.19 few minutes ago. What am I doing wrong?
Click to expand...
Click to collapse
belyj said:
Same here, says "Check your partitions". Why do *I* have to worry about partitions? Can't it just work?
Using rooted Tab 7.7.
Click to expand...
Click to collapse
Hi guys,
The default partition of your microsd card is typically:
/dev/block/mmcblk1p1
1) If you have only one partition - so you will put the following in the partition setting:
So for example an NTFS only formated microsd card :
/dev/block/mmcblk1p1
And the same would go for an Ext4 formatted only card:
/dev/block/mmcblk1p1
2) If you have two partitions then typically you will have:
/dev/block/mmcblk1p1
/dev/block/mmcblk1p2
And so on ..
(you can always check for these from a terminal/adb shell)
As these partitions are same for your microsd, you can set them once and forget them about afterwards. I don't try automatically choose these partitions for you and this depends on your partitioning scheme more than anything.
For Usb devices the App will automatically try mounting your usb partitions as these are likely to change more often then not.
Typically, I would recommend the following:
If you have a large 32gb / 64 gb microsd card
Create The first partition as fat32 - maybe 4gb.
This partition will be /dev/block/mmcblk1p1
The tab will automatically mount this first partition & you can use things like cwm recovery for backup as normal.
(Also you wont see an unsupported file system icon in your status bar.)
Then create a second large partition (ext4 or ntfs) :
This partition will be /dev/block/mmcblk1p2
So set this as your Ntfs partition or ext4 partition.
Once you can mount you microsd ok - then you can set it to automount boot.
So need to mess with the settings after that.
Hope this helps and please let me know.
Cheers.
Still MTP connection
Thank you for your explanation. I've can now mount/unmount SD card but when I connect it computer it starts MTP connection and still shows under my computer as a portable device rather than a Mass Storage. Also if I connect it to my computer first it would still ask me to restart the MTP connect when I click mount SDcard and again it shows as a portable device. Changing debugging settings won't help either.
Partition /dev/block/mmcblk1p1
Location /mnt/sdcard/extStorages/SdCard
Asad_Khan said:
Thank you for your explanation. I've can now mount/unmount SD card but when I connect it computer it starts MTP connection and still shows under my computer as a portable device rather than a Mass Storage. Also if I connect it to my computer first it would still ask me to restart the MTP connect when I click mount SDcard and again it shows as a portable device. Changing debugging settings won't help either.
Partition /dev/block/mmcblk1p1
Location /mnt/sdcard/extStorages/SdCard
Click to expand...
Click to collapse
I just tried this. If you click on the "portable device" in windows it shows up as tablet. You can copy files to where you mounted the sd card.
It should work fine.
For me I leave set pretty much as default. As I have the first partition on my sdcard as an exfat / fat32. Then I have an ext4 or Ntfs Partition. This way you tab will behave exactly as normal. But The App should be fine regardless of whatever partitions you have.
Please try this and let me know.
(Also I will look to be adding an auto mounting microsd feature in the next few updates if there is some demand for this. Plus any other features people might suggest in the meanwhile )
Cheers.
To those who have installed EzyMount,
I have updated the microsd mounting feature so it should automatically mount the correct partition for you.
You dont have to manually change the partition settings anymore.
Having said that if there is a particular partition on your microsd you want to mount, then put that in the settings. The app will first try to mount that partition, then try to mount the other partitions if the first mount was not successful.
Also i would suggest setting the mount point folder (location option in settings) to /sdcard/SOME_FOLDER
& not /ext/extStorages/SdCard. which is where the tab mount would mount the microsd card.
Let me know how it goes with the update.
Hope this helps.
cheers.
Hi buddy.
I am totally confused as to how this works.
I went through the info at your website, but I still cannot get this to work.
I have tried only USB flash memory with an OTG USB adapter, both EXT4 and NTFS. I just get an error that says: Error Mounting USB Drive. I can tell that it seems to try, because the activity LED on the drive will flash when I click Mount.
I am using a Samsung Note (i717), so I am not sure if that is the problem. I am only rooted, but the kernel and software is stock 2.3. The phone has both internal memory (called USB Storage by the system) and an sd card; could the app be confused by the various memory locations?
I don't have a spare microsd to format as NTFS, otherwise I would try that.
Any ideas on what I should try? I am a little confused by the settings... they seem to be in many locations, so I am not sure what things to change.
Thanks!
G8351427 said:
Hi buddy.
I am totally confused as to how this works.
I went through the info at your website, but I still cannot get this to work.
I have tried only USB flash memory with an OTG USB adapter, both EXT4 and NTFS. I just get an error that says: Error Mounting USB Drive. I can tell that it seems to try, because the activity LED on the drive will flash when I click Mount.
I am using a Samsung Note (i717), so I am not sure if that is the problem. I am only rooted, but the kernel and software is stock 2.3. The phone has both internal memory (called USB Storage by the system) and an sd card; could the app be confused by the various memory locations?
I don't have a spare microsd to format as NTFS, otherwise I would try that.
Any ideas on what I should try? I am a little confused by the settings... they seem to be in many locations, so I am not sure what things to change.
Thanks!
Click to expand...
Click to collapse
Hi,
I have slightly updated the labelling in the App so should a bit less confusing
You shouldn't really need to change anything.
Partition - refers to the actual "physical" location of your drive as sen by the Androis OS / kernel but this is taken care of automatically so you dont need to specify this. Although you can still specify a partition and that will be mounted.
(You can see the list of your partitions by doing ls /dev/block/* for a command prompt for example)
Location - is where your microsd or usb device will be mounted. Basically the folder loaction on your device where you can see its files / folder contents etc.
The other option refer to the various features - such as auto mounting at boot, auto fixing ext4 permissions, auto usb mounting. If you dont need them you can disable them.
So hopefully we can narrow down the issue.
Do you have busybox,superuser installed ok?
I am not sure what the actual "Usb Storage" on the note is. Maybe there is a variation in the labelling but it should be resolvable.
If you can get me the output from your device from an adb shell or connectbot for example of the following commands:
# mount
and
# df -h
These should help me figure out what might be going on.
(i'll see If i can get my hands on a galaxy note - or have a look at some of the dev stuff in the meanwhile)
Cheers.
Hi. I also heve this problem with Galaxy Note (unable to mount USB drive with one NTFS partition).
Please describe how can i help you to figure out the issue step by step.
Thenks.
-=galex=- said:
Hi. I also heve this problem with Galaxy Note (unable to mount USB drive with one NTFS partition).
Please describe how can i help you to figure out the issue step by step.
Thenks.
Click to expand...
Click to collapse
No problems - been busy with some other work.
So far the App has been installed on the note more tham any other device so seems to be working for some.
A lot of problems are being caused by some users not unmounting the usb device after mounting it for the first time. Which confuses things. I will be releasing an update that takes care of this and possibly a self diagnostics checker that should help in identifying some potential problems.
Also android / linux can be somewhat particular about ntfs so best run a drive check in windows first. Or even better can you try another newly formatted ntfs usb device and see if that works.
I will pm you once i get the chance.
Thanks.
-=galex=- said:
Hi. I also heve this problem with Galaxy Note (unable to mount USB drive with one NTFS partition).
Please describe how can i help you to figure out the issue step by step.
Thenks.
Click to expand...
Click to collapse
I have sent you a pm. Also i have been looking at some of the note dev threads so should have a solution for you I think.
Cheers.
Hi All,
Updated the App to version 1.7.
Check the first post.
Cheers.
This is working great for my 64GB microsd as NTFS. The main problem i have (rather an annoyance) is there is now a constant notification about a "Blank SD card" in the notifications shade.
Does anyone know how to supress this, as it is very annoying to keep seeing it.
rEVOLVE said:
This is working great for my 64GB microsd as NTFS. The main problem i have (rather an annoyance) is there is now a constant notification about a "Blank SD card" in the notifications shade.
Does anyone know how to supress this, as it is very annoying to keep seeing it.
Click to expand...
Click to collapse
You could use the solution ezynow mentions in the first post. Create a small fat32 partition at the start of the SD card, this will also be accessible by things like recovery. Then use the rest of the card as NTFS.
I should apologize for not seeing that tip in the OP. I'll have to wait till i've got some time to repartition the card - any suggestions of what size to make the small one?
Only other problem I see is that the "mount at boot" option doesn't seem to work and I still have to go to the app to enable this.
Trouble with Ext4 MTP
I'm using a 32GB external sd card with a very small 8MB fat32 partition followed by an ext4 partition using the remainder of sdcard. Using Ezymount 1.9, I have been able to mount/bootmount my ext4 partition nicely. Where I'm still struggling is to get the ext4 partition to be accessible when the phone is USB attached to my Linux pc. When the USB cable is attached, I see the phone's internal sd and fat32 partition. When the EXT4 MTP option is enabled, still the fat32 partition is mounted on my pc. I've experimented with UMS and Compatibility modes, but the behavior remains the same.
On my SGS2, the default mount location for the fat32 partition is /mnt/sdcard/external_sd. I created /mnt/sdcard/external_sd_ext4. My external sdcard appears as /dev/block/cyasblkdevblk0, with the fat32 partition as p1 and ext4 as p2. I've configured Ezymount for ext4 with /dev/block/cyasblkdevblk0p2 with a location of /mnt/sdcard/external_sd_ext4. I've tried a number of points for the MTP location, but the resulting behavior remains the same.
Can you help me to get the ext4 partition accessible from my pc when attached via USB?
Thanks
GalaxyQuest99 said:
I'm using a 32GB external sd card with a very small 8MB fat32 partition followed by an ext4 partition using the remainder of sdcard. Using Ezymount 1.9, I have been able to mount/bootmount my ext4 partition nicely. Where I'm still struggling is to get the ext4 partition to be accessible when the phone is USB attached to my Linux pc. When the USB cable is attached, I see the phone's internal sd and fat32 partition. When the EXT4 MTP option is enabled, still the fat32 partition is mounted on my pc. I've experimented with UMS and Compatibility modes, but the behavior remains the same.
On my SGS2, the default mount location for the fat32 partition is /mnt/sdcard/external_sd. I created /mnt/sdcard/external_sd_ext4. My external sdcard appears as /dev/block/cyasblkdevblk0, with the fat32 partition as p1 and ext4 as p2. I've configured Ezymount for ext4 with /dev/block/cyasblkdevblk0p2 with a location of /mnt/sdcard/external_sd_ext4. I've tried a number of points for the MTP location, but the resulting behavior remains the same.
Can you help me to get the ext4 partition accessible from my pc when attached via USB?
J
Thanks
Click to expand...
Click to collapse
Hi GalaxyQuest99,
Could you please run the diagnostics report and send it to me. Hopefully, it is a configuration issue.
What phone/tablet are you using & Also what linux os are you running so i can repoduce the issue.
I am also working on some major new features - so version 2.0 is in the works
Thanks.
Diagnostic?
ezynow said:
Hi GalaxyQuest99,
Could you please run the diagnostics report and send it to me. Hopefully, it is a configuration issue.
What phone/tablet are you using & Also what linux os are you running so i can repoduce the issue.
I am also working on some major new features - so version 2.0 is in the works
Thanks.
Click to expand...
Click to collapse
I have a Samsung Galaxy S2. I use Ubuntu 12.04 LTS. I ran the diagnostics, but don't where to find the report.
Thanks
GalaxyQuest99 said:
I have a Samsung Galaxy S2. I use Ubuntu 12.04 LTS. I ran the diagnostics, but don't where to find the report.
Thanks
Click to expand...
Click to collapse
Hi,
There should be a report generated under /sdcard/ezymount_test.txt.
Could you email it to [email protected].
If there isnt a report then email me at this address too so i can you send you an updated version of the app if needed.
Will setup ubuntu and test this also.
Cheers.

Mount EXT4 MicroSD Card

I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
kcattakcaz said:
I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
Click to expand...
Click to collapse
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
zroice said:
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
Click to expand...
Click to collapse
I am rooted, but stock ROM and kernel. MTP is for connecting to a computer? If it is, I don't need that. I have tried
mount -rw -t ext4 /dev/block/mmcblk1p1 /storage/extStorageCard
and variants switching the flags and options.
Interesting... I just typed that command in to make sure I didn't make any typos.... and my phone crashed and rebooted. I typed it again to see if it would cause another crash and it appears to have mounted the card! Whwn I type "df" at the prompt it now shows a 28.6 GB filesystem at that location, which has to be my sd card.
Why, how, I don't know. It works, it's all I can say.

Categories

Resources