Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,813,801 Members 40,133 Now Online
XDA Developers Android and Mobile Development Forum

USB Mass Storage mode?

Tip us?
 
genman39
Old
#51  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Jun 2012
I just got the SIII the other day and so far as a stand alone device its great.
However the MTP is doing my head in as Windows 7 on any PC I have refuses to install the Samsung MTP Usb drivers and constantly has error 10.
After owning the S and SII this is a seriously messed up way to limit connections and from browsing the web i'm not alone with this problem...has anyone got a guaranteed fix for this?
I spent 2 or 3 hours trying various suggested methods and nearly chucked the phone at a wall.......removing the SD card again and again to put files on it works but the back of the phone won't last long.
Tried Dropbox etc but far too slow and time consuming.
 
d4fseeker
Old
#52  
Senior Member
Thanks Meter 434
Posts: 1,287
Join Date: Oct 2010
I've described on last page how to transfer data via Wifi without hassle.
(Even if you have no Wifi network, all you need ist a wifi card or wifi usb stich)

After some practice you get it up and running in no time.
It's fast (enough) so it's the main method I already used my old SGS. The only time I plugged it into the computer was for CM9 updates.

If the drivers wont' download and install from windows update, there is some issue with your computer configuration.
Try downloading the standalon drivers or installing Kies *eeeek*
 
pizzaman79
Old
#53  
pizzaman79's Avatar
Senior Member
Thanks Meter 13
Posts: 287
Join Date: Jul 2008
Quote:
Originally Posted by d4fseeker View Post
TEMPORARY SOLUTION

Ok, here's what I've found so far to bypass the limitations at least for computers.
(Sorry, no can-do for car audio, it would require emulation code in the low-level android functions)


Note: I also found the AltMounter, but it requires running 2 different programs on your computer (one to mount the phone as FTP server and one to mount the FTP as a real drive) so I'll skip it. But if you're interested, here you go:
http://forum.xda-developers.com/show....php?t=1626713


