• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP][ROOT] USB MASS STORAGE Enabler v1.6

Search This thread

GokulNC

Senior Member
Jan 10, 2015
827
1,402
Chennai
github.com
This app is to enable Mass Storage Mode for mounting your Memory Card as a USB Drive in Computer from your rooted device [Android 4.0+]..
It does not mount internal storage, and it will not work if your device doesn't have External Memory Card Support..

Download Link:
UMS Enabler (Universal) v1.6.2.apk
(can also be downloaded from XDA Labs)

(click here for older versions of app)

Steps to Enable UMS:

1. Connect phone using USB cable to Computer or TV or DVD/Audio Player or Mac (or even to other phone with OTG) or whatever.
2. Open the 'UMS Enabler' app and press 'Enable Mass Storage' and give it root access.
(Try 2-3 times if it doesn't work the first time itself)
3. Before disconnecting USB, eject from Computer and then press 'Disconnect Mass Storage' in app.

If it doesn't work, go to App Settings and choose the required settings, and try again.
Avoid using memory card from phone when in UMS mode..

Screenshot:
View attachment 3935226

Note:
This will work only if there is USB Gadget support in your kernel..
It is recommended to unmount the memory card from Settings->Storage before enabling UMS, to avoid issues.
(Not required if you don't make changes in memory card from computer, that is, if you're just using for read-only purpose.)
And remount similarly after use.
(required only if /dev/block/mmcblk1 is used, instead of the particular memory card partition mmcblk1p*)


Testers, please try and reply.
If it works, please leave a reply with your device model & ROM (and custom kernel if any) in which it's working so that I can make a list of working devices.

Hit the Thanks:good: button if it worked for you.. :)


Contributors
@GokulNC
@vikasb32 (Material Design)
@maais (Russian Localization)
@WormsWarII (French Localization)

Version Information
Status: Stable
Latest Version: 1.6.2
Last Release Date: 2017-02-26

Created 2015-11-03
Last Updated 2017-02-26

Source Code: https://github.com/GokulNC/USB_Mass_Storage_Enabler
(Feel free to contribute)
 

Attachments

  • UMS_Enabler_1.6.1.apk
    2.3 MB · Views: 35,992
  • UMS_Enabler_1.6.2.apk
    2.3 MB · Views: 206,818
Last edited:

GokulNC

Senior Member
Jan 10, 2015
827
1,402
Chennai
github.com
Device Compatibility List

(Only the devices with external memory card support are listed)

Working on Devices:
Warning For These Devices Below:
HTC One M9
 
Last edited:

GokulNC

Senior Member
Jan 10, 2015
827
1,402
Chennai
github.com
Changelogs :

To Do in Future:
* Reduce app size
* Automatically start app when USB is connected
* Create Notification when UMS is enabled, to unmount it easily.
* Force Mediascan after Unmount
* Add Dark Theme
* Enable ISO image mounting by selecting a compatible image.
* Find a way to enable ADB alone (in insecure mode)
* Switch completely to my RootShell class from Stericson's RootTools


Click here for latest changelogs: https://github.com/GokulNC/USB_Mass_Storage_Enabler/blob/master/Changelog.txt

v1.5.1 (25-Aug-2016):
-- Added Notification when UMS is enabled to unmount easily.
--fixed this bug in Advanced Settings
-- Removed the AsyncTask which caused high CPU utilization (to get USB Connection Status). Will use a BroadcastReceiver for that in the next Version.

v1.5.0 (21-Aug-2016):
-- Updated to Material Design by @vikasb32
(No changes other than UI)
* Report bugs if any

v1.4:
-- No need to manually unmount memory card (only required if memory card device block (/dev/block/mmcblk1) is directly used, instead of the particular partition mmcblk1p*)
-- Added Advanced Settings (in options) to choose the LUNs and partitions blocks manually from an automatically optimized searched list..

If you're choosing mmcblk1p1, you no need to unmount/remount from Storage Settings.
If you're using mmcblk1, unmount is required.

(Similarly for vold blocks, choose the right one.
For example in my phone, if there are 179:64 and 179:65 in /dev/block/vold/ , 179:64 refers to mmcblk1 and 179:65 refers to mmcblk1p1 )

v1.3:
-- App now automatically checks for External SD Card and presence of FUSE drivers.
-- Partial fix for devices in which it appears as CD Drive in Computer.
-- Properly Handled Exceptions and added Warning messages

v1.2:
--Optimized Code to remove stupid hackarounds & Fixed Bugs
--Added 'Help' page
--Used ProGuard (app size reduced to 34KB)

v1.1:
-- App now automatically disables SE Linux Enforcement thanks to @out386's idea
-- Added option to unmount Mass Storage
-- Changed the background to black

F.A.Q. :

1. "There's no drive for Internal Storage, only the memory card is there."
Solution: This app does not mount internal storage as UMS due to certain restrictions.
(The Internal Storage is actually present inside the /data partition which is formatted as EXT4/F2FS.)
This app can mount only the memory card. (You can try the USB Sharer app (link at bottom) for that purpose.)

2. An empty Removable USB Disk appears, upon clicking which appears "Please insert disk".
Solution:
Go to Advanced Settings and try using some other device block if any..

Also, make sure memory card is
a. inserted & formatted in recognizable file system format like FAT32, vFAT or exFAT.
b. not encrypted / adopted as Internal Storage (Since Android 6.0 Marshmallow, by which it's formatted as an EXT4 partition and encrypted).

3. It shows up as a CD-ROM or DVD (Optical) drive instead of USB (flash) drive, upon clicking which appears "Please Insert Disk / No Disk Inserted".
The kernel needs support for this. Most stock kernels only have USB-emulation, some stock kernels only have CD-emulation. None of the stock kernels have the ability to switch between the two, that's why a custom kernel is needed. A number of CyanogenMod kernels have support for this.............

4. "It's working, but the drive is mounted as read-only."
(This issue was reported for Asus Zenfone 2)
Solution: Actually, one of the main purpose why this app needs to disable SE Linux is to remove the write-access restriction on memory card.
There might be occasions when even after setting SE Linux to Permissive, the memory card is mounted as read-only drive. In that case, follow these steps:
i. Unmount the memory card from the Storage Settings.
ii. Now 'Enable UMS' and see if you have write-access.
iii. After disconnecting USB, remount/mount the memory card again from Storage Settings.

5. App Force Close: "Unfortunately, app has stopped".
Please send the logcat.

6. "I've tried everything possible & I'm helpless" :
Solution: You can also try this if there's TWRP recovery for your device:
i. Boot into TWRP recovery & connect to USB.
ii. Select the option 'Mount'
iii. Click 'Mount USB Storage' (or something similar).

If that didn't help, you can also try the similar apps below:

Alternate Apps :
If this app doesn't work, there are several other alternative apps (by other developers) you can try:
(Might require SE Linux Mode set to 'Permissive')

1. Multi Mount SD-Card ( Lite | Pro )

2. USB Sharer ( Free | Full )

3. SD Card as USB Drive ( Free )

4. DriveDroid ( Free | Paid )
(Only to mount ISO/IMG files to PC using UMS)

Libraries Used :
 
Last edited:

mrhamed

Senior Member
Apr 19, 2014
368
22
phone reboot immediately hit soft mode & empty (0bytes) partition on hard mode
onePlus One, 5.1.1 flexOS
 
Last edited:

GokulNC

Senior Member
Jan 10, 2015
827
1,402
Chennai
github.com
From my understanding this will work only if you have external sdcard storage.. ?

Yes, this will mount external sd storage only..
Internal storage is actually EXT4 format and is present in /data/media

Need some options (like unmount UMS/MTP)

There's an option(button) for MTP.. You can use that.
I will add an option to 'Unmount UMS' soon :)

How is this different than the xposed module "HandleExternalStorage" which enables writing to the external SD card?

That module enables read/write operation on memory card for all apps by editing /system/etc/permissions/platform.xml (I think so).
But this app is for enabling USB Mass Storage to mount memory card to computer directly like a flash drive..

phone reboot immediately hit soft mode & empty (0bytes) partition on hard mode
onePlus One, 5.1.1 flexOS

This works only if there's memory card in your device.
One Plus One doesn't have external memory support I think.
 
Last edited:

vegh_mark97

Senior Member
Oct 7, 2012
63
14
Budapest
It perfectly works for me on my Galaxy Note 4 (N910F) on Emotion Rom R2.1 (Note 5 port) even with soft method :)
My only problem is neither my A/V system and my TV cannot recognise it and this would be my main need of this :/ Any solutions?
 

GokulNC

Senior Member
Jan 10, 2015
827
1,402
Chennai
github.com
It perfectly works for me on my Galaxy Note 4 (N910F) on Emotion Rom R2.1 (Note 5 port) even with soft method :)
My only problem is neither my A/V system and my TV cannot recognise it and this would be my main need of this :/ Any solutions?

If it's working in computer, then it should work everywhere..
Maybe wait for a minute or 2 after connecting to TV see if it detects.
Try both soft and hard method..

Also, trying in some other ROM might help.. (Not sure though)
 
  • Like
Reactions: mauam

vegh_mark97

Senior Member
Oct 7, 2012
63
14
Budapest
If it's working in computer, then it should work everywhere..
Maybe wait for a minute or 2 after connecting to TV see if it detects.
Try both soft and hard method..

Also, trying in some other ROM might help.. (Not sure though)

I thought that too.. But either my TV and my A/V system recognises flash drives immideately :/ I tried another TV (a smart one) and this one wrote some failure messages with it :/ Thanks though I hope it will work in the near future somehow.
 

Samzter

Senior Member
Jul 18, 2012
292
36
Isabela, Basilan PH
This app is for mounting your External SD (Memory Card) in Mass Storage in your rooted phone..
It does not mount internal storage, and it will not work if your device doesn't have External Memory Card Support..
(And this app automatically sets the SE Linux Enforcement to 'Permissive')

Note:
This will work only if there is FUSE driver built-in in your kernel..
(I'm currently working on installing FUSE drivers for phone with kernel which doesn't have it.
Until then, I'm leaving this app as 'Beta'.)

Download Link:
Universal USB Mass Storage v1.1.apk .

Steps to Enable UMS:

1. Connect phone to Computer or TV or DVD or whatever.
2. Open the 'UMS Universal' app and press 'Enable UMS' and give it root access.

attachment.php

Testers, please try and reply.
If it works, please leave a reply with your device model & ROM (and kernel) in which it's working so that I can make a list of working devices.

Thank you :)
About dang time! Just the app I needed! Woot Woot :D
 

CSAkshay

Member
Mar 20, 2015
28
7
Chennai
Will it work on Android 6.0.1 on sprout4?

Since this only mounts the SD Card, will it work if I had used SD Card as internal storage in Marshmallow?
I just want it mounted, I've got other programs on Windows that can support/read ext4 filesystem drives.
BTW External SD is encrypted and formatted to ext4 filesystem, when SD Card is used as internal storage, so even if it can mount it, using that program to read ext4 filesystem, can I actually access my SD or will it be unsuccessful?
One more, can I install OTA updates without errors if i used this?

Thanks.
 
Last edited:

Top Liked Posts