[APP/Hack] USB Mass Storage for Ice Cream Sandwich [v.1.1.4 - 17.12.2011] - Android Apps and Games

Hey all!
A few days ago i wrote an app for my Nexus One to use USB Mass Storage with ICS and shared it in the N1's App section. But as got a lot of feedback from users with other devices that it's working for them as well and obviously that good that meanwhile it is even pre installed in some ICS Ports (for some devices) - i thought i share the post via the general section.
What is it about?
The ICS Ports doesn't support UMS yet, because a proper implementation relies on a proper kernel mod that doesn't exist yet.
My app starts as a background service after booting up the device.
It automatically detects when the device is being connected via USB to a computer and prompts a notification to the notification bar. By tapping on the notification you will open a GUI to enable/disable USB Mass Storage; just/almost like the original UMS feature.
Click to expand...
Click to collapse
More info, app source and download via original thread: http://forum.xda-developers.com/showthread.php?t=1389375
Enjoy USB Mass storage for your Ice Cream Sandwich!
Cheers

I don't suppose you know anything about usb mass storage on the actual galaxy nexus right? cos MTP sucks and a usb mass storage hack on the SGN would make a lot of people happy..

I suppose to do that, you'd have to partition the internal memory first.
Sent from my Galaxy Nexus using xda premium

Related

USB Mass Storage vs MTP