First get the free "Samba Filesharing" app in the Play Store. (Requires root)
It seems to have some issues with the S3 (keeps locking up when configuring it, but once it's running it works just fine)
Configure a username/password in the settings and click on 'Enable'.
(Hint: if you use the same username and password as on your computer it won't ask you for login credentials!)
If you use an external SD-card or OTG USB-Stick, go to Settings->'Other fileshare settings'->'Second shared folder' to use it.

The app will show you something like "\\192.168.0.123" which is it's SMB-address. On your computer go to 'My computer' and click on 'Map network drive' in the top menu.
Choose any drive name you want (I'd recomment not using the drives like A and B as they are legacy-drives and could cause issues)
Enter the "\\YOUR.DEVICE.IP.ADDRESS\sdcard" path from the app in the 'Folder' section and click on 'Finish'. (Note: the \sdcard is necessary as Windows can't use the topmost folder as drive letter for some reason)
(Repeat with '\\YOUR.DEVICE.IP.ADDRESS\share2' as path if you use the external SD)

Note: you can use Samba filesharing when not connected to a WLAN through either the Wifi Tether (first start tethering, then Samba) or using the Connectify app on your computer (Reverse tethering).
Good idea. For my pusposes I can use FTP in stead of Samba. For FTP you dont even need root. I used FTPServer by liebig and it worked fine.

Still hoping Samsung will release an update with mass storage mode soon though.
 
norpan111
Old
#54  
Senior Member
Thanks Meter 537
Posts: 3,293
Join Date: Mar 2010
Location: Halmstad
Quote:
Originally Posted by Minoza View Post
That does not answer my question... I mentioned typical stuff I'll be doing when transferring files and asked what's the difference compared to MS way? I'm not sure what advanced users may want to do, I only want to know what are the limitations compared to MS but in a layman's language... How it will affect my "Oh kewl I want these mp3s and movies over on my S3" routine? Occasionally I might want to transfer some ZIP/RAR file as well etc.
My 360 won't play videos from the phone when connected, or show pictures..that's the only reason for me

Sent from my GT-I9300 using xda premium
 
genman39
Old
#55  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Jun 2012
Quote:
Originally Posted by d4fseeker View Post
I've described on last page how to transfer data via Wifi without hassle.
(Even if you have no Wifi network, all you need ist a wifi card or wifi usb stich)

After some practice you get it up and running in no time.
It's fast (enough) so it's the main method I already used my old SGS. The only time I plugged it into the computer was for CM9 updates.

If the drivers wont' download and install from windows update, there is some issue with your computer configuration.
Try downloading the standalon drivers or installing Kies *eeeek*
WIFI is all well and good but I'm not prepared to ROOT a brand new phone.

As for the PC config...i doubt if now 7 PC's could all be wrong and some of them are almost brand new yet the same error comes up on all of them.
Linux PC's don't even acknowledge that the phones been connected.

So has anyone a solution that doesn't require modding the phone in any way.
 
d4fseeker
Old
#56  
Senior Member
Thanks Meter 434
Posts: 1,287
Join Date: Oct 2010
You can use an FTP server on your android phone, e.g. pizzaman79's suggested Liebig FTPServer. This does not require root to operate.

Then, on your computer, you can use a nifty little tool called Netdrive ( instructions here ) to mount the FTP-server with a drive letter.
However FTP has several restrictions regarding performance and capabilities, so it will be somewhat slower than the optimized SMB protocol.

I believe the only reason for the app requiring root is that SMB runs on the privileged port 451 which only a system administrator can manage.
Unlike FTP it does not really allow you to use a different port in the non-privileged (1000+) Port-Range.

My Ubuntu and all Windows 7 installations detected it without a hassle.
However as described you might want to try manually downloading the drivers (does it even find some on Windows update for your device when it's connected the first time?)
You should also try replacing the cable, I've had similar issues with peripheral hardware when the cable was defective.
The Following User Says Thank You to d4fseeker For This Useful Post: [ Click to Expand ]
 
genman39
Old
#57  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Jun 2012
totally gave up with USB...tried every driver going and Windows just insists that it can't start the driver.

So used ALLshare and just added the folders & files I wanted to share into its Share list......works first time via DLNA and its pretty quick....actually enjoying the lack of cables.

thanks anyway.
 
d4fseeker
Old
(Last edited by d4fseeker; 2nd July 2012 at 02:49 PM.)
#58  
Senior Member
Thanks Meter 434
Posts: 1,287
Join Date: Oct 2010
After some time of usage and experimentation, I've come to the conclusion that the filesystem takes too much damage from being mounted in 2 different locations which might cause data loss, corruption and other issues on concurrent or cached writes (especially on the filesystem index).
So I recommend unmounting the filesystem for the phone before using it externally.
This brings the commands to:

One-Time preparation
Code:
setprop persist.sys.usb.config mass_storage,adb
To revert to MTP mode
Code:
setprop persist.sys.usb.config mtp,adb
Mount SDcard (Unmounting might fail when SDcard is in use, so don't just assume it works!) [works for international i9300 only]
Code:
umount /mnt/extSdCard
echo /dev/block/vold/179:17 > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
-or for all other versions, including the US-variant-
Code:
umount /mnt/extSdCard
mount | grep /mnt/extSdCard | cut -f 1 -d " " > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
Unmount from computer (Warning: as usual 'eject' on computer first)
Code:
echo "" > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
vold

This will make it no longer possible to use the contents on the external SD card when it is mounted on the computer, the rest of the phone (including 99% of your apps) will still work.


---- HERE ARE THE GSCRIPT SCRIPTS ----
Make sure the 'Needs root' checkbox is ticked!
Start-Script:
Code:
setprop persist.sys.usb.config mass_storage,adb
umount /mnt/extSdCard
mount | grep /mnt/extSdCard | cut -f 1 -d " " > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
Stop-Script
Code:
echo "" > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
vold
setprop persist.sys.usb.config mtp,adb
To use, please install 'GScript Lite' from the market.
Open the app, press hardware Menu-button and select 'Add script'.
Name the script 'Mass Storage' and type the contents of the above 'Start-Script'.
Press Save and repeat with second Script above but name it 'MTP Mode'.
Go back to your launcher and add a Shortcut. Choose 'GScript Lite' and select the 'Mass Storage' script.
Repeat with the 'MTP Mode' script.

Connect your phone to the computer and press the 'Mass Storage' shortcut on your home screen. Enjoy =)
When finished, eject the Disk from the computer (important!), then press the 'MTP Mode'.

-----BELOW IS ONLY KEPT FOR INTEGRITY's SAKE----

Working real solution
Through some heavy googling and trial&error I've found out how to mount the external SDcard as a _REAL_ mass storage.
Warning: requires root and might cause some issues. Stock kernel works

Here's what you'll have to run on the shell:
Code:
setprop persist.sys.usb.config mass_storage,adb
echo /dev/block/vold/179:17 > /sys/devices/platform/s3c-usbgadget/gadget/lun0/file
Within a few seconds the external(!) SD-card should now pop up on your computer as a mass-storage device. I've found no issues so far and doesn't require the SD-card to be unmounted in the phone since it's a LUN target.
As usual this is not reboot-persistant so if you need it a lot use GScript lite to automate it.
The Following 19 Users Say Thank You to d4fseeker For This Useful Post: [ Click to Expand ]
 
jakir01
Old
#59  
jakir01's Avatar
Member
Thanks Meter 2
Posts: 68
Join Date: Mar 2012
Quote:
Originally Posted by d4fseeker View Post
TEMPORARY SOLUTION

Ok, here's what I've found so far to bypass the limitations at least for computers.
(Sorry, no can-do for car audio, it would require emulation code in the low-level android functions)


Note: I also found the AltMounter, but it requires running 2 different programs on your computer (one to mount the phone as FTP server and one to mount the FTP as a real drive) so I'll skip it. But if you're interested, here you go:
http://forum.xda-developers.com/show....php?t=1626713


First get the free "Samba Filesharing" app in the Play Store. (Requires root)
It seems to have some issues with the S3 (keeps locking up when configuring it, but once it's running it works just fine)
Configure a username/password in the settings and click on 'Enable'.
(Hint: if you use the same username and password as on your computer it won't ask you for login credentials!)
If you use an external SD-card or OTG USB-Stick, go to Settings->'Other fileshare settings'->'Second shared folder' to use it.

The app will show you something like "\\192.168.0.123" which is it's SMB-address. On your computer go to 'My computer' and click on 'Map network drive' in the top menu.
Choose any drive name you want (I'd recomment not using the drives like A and B as they are legacy-drives and could cause issues)
Enter the "\\YOUR.DEVICE.IP.ADDRESS\sdcard" path from the app in the 'Folder' section and click on 'Finish'. (Note: the \sdcard is necessary as Windows can't use the topmost folder as drive letter for some reason)
(Repeat with '\\YOUR.DEVICE.IP.ADDRESS\share2' as path if you use the external SD)

Note: you can use Samba filesharing when not connected to a WLAN through either the Wifi Tether (first start tethering, then Samba) or using the Connectify app on your computer (Reverse tethering).


Thanks a lot. this actually good & nice solution.
 
genman39
Old
#60  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Jun 2012
something i noticed on the phone was the firmware etc

Android Version
4.0.4

Baseband
I9300NELE4

Kernel Version
3.0.15-554452-user
se.infra@SEP-74#1
SMP PREEMPT ..date etc

Build number
IMM76D.I9300XXALE8

no idea what most of that means but it looked odd the 'PREEMPT' is worded at all.....anyone understand this or know what it all means.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes