[Utility] USB Mass Storage Tool Now with OTG Support [Update: 6-13-2011]

Search This thread

dinomight

Senior Member
Apr 23, 2007
86
38
UPDATE 6-13-2011 !! HUGE UPDATE.... OTG DRIVES NOW SUPPORTED !! https://market.android.com/details?id=com.skidmrk.umswatcherotg

So it's been a long time since i've checked in. This is mostly due to where i was in the development of the new version. I couldn't really work on fixes when i'd rewritten the entire codebase. Well your waiting should be worth the wait. If you have the old version installed from the market you'll have an update waiting. After the update it will tell you there is a new version for Android 3.1 devices. It will take you to the market to download a new app "UMS Watcher OTG" I know this is kinda dumb not currently the android marketplace will not allow for device or os specific version. So i had to make a 2nd app specifically for 3.1 devices. (Since 3.1 is the first build to offically support OTG mode.)(i retained the old version for pre 3.1 devices)
All of the features of the old version should still exist. But now the mounting dialogs are all handled within app. You'll notice this time we actually have a full interface. More than just the simple settings page. UMS mounting should work just fine. Hopefully this will resolve all of the issues people have been having. At least i think it will. If there are still issues i will now be able to work on it since i'm done with the current code.
With the new version installed you'll be greeted with a dialog anytime you plug in a drive via an otg cable. This will then set UMS watcher otg as the default handler for that device. Then any time you plug that device in again it will automatically open the app. This is where you'll really see changes in the app. You will see each of your attached devices enumerated in an expandable list. If you expand any of the drives you'll see the partitions. You can mount and unmount any partition. When mounting you'll be asked the partition type and target mount point. I attempt to auto-detect the partition fs type but i'm not able to differentiate between versions of ext, and between versions of hfs/hfs+. Each partition's settings will be saved. and is keyed to the uuid of the partition. if you format/partition the drive those uuid's change. When finding the mountpoint you can browse the entire file system and even create new directories within app (i can't tell you how much time i spent working out an in app directory browser.) You will also notice partition sizes and disk usage. Note: you won't see disk usage until the partition is mounted (not really an easy way around it). You should be able to have as many simultaneous drives attached, (with as many partitions as you want).
You should know that the fs types are only supported if you're kernel has the modules for them. Tiamat currently has fat/ntfs/ext/hfs/hfs+ modules so all of these should work. The kernel modules will be loaded on demand, so no need to worry about loading them manually.
BIG NOTE:::: HFS+ DOES NOT CURRENTLY WORK.
This appears to be an issue with the kernel module, I'll start working with BRD to get it sorted out.

Checkout the about page to see all of the features.
With this big of a code change there are bound to be bugs. I'll work on them as quickly as posisble, email me or post here when you find any.

This has been a huge amount of work. (lots of learning) The code has gone up in size by almost 2 orders of magnitude. and has been hours and hours of work, so enjoy and if you do a review on the market would be nice. I really didn't anticipate the amount of downloads that i got on V1. >4000 . I also couldn't believe the different types of device, or locales. On that note if anyone wants to help me localize to other languages I'd really appreciate the help. (Google Translate might have to do).

As before any bugs or feature requests can go here or can be emailed to me at apps <at> skidmrk <dot> com . I really hope people like this and use it. (i'd hate to have all the work go out for nothing.)

Thanks to everyone who have helped out so far.
-D
==============================================

UPDATE 5-20-2011 !! TIAMAT UMS KERNEL FOR 3.1 HAS ARRIVED !!
Ok BRD sent me his 3.1 kernel with ums compiled in. I've attached it below.(install via CMR, following the instructions in the tiamat kernel post)

I haven't finished the updates to the app to add ntfs/fat/etc mounting. Things ended up getting a little busy. I should have an update for the app come sunday/monday (going camping for the weekend)

BRD tells me he can't really support the ums stuff any more so i guess i'll take over ums builds (assuming i can figure it all out).

Getting very close to 1000 market downloads. Wow i didn't ever expect that many. I noticed that we have quite a few people with non english locales. Does anyone want to offer translations. I can and will localize (i feel it's important).

Also any requests for the new app version. So far i have a request for unified otg mounting interface. Localization, Kernel Detection and Download. Anything else you'd like to see?

Enjoy the new kernel (and you can thank BRD for it... i didn't really do anything to build it).

Also you don't need to reinstall my app. Once you install the new kernel it will start working again.

=================================================




UPDATE 5-10-2011 !! We're on the market !!
Nothing new yet (waiting on the otg cable) but now you can get the app via the market:

https://market.android.com/details?id=com.skidmrk.umswatcher

Please use this market link for downloads. It will be easier to keep your app updated ... i will however continue post the apks here and use this post to work with users (bug and features).

I haven't had a chance to test this on 3.1 because i've not yet updated... not to mention there isn't a kernel yet for 3.1.

As always feedback is much appreciated.

UPDATE 5-9-2011 NEW VERSION (new features)
Yeah for updates.
I finally figured out how to detect when something mounts the usb mass storage, so now the notification changes depending on the state of the usb mass storage. Finally it has the exact same behavior as android normally has.

I implemented the requested feature of automounting the usb mass storage. I'm not sure how many people would want it but it's there now (and kinda cool)
I've actually hooked in to the private api calls that android uses to mount usb storage (same call used in the native mount app). I figure that is a very safe way to do automounting. (and was a pain in the but to figure out)

Also out of necessity there is now an app you can run. This is just a page for managing settings. It doesn't have to be run for this app to work. Currently there is the "automount" setting and the "show notifications" setting. I figure with the automount feature this might serve useful on other devices for just that function, so those people can disable the notifications. I'll post this on the market as soon as i figure out how. (free of course).
As far as other devices go i tested it on my droid 1 and it works fine (for both notifications and automount). Feel free to test it on whatever you like.
Let me know if there are any other feature you want. I thought able customizing the notification (with sound, led, or vibrate) but that didn't make it in this build.

As before let me know what you think. Feedback can only make this better.

----------

For people still on tiamat 1.4.0 that want to use usb mass storage, have i got an app for you. I found it tedious to use the recommended scripter. So I saw this as an opportunity to write my first albeit basic application.

So attached you'll find it "Usb Mass Storage Watcher". The app listens for usb connections and when it detects one it will add the "mount usb" notification just like the standard android interface. Click on it and it will bring up the mount usb app.

The app does not need to be run at startup or ever really. When it is installed it registers itself as a listener for the usb connection events. It gets called by android os when those event happen. So basically it operates exactly like android is supposed to.

Special thanks to:
Kevin(at)TeslaCoil
LouZiffer(at)SDX
for their ShellCommand (su/sh) class.

Let me know what you think. I'd really like feedback.
-D
 

Attachments

  • UsbMassStorageWatcher.apk
    10.4 KB · Views: 2,318
  • UsbMassStorageWatcher.1.1.apk
    14.4 KB · Views: 2,403
  • Tiamat_Xoom-v1.4.2_1.6Ghz_UMS.zip
    4 MB · Views: 2,420
  • UsbMassStorageWatcherOtg.apk
    379.5 KB · Views: 5,307
Last edited:

siscim23

Senior Member
Apr 7, 2011
302
44
Miami, FL
Just tested it, works great, thanks a lot.

Is it possible to have an option to turn on mass storage automatically when it finds a connection? I assume it could be ejected from Windows like a regular flash drive, so I wouldn't have to interact with the Xoom.
 

jvs60

Senior Member
Jul 13, 2008
814
73
Miami-Dade County
Thank you for this. It works perfecftly. I stuck with kernel 1.3.2 because I didn't want to deal with the whole script thing. I'm now running 1.40

Sent from my Xoom using Tapatalk
 

flakmonkey

Member
Dec 15, 2005
13
0
can't open apk -.-

Hi! This is the app I was waiting for (I didn't realy understand the script thing)

Thanks...

Unfortunatly i can't open the apk file... If I try to, I get an Error (just now it in german): "Beim analysieren des Pakets ist ein Problem aufgetreten"

Google Translate : When analyzing the package a problem accured

Have I done anything wrong?

Im rooted, on tiamat 1.4.1 and in options I have checkt hat I can install apks from unknown origine
 

mr_wrong_0

Senior Member
Dec 8, 2008
297
62
Colorado
I am having a hard time with this. I installed the file just fine, but when I plug in a usb cable it doesn't do anything on my xoom I the auto play comes up on the computer but it just shows my xoom not the card. I have tiamat 1.4.1 installed. I've tried with USB debugging on as well as off. I have a buddy who's is working perfectly so I know what it should be doing but it's just not. Suggestions?
:confused:
 

mr_wrong_0

Senior Member
Dec 8, 2008
297
62
Colorado
nevermind I read back through the change log and behold...

Version 1.4.1
Mass Storage has been removed do to stability issues. Your SD Card still works just fine without it!

More updates from Google AOSP.

Please visit Tiamat Xoom Kernel Github Repo for commit history.

so yeah... that's my issue
 

dinomight

Senior Member
Apr 23, 2007
86
38
could you add hooks for NTFS mounting VIA OTG Cable........ that would rock!!

I've never looked into it but you're talking about mounting an external drive on the xoom (backwards to what my app currently does).

Are you just looking to automount? or do you want an interface like that used for mounting usb mass storage (ie notifications, page to enable/disable).

Technially that would an entirely different app but if i got my hands on an OTG and tested out how it all works i wouldn't mind looking into integrating it. But i just wanted to clarify specifically what you wanted it to do.

-D
 

pyrator

Senior Member
Feb 28, 2009
307
9
For example when you hook up an externel HD via OTG Cable you have to run this command to have it mounted... If your app could automount it that would be a nice addition.

"
Mounting USB disks
use gscript lite to mount disk(s), or you can test this script via adbwireless,...
Code:
mount -o remount,rw /
mkdir /mnt/ntfsdisk
ln -s /mnt/ntfsdisk /ntfsdisk
ntfs-3g /dev/block/sda1 /mnt/ntfsdisk
"
 

Hyperion82

Senior Member
Apr 26, 2010
118
6
Adelaide
For example when you hook up an externel HD via OTG Cable you have to run this command to have it mounted... If your app could automount it that would be a nice addition.

"
Mounting USB disks
use gscript lite to mount disk(s), or you can test this script via adbwireless,...
Code:
mount -o remount,rw /
mkdir /mnt/ntfsdisk
ln -s /mnt/ntfsdisk /ntfsdisk
ntfs-3g /dev/block/sda1 /mnt/ntfsdisk
"

+1 here

I'd love to see this kind of integration to your app. Don't mind throwing in some kudoes too on the market.



Sent from my Xoom using XDA Premium App
 

mutiny

Senior Member
Aug 13, 2007
582
87
NYC
I mentioned this thread yesterday to BRD. I really liked what the 1.4.0 did, but I'm stuck (by choice) to 1.4.1. If he can re-implement the mass storage in the next release with this and what Pyrator mentioned, we will have a very solid update indeed. :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    UPDATE 6-13-2011 !! HUGE UPDATE.... OTG DRIVES NOW SUPPORTED !! https://market.android.com/details?id=com.skidmrk.umswatcherotg

    So it's been a long time since i've checked in. This is mostly due to where i was in the development of the new version. I couldn't really work on fixes when i'd rewritten the entire codebase. Well your waiting should be worth the wait. If you have the old version installed from the market you'll have an update waiting. After the update it will tell you there is a new version for Android 3.1 devices. It will take you to the market to download a new app "UMS Watcher OTG" I know this is kinda dumb not currently the android marketplace will not allow for device or os specific version. So i had to make a 2nd app specifically for 3.1 devices. (Since 3.1 is the first build to offically support OTG mode.)(i retained the old version for pre 3.1 devices)
    All of the features of the old version should still exist. But now the mounting dialogs are all handled within app. You'll notice this time we actually have a full interface. More than just the simple settings page. UMS mounting should work just fine. Hopefully this will resolve all of the issues people have been having. At least i think it will. If there are still issues i will now be able to work on it since i'm done with the current code.
    With the new version installed you'll be greeted with a dialog anytime you plug in a drive via an otg cable. This will then set UMS watcher otg as the default handler for that device. Then any time you plug that device in again it will automatically open the app. This is where you'll really see changes in the app. You will see each of your attached devices enumerated in an expandable list. If you expand any of the drives you'll see the partitions. You can mount and unmount any partition. When mounting you'll be asked the partition type and target mount point. I attempt to auto-detect the partition fs type but i'm not able to differentiate between versions of ext, and between versions of hfs/hfs+. Each partition's settings will be saved. and is keyed to the uuid of the partition. if you format/partition the drive those uuid's change. When finding the mountpoint you can browse the entire file system and even create new directories within app (i can't tell you how much time i spent working out an in app directory browser.) You will also notice partition sizes and disk usage. Note: you won't see disk usage until the partition is mounted (not really an easy way around it). You should be able to have as many simultaneous drives attached, (with as many partitions as you want).
    You should know that the fs types are only supported if you're kernel has the modules for them. Tiamat currently has fat/ntfs/ext/hfs/hfs+ modules so all of these should work. The kernel modules will be loaded on demand, so no need to worry about loading them manually.
    BIG NOTE:::: HFS+ DOES NOT CURRENTLY WORK.
    This appears to be an issue with the kernel module, I'll start working with BRD to get it sorted out.

    Checkout the about page to see all of the features.
    With this big of a code change there are bound to be bugs. I'll work on them as quickly as posisble, email me or post here when you find any.

    This has been a huge amount of work. (lots of learning) The code has gone up in size by almost 2 orders of magnitude. and has been hours and hours of work, so enjoy and if you do a review on the market would be nice. I really didn't anticipate the amount of downloads that i got on V1. >4000 . I also couldn't believe the different types of device, or locales. On that note if anyone wants to help me localize to other languages I'd really appreciate the help. (Google Translate might have to do).

    As before any bugs or feature requests can go here or can be emailed to me at apps <at> skidmrk <dot> com . I really hope people like this and use it. (i'd hate to have all the work go out for nothing.)

    Thanks to everyone who have helped out so far.
    -D
    ==============================================

    UPDATE 5-20-2011 !! TIAMAT UMS KERNEL FOR 3.1 HAS ARRIVED !!
    Ok BRD sent me his 3.1 kernel with ums compiled in. I've attached it below.(install via CMR, following the instructions in the tiamat kernel post)

    I haven't finished the updates to the app to add ntfs/fat/etc mounting. Things ended up getting a little busy. I should have an update for the app come sunday/monday (going camping for the weekend)

    BRD tells me he can't really support the ums stuff any more so i guess i'll take over ums builds (assuming i can figure it all out).

    Getting very close to 1000 market downloads. Wow i didn't ever expect that many. I noticed that we have quite a few people with non english locales. Does anyone want to offer translations. I can and will localize (i feel it's important).

    Also any requests for the new app version. So far i have a request for unified otg mounting interface. Localization, Kernel Detection and Download. Anything else you'd like to see?

    Enjoy the new kernel (and you can thank BRD for it... i didn't really do anything to build it).

    Also you don't need to reinstall my app. Once you install the new kernel it will start working again.

    =================================================




    UPDATE 5-10-2011 !! We're on the market !!
    Nothing new yet (waiting on the otg cable) but now you can get the app via the market:

    https://market.android.com/details?id=com.skidmrk.umswatcher

    Please use this market link for downloads. It will be easier to keep your app updated ... i will however continue post the apks here and use this post to work with users (bug and features).

    I haven't had a chance to test this on 3.1 because i've not yet updated... not to mention there isn't a kernel yet for 3.1.

    As always feedback is much appreciated.

    UPDATE 5-9-2011 NEW VERSION (new features)
    Yeah for updates.
    I finally figured out how to detect when something mounts the usb mass storage, so now the notification changes depending on the state of the usb mass storage. Finally it has the exact same behavior as android normally has.

    I implemented the requested feature of automounting the usb mass storage. I'm not sure how many people would want it but it's there now (and kinda cool)
    I've actually hooked in to the private api calls that android uses to mount usb storage (same call used in the native mount app). I figure that is a very safe way to do automounting. (and was a pain in the but to figure out)

    Also out of necessity there is now an app you can run. This is just a page for managing settings. It doesn't have to be run for this app to work. Currently there is the "automount" setting and the "show notifications" setting. I figure with the automount feature this might serve useful on other devices for just that function, so those people can disable the notifications. I'll post this on the market as soon as i figure out how. (free of course).
    As far as other devices go i tested it on my droid 1 and it works fine (for both notifications and automount). Feel free to test it on whatever you like.
    Let me know if there are any other feature you want. I thought able customizing the notification (with sound, led, or vibrate) but that didn't make it in this build.

    As before let me know what you think. Feedback can only make this better.

    ----------

    For people still on tiamat 1.4.0 that want to use usb mass storage, have i got an app for you. I found it tedious to use the recommended scripter. So I saw this as an opportunity to write my first albeit basic application.

    So attached you'll find it "Usb Mass Storage Watcher". The app listens for usb connections and when it detects one it will add the "mount usb" notification just like the standard android interface. Click on it and it will bring up the mount usb app.

    The app does not need to be run at startup or ever really. When it is installed it registers itself as a listener for the usb connection events. It gets called by android os when those event happen. So basically it operates exactly like android is supposed to.

    Special thanks to:
    Kevin(at)TeslaCoil
    LouZiffer(at)SDX
    for their ShellCommand (su/sh) class.

    Let me know what you think. I'd really like feedback.
    -D
    2
    Hey guys. Mass Storage did not make the initial 1.4.2 release. But I plan on making a MS version in a day or two. Catch me on #xoom if you need me to do anything to ensure compatibility with your app.
    2
    oops

    Hi dinomight, do you have any idea why I am unable to install this app? I tried to upgrade and it told me (in app) that I had an old version and needed to uninstall it. I did and now I can't install the new version.

    I am aware of the installation problem. I made the mistake of uploading the new build before leaving the house. As soon as I'm back home I'll upload the fix. It appears that the issue is caused by a certificate signing problem.(not sure why I know I signed it.)
    Any who the new version doesn'have and new fixes. But what it does include will definately help fix them. There is a new menu option that allows you to email me debugging information. It should send me all of the information that the app is using(what is has determined from the system. Should you have an issue use this option and I can fix the problem. I'll post again as soon as the fixed properly signed app is back up on the market ~2hrs
    Sorry for the mix up.
    -D
    1
    UPDATES

    New Version - New Features - Better implementation

    See Post #1
    1
    I found it!

    Ok i just got done working with someone who was having issues mounting ums.... i know there are a few of you out there with this problem. and i found it..... i found the cause. And i have a solution. It will still be a separate mode, and will replace sloppy mode, but i'm very confident that i found the problem and the solution. I will put up a new version tonight, but please anyone who is still having the issue, email me, gtalk me.... i need some more people to test against. I'll be gone for another hour and a half but as soon as i'm home i'll change the code..... I can tell you how to test my solution without a new version in your hands.. the more people i have that i can test with the better.
    I can't tell you how excited i am bout this. Most of my other attempts to fix this were shots in the dark (since i wasn't able to replicate) but this time i have a confirmed fixed user. BooYA!
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone