MTP by Dev's having huge Internal memory to Mass Storage

Search This thread

arvindgr

Senior Member
Nov 8, 2013
964
350
IND
OnePlus 7T
Google Pixel 4a
Hi XDA World,

This is the 1st post and with such Non-expertise in ROMs/Tweaks yet with keen-to-learn thinking, I ask all Seniors a question that might be challenging! (I thought its impossible to my knowledge and not to android swimmers)

Now-a-days most modern Phones see world only with Internal Storage and does not have SD Slot. Users of such devices are popular to MTP/PTP Connection methods used to share Phones data with PC. And everyone knows How is sucks at times!. All phones even with SD Slot have this MTP yet It's difficult to use and hence It's rarely been used.

Till I have learned Android uses the whole internal memory to Partition to /data /system /boot etc, Among which /sdcard is faked to External memory for Apps to save data in Internal memory. My question is since /sdcard exists as a Partition would it be possible to mount the partiion in Mass Storage mode when connecting to PC?

Advantages are huge like Data recovery can be made possible, One could connect their phones to Car stereos that have USB Data-in, One could use Teracopy, etc softwares to transfer data at significantly high speed, Connecting these Phones to Mac won't be a Problem, etc

In Huge Internal memory phones with SD Slot, SD is mounted as /sdcard0 and so. During such mount /sdcard data however is unuseable. As har as I think, there should be no problem in mounting Internal memory's /sdcard as Mass Storage. Is it really possible? Awaiting for dev's to unlesh the knowledge!!!
 
Last edited:

es0tericcha0s

Senior Member
May 6, 2010
4,417
878
mobilemojo5280.com
Hi XDA World,

This is the 1st post and with such Non-expertise in ROMs/Tweaks yet with keen-to-learn thinking, I ask all Seniors a question that might be challenging! (I thought its impossible to my knowledge and not to android swimmers)

Now-a-days most modern Phones see world only with Internal Storage and does not have SD Slot. Users of such devices are popular to MTP/PTP Connection methods used to share Phones data with PC. And everyone knows How is sucks at times!. All phones even with SD Slot have this MTP yet It's difficult to use and hence It's rarely been used.

Till I have learned Android uses the whole internal memory to Partition to /data /system /boot etc, Among which /sdcard is faked to External memory for Apps to save data in Internal memory. My question is since /sdcard exists as a Partition would it be possible to mount the partiion in Mass Storage mode when connecting to PC?

Advantages are huge like Data recovery can be made possible, One could connect their phones to Car stereos that have USB Data-in, One could use Teracopy, etc softwares to transfer data at significantly high speed, Connecting these Phones to Mac won't be a Problem, etc

In Huge Internal memory phones with SD Slot, SD is mounted as /sdcard0 and so. During such mount /sdcard data however is unuseable. As har as I think, there should be no problem in mounting Internal memory's /sdcard as Mass Storage. Is it really possible? Awaiting for dev's to unlesh the knowledge!!!

You might give this app a shot:

https://play.google.com/store/apps/details?id=os.devwom.usbsharer

But you will have to be rooted, and there is no other way around that part.

I found this well worded explanation as to why android does not natively support USB Mass Storage any more:

"Here are couple of reasons.

Earlier Android used to have /data partition for app data and /sdcard for movies, music and rest. Say you are an app freak and have installed lots of apps, what happens in /data fills up but still you can't use space from your /sdcard as it's a separate partition. Now what Google has done is used unified file system. So that you can share space between /sdcard and /data. USB mounts storage on host and gives entire block level access to the host. If this is done the partition is unmounted from your phone. It was fine when /sdcard was separate now since both /data and /sdcard reside on same partition Android can't afford to allow full block access to another host. This is solved with MTP.

Another reason, Microsoft holds patents for long file name support on FAT filesystem. That's one patent for which they demand royalties from OEM's. If you use USB mount, you need to format your /sdcard as FAT because most users use windows. If you use FAT, you need to pay MS or risk a lawsuit. With MTP, Google can use ext3/4 btrfs whatever they please and there is no risk of lawsuit.

Finally, formatting filesystem with ext3/4 instead of FAT gives lots of read/write improvements since Android uses linux kernel."
 
  • Like
Reactions: arvindgr

arvindgr

Senior Member
Nov 8, 2013
964
350
IND
OnePlus 7T
Google Pixel 4a
You might give this app a shot:

https://play.google.com/store/apps/details?id=os.devwom.usbsharer

But you will have to be rooted, and there is no other way around that part.

I found this well worded explanation as to why android does not natively support USB Mass Storage any more:

"Here are couple of reasons.

Earlier Android used to have /data partition for app data and /sdcard for movies, music and rest. Say you are an app freak and have installed lots of apps, what happens in /data fills up but still you can't use space from your /sdcard as it's a separate partition. Now what Google has done is used unified file system. So that you can share space between /sdcard and /data. USB mounts storage on host and gives entire block level access to the host. If this is done the partition is unmounted from your phone. It was fine when /sdcard was separate now since both /data and /sdcard reside on same partition Android can't afford to allow full block access to another host. This is solved with MTP.

Another reason, Microsoft holds patents for long file name support on FAT filesystem. That's one patent for which they demand royalties from OEM's. If you use USB mount, you need to format your /sdcard as FAT because most users use windows. If you use FAT, you need to pay MS or risk a lawsuit. With MTP, Google can use ext3/4 btrfs whatever they please and there is no risk of lawsuit.

Finally, formatting filesystem with ext3/4 instead of FAT gives lots of read/write improvements since Android uses linux kernel."

Thank you for your given Output. I had some basic knowledge on android partitioning and has I though it was impossible.

I'm obviously rooted and hence good to know about Usb Sharer [Root]

But from your data, I got a new workaround. Lets say I create a partition /usbms of predefined size (some 4GB) from free space of Internal memory, can I mount this Partition as Mass Storage when I connect to PC? In this way one could eliminate FAT problem (NTFS/FAT32 on USB-OTG are easily readable) and android could provide entire block level access to the host. Is this practical or??
 

es0tericcha0s

Senior Member
May 6, 2010
4,417
878
mobilemojo5280.com
Thank you for your given Output. I had some basic knowledge on android partitioning and has I though it was impossible.

I'm obviously rooted and hence good to know about Usb Sharer [Root]

But from your data, I got a new workaround. Lets say I create a partition /usbms of predefined size (some 4GB) from free space of Internal memory, can I mount this Partition as Mass Storage when I connect to PC? In this way one could eliminate FAT problem (NTFS/FAT32 on USB-OTG are easily readable) and android could provide entire block level access to the host. Is this practical or??

No, it's not possible to make that kind of partition from internal. The mounting for the external as USB will only work if it's a real separate drive.
 
  • Like
Reactions: arvindgr

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hi XDA World,

    This is the 1st post and with such Non-expertise in ROMs/Tweaks yet with keen-to-learn thinking, I ask all Seniors a question that might be challenging! (I thought its impossible to my knowledge and not to android swimmers)

    Now-a-days most modern Phones see world only with Internal Storage and does not have SD Slot. Users of such devices are popular to MTP/PTP Connection methods used to share Phones data with PC. And everyone knows How is sucks at times!. All phones even with SD Slot have this MTP yet It's difficult to use and hence It's rarely been used.

    Till I have learned Android uses the whole internal memory to Partition to /data /system /boot etc, Among which /sdcard is faked to External memory for Apps to save data in Internal memory. My question is since /sdcard exists as a Partition would it be possible to mount the partiion in Mass Storage mode when connecting to PC?

    Advantages are huge like Data recovery can be made possible, One could connect their phones to Car stereos that have USB Data-in, One could use Teracopy, etc softwares to transfer data at significantly high speed, Connecting these Phones to Mac won't be a Problem, etc

    In Huge Internal memory phones with SD Slot, SD is mounted as /sdcard0 and so. During such mount /sdcard data however is unuseable. As har as I think, there should be no problem in mounting Internal memory's /sdcard as Mass Storage. Is it really possible? Awaiting for dev's to unlesh the knowledge!!!

    You might give this app a shot:

    https://play.google.com/store/apps/details?id=os.devwom.usbsharer

    But you will have to be rooted, and there is no other way around that part.

    I found this well worded explanation as to why android does not natively support USB Mass Storage any more:

    "Here are couple of reasons.

    Earlier Android used to have /data partition for app data and /sdcard for movies, music and rest. Say you are an app freak and have installed lots of apps, what happens in /data fills up but still you can't use space from your /sdcard as it's a separate partition. Now what Google has done is used unified file system. So that you can share space between /sdcard and /data. USB mounts storage on host and gives entire block level access to the host. If this is done the partition is unmounted from your phone. It was fine when /sdcard was separate now since both /data and /sdcard reside on same partition Android can't afford to allow full block access to another host. This is solved with MTP.

    Another reason, Microsoft holds patents for long file name support on FAT filesystem. That's one patent for which they demand royalties from OEM's. If you use USB mount, you need to format your /sdcard as FAT because most users use windows. If you use FAT, you need to pay MS or risk a lawsuit. With MTP, Google can use ext3/4 btrfs whatever they please and there is no risk of lawsuit.

    Finally, formatting filesystem with ext3/4 instead of FAT gives lots of read/write improvements since Android uses linux kernel."
    1
    Thank you for your given Output. I had some basic knowledge on android partitioning and has I though it was impossible.

    I'm obviously rooted and hence good to know about Usb Sharer [Root]

    But from your data, I got a new workaround. Lets say I create a partition /usbms of predefined size (some 4GB) from free space of Internal memory, can I mount this Partition as Mass Storage when I connect to PC? In this way one could eliminate FAT problem (NTFS/FAT32 on USB-OTG are easily readable) and android could provide entire block level access to the host. Is this practical or??

    No, it's not possible to make that kind of partition from internal. The mounting for the external as USB will only work if it's a real separate drive.