Any thoughts about the advantages/disadvantages of MTP over mass storage? Some custom ICS ROMs only allow the default MTP, and it is likely the stock ICS will do the same.
For me, here are the advantages of each one:
MTP:
1. Can copy files over (like APKs) and then access on them on the device without mounting/unmounting
2. File transfer is available immediately when plugged in without having to mount
Mass storage:
1. Better security since you have to get past the lock screen to mount
2. Is actually a real drive in Windows, so you can do all operations normally
On second look, the internal storage does not show up in Windows until the phone is unlocked. So scratch out advantage #2 for mass storage.
When google finalizes config for ics in nexus s, your /sdcard partition will mount as USB mass storage just like it always has.
Sent from my Galaxy Nexus using XDA App
Noticed it is much slower than mass storage.
Sent from my Nexus S 4G using Tapatalk
galaxy nexus doesn't have UMS so it's easy to understand that ICS source now don't support UMS, still we will have UMS for nexus s in near future
Possible to repartition Nexus S like Galaxy Nexus?
For future reference, here's Google's statement on the matter, courtesy of Dan Morrill:
http://www.engadget.com/2011/11/21/ice-cream-sandwich-supports-usb-mass-storage-after-all-galaxy-n/
---------- Post added at 12:48 PM ---------- Previous post was at 12:45 PM ----------
oakamil said:
Any thoughts about the advantages/disadvantages of MTP over mass storage? Some custom ICS ROMs only allow the default MTP, and it is likely the stock ICS will do the same.
Click to expand...
Click to collapse
After considering the trade-offs, I think it's clear to me that I would prefer a partition structure like the Galaxy Nexus, as I can easily deal with MTP-only PC access in exchange for more space on the data partition.
Thus, I wonder has anyone found a way to repartition their Galaxy S to be like a Galaxy Nexus, such that all 16GB of internal memory is data storage and there exists no separate USB storage partition?
Once the repartitioning has been performed, what other modifications might be necessary (to the recovery, ROM, etc)?
Thanks!
SIDE QUESTION: Where can I find the MTP drivers for my Nexus S? I run Windows 7 and I have ICS on my Nexus S.
Nothing changes for Nexus S, UMS stays as it is.
ICS supports both.
Galaxy Nexus (and newer devices) will have MTP only.
madd0g said:
Nothing changes for Nexus S, UMS stays as it is.
ICS supports both.
Galaxy Nexus (and newer devices) will have MTP only.
Click to expand...
Click to collapse
Humm.... But Windows does not recognize the USB storage. I don't see the "mount/unmount" option in Storage params. menu in ICS... Am I doing something wrong!?!?!
SalsaForte said:
Humm.... But Windows does not recognize the USB storage. I don't see the "mount/unmount" option in Storage params. menu in ICS... Am I doing something wrong!?!?!
Click to expand...
Click to collapse
Since we are using the sources from Galaxy Nexus, UMS support is limited to a few ROMs with some hacks (like kwiboo's, it has UMS). When we get an official release, things will become simpler.
-1
formula84 said:
Noticed it is much slower than mass storage.
Sent from my Nexus S 4G using Tapatalk
Click to expand...
Click to collapse
that is what i hate the most about MTP
MTP tunnels also has limited format support, the driver determines which file formats are allowed and which are not
usually they block all DRM signed contents
you do not get an error message, the transfer bar will just get stuck at the same percentage forever ...
... well you do get an error message after like an hour waiting for it to finish, and you get the time out message
Hey guys , i know some people say that MTP is faster than usb storage. But on my own experiance things take about 3 to 4 times more time to copy over.
If someone can point me to which drivers they use to see if i can probably install them cause i find it really slow and my device Gets recognized fine.
I know people complained about MTP a lot, but I really miss having it now that I'm not using beezy's SDK port. it was really nice that it auto-mounts, and allows you to access the storage from your pc and your phone simultaneously, and it transferred about 5x faster for me than MSD does....the only complaint I had is my ps3 couldn't read it because it wasn't a true storage drive. Honestly, though, for me, the benefits FAR outweighed the drawbacks.
I agree with the guy above. It was ultra convenient. Now I use airDroid for all of the above...
Sent from my Nexus S 4G
david279 said:
I agree with the guy above. It was ultra convenient. Now I use airDroid for all of the above...
Sent from my Nexus S 4G
Click to expand...
Click to collapse
I'll check that one out, thanks!! I've been looking for an alternative until someone builds a rom with MTP again
I'm also missing MTP on my Nexus S. Any hacks or ROMs known how to get it back?
I prefer UMS over MTP
Since I theoretically have a total of 48 GB of storage on my phone, I'd benefit from the speed of UMS. I regularly transfer 1080p movies and stuff to and from my Galaxy SII. Also, I could organise files very easily and quickly.
However, after upgrading from Gingerbread 2.3.4 to Ice Cream Sandwich 4.0.3, the UMS function has disappeared forever. I could go back to GB, but I don't want to do that.
i hate mtp... can't transfer large files :-(
oakamil said:
Any thoughts about the advantages/disadvantages of MTP over mass storage? Some custom ICS ROMs only allow the default MTP, and it is likely the stock ICS will do the same.
For me, here are the advantages of each one:
MTP:
1. Can copy files over (like APKs) and then access on them on the device without mounting/unmounting
2. File transfer is available immediately when plugged in without having to mount
Mass storage:
1. Better security since you have to get past the lock screen to mount
2. Is actually a real drive in Windows, so you can do all operations normally
Click to expand...
Click to collapse
ICS allows Mass Storage Mode when possible at block level. And for both MTP and UMC you have to unlock the screen first to view it on the computer.
DA6030 said:
Thus, I wonder has anyone found a way to repartition their Galaxy S to be like a Galaxy Nexus, such that all 16GB of internal memory is data storage and there exists no separate USB storage partition?
Once the repartitioning has been performed, what other modifications might be necessary (to the recovery, ROM, etc)?
Thanks!
Click to expand...
Click to collapse
Not sure but, I don't think that would be possible, because depends too much on hardware level. Just take a look at GT-I9100 Pit analysis.
vantt1 said:
Since I theoretically have a total of 48 GB of storage on my phone, I'd benefit from the speed of UMS. I regularly transfer 1080p movies and stuff to and from my Galaxy SII. Also, I could organise files very easily and quickly.
Click to expand...
Click to collapse
If the android device had UMS, surely you couldn't copy there some of your 1080p movies, because the sdcard will be formatted in FAT32 instead of EXT4, so no bigger files than 4 GB.
MTP uses the native filesystem on which the partition was formatted, so in this particular case of large files it's an advantage for you.
Anyway, if both the data and sdcard are physically the same partition, you won't ever be able to achieve USM because you just can't mount only a part of a partition at block level device, if you know what I mean. You could do it only, if possible, at recovery mode where the top level partition (root, /) is not mounted.
Read more here:
[GUIDE] MTP and PTP (Media Transfer Protocol) vs UMC (Mass Storage Class)
I'm having huge problems on a Sony device since updating to ICS. One of my paid apps is for syncing specific content and the devs said it's related to the MTP standard in ICS+, that UMS is much better for the task.
I bought my phone to replace my iPod, it's fairly well-featured for the job. But unless I fix this MTP problem, I may go back to Gingerbread.

Mounting as Mass Storage

I am unable to connect my TF700 as mass storage on Ubuntu 12.04. I tried with USB debugging enabled and disabled. PTP works but is extremely restrictive. There's an adress about the filetransfer page on android's web page, but it just provides Mac dmgs.
I wasn't expecting that since my Galaxy Note running ICS mounts as mass storage without hassle. There's even a "USB utilities" under Settings.
The apps claiming to mount Android devices seem to require root. I am using gMTP as a workaround for now. But I'd much rather have mass storage. Any tips?
sapienssapiens said:
The apps claiming to mount Android devices seem to require root. I am using gMTP as a workaround for now. But I'd much rather have mass storage. Any tips?
Click to expand...
Click to collapse
ICS removed support for mass storage (e.g. see http://forum.xda-developers.com/showthread.php?t=1351097), it is usually available for samsung devices because they hack it into their touchwiz UI.
i also hate MTP because it is slow as hell, mtpfs or gMTP don't work properly for me, it takes about 20-30 seconds until the device is found (same for my galaxy nexus, tried many different libmtp versions..) and then it also takes ages to go into a folder or copy files. if i want to copy pictures to the PC i boot my virtualbox windows....
enough ranting i just found "jmtpfs" this week (which still relies on libmtp) which works a little bit better than mtpfs or gMTP, see: http://research.jacquette.com/jmtpfs-exchanging-files-between-android-devices-and-linux/
I used the app "stick mount" on my samsung galaxy note with aosp ics. But I think the device has to be rooted.
Sent from my GT-N7000 using xda app-developers app
masiegel said:
I used the app "stick mount" on my samsung galaxy note with aosp ics. But I think the device has to be rooted.
Sent from my GT-N7000 using xda app-developers app
Click to expand...
Click to collapse
That's an app for mounting USB sticks n your device -- the Tf700 supports that natively, so you would not need an app like that. The OP's question is if the memory of the TF700 itself can be mounted as a native USB Mass Storage Device, if I understand correctly. The only correct answer to that is already in post #2: no, it cannot (natively), because MSD were dunked in ICS (to my dismay; thanks a bunch, Google, it stopped my SGS2 from working as a USB pen drive at work). A custom ROM could fix this, as several did for my phone (SGS2).
MartyHulskemper said:
That's an app for mounting USB sticks n your device -- the Tf700 supports that natively, so you would not need an app like that. The OP's question is if the memory of the TF700 itself can be mounted as a native USB Mass Storage Device, if I understand correctly. The only correct answer to that is already in post #2: no, it cannot (natively), because MSD were dunked in ICS (to my dismay; thanks a bunch, Google, it stopped my SGS2 from working as a USB pen drive at work). A custom ROM could fix this, as several did for my phone (SGS2).
Click to expand...
Click to collapse
CyanogenMod adds this feature back doesn't it? I know on my phone, CM9 has it available (and strangely, no MTP support). I know my stock ICS Blur lets me use MTP or mass storage.
But I wonder if there's an app that will let me mount as a mass storage? Or do we have to wait for some devs to do it in a ROM? I will install the custom ROM just for that, because MTP is just PAINFUL.
MartyHulskemper said:
The only correct answer to that is already in post #2: no, it cannot (natively), because MSD were dunked in ICS (to my dismay; thanks a bunch, Google
Click to expand...
Click to collapse
Did they provide any reason for ditching MSD? Are they too lazy to bother with partitioning issues? It's a grotesquely **** move by Google...
Depends on the device. For example, my phone supports it through cm but my Touchpad did not.
They probably switched to it so apps with SD card files in use wouldnt abruptly lose file access and panic
Sent from my MB860 using xda app-developers app
KilerG said:
CyanogenMod adds this feature back doesn't it? I know on my phone, CM9 has it available (and strangely, no MTP support). I know my stock ICS Blur lets me use MTP or mass storage.
But I wonder if there's an app that will let me mount as a mass storage? Or do we have to wait for some devs to do it in a ROM? I will install the custom ROM just for that, because MTP is just PAINFUL.
Click to expand...
Click to collapse
Indeed it's a CM-specific feature, although some other ROMs have built-in tricks that they ripped off of CM. I hate MTP as well, because it won't go where I work (hospital, no admin access, no installs allowed).
EDIT: might this do the trick: https://play.google.com/store/apps/details?id=at.abraxas.mountusb.donate ?? I don't know, but give it quick whirl and see. <?>
sapienssapiens said:
Did they provide any reason for ditching MSD? Are they too lazy to bother with partitioning issues? It's a grotesquely **** move by Google...
Click to expand...
Click to collapse
Well, the jump to MTP was primarily because of the past: small on-board memories. Earlier versions of Android kept reserved space for system partitions, data partitions and so on to prevent the system running out of RAM because of the amount of installed apps and the volume of their data storage. Nowadays, memory is so large that that precaution is no longer needed, as any recent phone should have ample memory. And, indeed, you are right: the secondary advantage of MTP is the filesystem being accessible to the system itself while also being 'seen' by the host (Windows, for example), thus preventing running apps from being 'orphaned' from their data storages.

[Q] I hate MTP

I hate MTP and I want UMS back. Is there anyway to do this?
God I really hate it so much
Nope, its implemented in the kernel. Under android MSC is called UMS (USB Mass Storage). It is implemented up to android 2.3.5 (Gingerbread) but not thereafter.
One major change introduced by Google in Ice Cream Sandwich was the use of MTP to transfer files and a unified memory storage structure In the pre-ICS era, Android phones had their internal memory divided into two partitions. One for installing apps, and the other one for all your storage needs.
With ICS and Galaxy Nexus, the whole internal memory was unified. There were no more partitions, which meant that the whole 16GB (13.3GB actually) could be used for installing apps or for storage purposes. While all this sounds good on paper, the use of MTP to transfer files has created a big nuisance for all Android users.
Read more at http://techie-buzz.com/android/sgs3...ode-to-the-galaxy-s3.html#lhUs1f4vBApWLqiQ.99

[Q] USB Mass Storage not working?

Hi, when I had my SGS3 I was able to plug it into my TV via USB and explore the phones files (helpful to play movies ect without having to transfer it to laptop via USB then to a portable USB pen drive).
However when I plug my Nexus in, it doesn't see it at all so can't go through the files with the file browser.
I noticed when I open 'my computer' this appears - (see screenshot)
My old SGS3 just came up directly with internal storage rather than showing the phone model first, is this related to the issue?
Cheers!
declan8888 said:
Hi, when I had my SGS3 I was able to plug it into my TV via USB and explore the phones files (helpful to play movies ect without having to transfer it to laptop via USB then to a portable USB pen drive).
However when I plug my Nexus in, it doesn't see it at all so can't go through the files with the file browser.
I noticed when I open 'my computer' this appears - (see screenshot)
My old SGS3 just came up directly with internal storage rather than showing the phone model first, is this related to the issue?
Cheers!
Click to expand...
Click to collapse
the Nexus 5 does not mount USB storage by default.
You must either:
1) Buy Nexus 5 media importer (non-root)
2) Use USB OTG Helper or Stickmount from play (Free but requires root)
3) Use a custom kernel (such as Chaos) to enable Automount of OTG
Excellent answer, thanks
Sent from my Nexus 5 using xda app-developers app
No probs.
This was one of the annoying things I've found with the Nexus 5. Not sure if the rest of the Nexus line is the same but I can't see why the Nexus 5 doesn't have full USB OTG support like a lot of other phones out there. My S3 and Toshiba Excite 10 but support full OTG but why not the flagship Google device?
That said, my Toshiba supports micro HDMI whereas both the S3 and Nexus use MHL and Slimport respectively. I know this is probably due to space constraints to fit two ports on a phone but its still annoying that you need yet another cable to hook up your phone to a TV without any lag like miracast.
Sent from my Nexus 5 using xda app-developers app
Indeed it's annoying..
I actually tried the first two options of rootSU's answer however it didn't mount (which is strange as I am on stock ROM)
I will try the kernel tomorrow
Damnit double post!
declan8888 said:
Indeed it's annoying..
I actually tried the first two options of rootSU's answer however it didn't mount (which is strange as I am on stock ROM)
I will try the kernel tomorrow
Click to expand...
Click to collapse
1) what is the usb stick formatted to? Anything other than fat32 will fail
2) whats the error? With stickmount, it just mounts it to a folder on /sdcard. Nothing happens visually
Kernel is best option though
-----------------------
Sent via tapatalk.
I do NOT reply to support queries over PM. Please keep support queries to the Q&A section, so that others may benefit
I think you are missing what the op is wanting to do.
What you are describing is allowing the phone to access an external device.
The op wants his external device (TV) to access his phones storage.
Unfortunately this is not possible unless your TV supports the mtp protocol which it looks like it doesn't.
Starting in android 4.0 Google moved away from a physical fat32 sdcard partition and went with a scalable fused ext4 sdcard Mount.
This required a new interface because the new style cannot be mounted as a USB mass storage device.
Thus came mtp. (Media transfer protocol)
Using the fused system is much more beneficial in android (I won't go into the reasons now) but it means you cannot use the device with anything that doesn't support mtp access
Sent from my Nexus 4 using xda app-developers app
Alex240188 said:
I think you are missing what the op is wanting to do.
What you are describing is allowing the phone to access an external device.
The op wants his external device (TV) to access his phones storage.
Unfortunately this is not possible unless your TV supports the mtp protocol which it looks like it doesn't.
Starting in android 4.0 Google moved away from a physical fat32 sdcard partition and went with a scalable fused ext4 sdcard Mount.
This required a new interface because the new style cannot be mounted as a USB mass storage device.
Thus came mtp. (Media transfer protocol)
Using the fused system is much more beneficial in android (I won't go into the reasons now) but it means you cannot use the device with anything that doesn't support mtp access
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
Oh yes I am missing that.
FYI, sgs3 is an mtp only device
-----------------------
Sent via tapatalk.
I do NOT reply to support queries over PM. Please keep support queries to the Q&A section, so that others may benefit
Yes you get it. Didn't the s3 ship with jelly bean though?
Sent from my Nexus 5 using xda app-developers app
declan8888 said:
Yes you get it. Didn't the s3 ship with jelly bean though?
Sent from my Nexus 5 using xda app-developers app
Click to expand...
Click to collapse
No. It shipped with ICS 4.0.x but it always had FUSE and MTP. S2 is a different story though.
S3 could mount external sd as mass storage if rooted but not internal (more info here http://forum.xda-developers.com/showthread.php?t=2448070 )
-----------------------
Sent via tapatalk.
I do NOT reply to support queries over PM. Please keep support queries to the Q&A section, so that others may benefit
question about usb mass storage
Not really a computer guy myself but i take it that a lot of people have said the same thing: the n5 and n4 both did not allow the phones to be used as mass storage devices. This was very annoying to me as I just bought my n5 and wanted to transfer my music onto the phone. I don't see the point in this change nor do I see it as a 'step forward'.
What is interesting is that my friend in Canada who also owns a nexus 5 has no problems using her n5 as a mass storage device. I did not believe her so she sent me a screenshot of her storage options which indeed allows her to use the phone as a mass storage device. Is her n5 manufactured completely differently from mine??
gulrezm said:
Not really a computer guy myself but i take it that a lot of people have said the same thing: the n5 and n4 both did not allow the phones to be used as mass storage devices. This was very annoying to me as I just bought my n5 and wanted to transfer my music onto the phone. I don't see the point in this change nor do I see it as a 'step forward'.
What is interesting is that my friend in Canada who also owns a nexus 5 has no problems using her n5 as a mass storage device. I did not believe her so she sent me a screenshot of her storage options which indeed allows her to use the phone as a mass storage device. Is her n5 manufactured completely differently from mine??
Click to expand...
Click to collapse
you just need to enable MTP on the notification bar and will be able to transfer files like music.
make sure that Nexus 5 shows under "Computer" directory. If it doesn't, need to reinstall the driver
gulrezm said:
I did not believe her so she sent me a screenshot of her storage options which indeed allows her to use the phone as a mass storage device.
Click to expand...
Click to collapse
That menu allows you to switch between Media MTP & Camera PTP and not Mass storage.
In MTP you should see the N5 as a media device and drag and drop to it in explorer.
As already mentioned, that's not USB mass storage. I think your friend perhaps doesn't know what mass storage is but here is a thread I wrote explaining it all
http://forum.xda-developers.com/showthread.php?t=2534010
Sent from my Nexus 5 using Tapatalk

[Q] How to enable USB Mass Storage ?

How to enable USB Mass Storage mode on Samsung Galaxy S6?
Developer option in "ON",and windows explorer see my phone......but u.sual i work with Total Commander.
Android 5.0.2,without root...and in phone i have only 2 options:MTP and PTP.
removed
Anyone got an idea ? I also need USB Mass Storage!
fredezzz said:
Anyone got an idea ? I also need USB Mass Storage!
Click to expand...
Click to collapse
So you can't see it in Total Commander? Strange. I am using Total Commander (8.51) with MTP mode and it works normally.
Have same issue. I need to recover some picture that where deleted, but since it is not recognized as Mass storage there are no software that can see it.
volja1971 said:
Have same issue. I need to recover some picture that where deleted, but since it is not recognized as Mass storage there are no software that can see it.
Click to expand...
Click to collapse
you can use dr.fone app on pc to recover deleted data on android phone..
I wish I could, but unfortunately it will not recognize Samsung Galaxy S6 I did try that. It was good that I did not buy it yet, just tried a Trial version.
I am afraid there is no Mass Storage any more since 4.??
I found something on internet, a WebDAV plugin for Total Commander and WebDAV server app on Play Store.
So I can use the (unrooted) S6 over WiFi a bit slower than over USB but almost just like an drive with a real drive letter.
bestdav.com_-mount_drv.htm
android.stackexchange.com_-questions_-22979_-drive-letter-for-mtp-connection-under-windows
(must replace every _- with / as I am not allowed to post links as a newbie.
I run this also on Motorola Moto G and Sony Xperia Z.
I am also using SambaDroid on S6 with mapping to real drive letter on Windows.
I was hoping there comes some CM with mass storage? But I did not found any information about this.

Categories

Resources