The following methods are tested on Windows 7; Ubuntu based Distribution and Slackware with desktop environment KDE 4.1x. Nothing can be said about Mac. The answer is intended to serve as a consolidated guide for the various methods out there.
Few following methods requires USB Tethering to be enabled. This can be achieved by instructions mentioned below:
Some of this information applies only to devices running Android 5.0 and higher. If your device is running 4.4 or lower, the Menu icon looks like this . If your device is running 4.3 or lower, the Settings icon looks like this .
Set up and use USB tethering connection (including instructions for Windows XP)
1. Connect your device to another device using a USB cable.
2. You'll see a USB icon and a notification Connected as a media device or Connected as a camera at the top of the screen. For the purposes of tethering, the type of connection doesn't matter.
3. Open your device's Settings menu .
4. Under "Wireless & networks," touch More > Tethering & portable hotspot.
5 Check the box or turn on the switch next to "USB tethering." When the connection is made, you’ll see one of the following notifications and you can connect to the Internet (your icons may look slightly different if your device is running Andriod 4.4 or lower):
Portable Wi-Fi hotspot active
USB tethering connection active
Multiple tethering or hotspot connections active
To stop sharing your data connection, uncheck the box or turn off the switch next to "USB tethering" in the Settings menu or simply disconnect the USB cable.
USB tethering with Windows XP
If you're using a computer running Windows XP, you need to install a configuration file before tethering your device to your computer.
1. Follow the steps above to turn on USB tethering for your device.
2. Download the following configuration file (tetherxp.inf) to your Windows XP computer. Typically, you can right click on the link and choose "Save As". (If your browser adds “.html” to the file name, you’ll need to edit the name to remove the .html extension and replace it with “.inf” instead.)
3. Connect your mobile device to your computer using a USB cable.
4. When Windows XP's New Hardware Wizard opens, select No, not at this time, then click Next.
5. Select Install from a list or specific location, then click Next.
6. Click Browse to browse to the directory where you installed the configuration file you downloaded in step 2, then click Next.
7. When Windows XP finishes installing the software for Android USB Ethernet/RNDIS, click Finish.
(Source)
Method #1
This method uses USB Tethering and an app to access the phone storage.
Procedure:
- Install MTP-Alternative USB Drive from Play Store.
- Open MTP-Alternative app, select CONNECT AND ENABLE USB TETHERING and choose Enable USB Tethering.
- Come back to app by tapping Back key one time or opening the app from its icon in your launcher.
- Instructions for Windows and Ubuntu will now be displayed in the app. Choose your OS: Windows or Ubuntu and follow the guide there.
Alternatively, you can follow the instructions mentioned below to save the network connection either in Windows or Ubuntu (Linux).
For Windows:
- Make sure you have administrative privileges. Download and install this Microsoft Update.
- The WebClient service needs to be enabled for accessing network folder. To ascertain the service status, press + R to open a Run dialog box. Type
services.msc
and click OK. Services window will open with a list of services.
Scroll down to see WebClient and check the corresponding Startup Type. If its not Disabled then close the window. If it is then do
Right-Click -> Properties -> General -> Startup Type -> Automatic -> Apply -> OK
. You can also choose Manual over Automatic to save System from start-up overtax.
Now press + R, type regedit
and click OK`, choose Yes and Registry Editor window will open.
On the Toolbar click Edit -> Find
. In the dialog box, corresponding to Find What field, type WebClient
. Uncheck Values and Data or otherwise, check only Keys below Look at. Click Find Next. It will search and should show an entry already selected. Make sure (at the bottom panel) the location of selected entry is
Computer/HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\WebClient
.
On the WebClient entry, click the right direction arrow to access the content inside it.
- Click Parameters. On the right hand side, click
BasicAuthLevel -> Modify
. In Value data field, change the value to 2
and click OK.
- If there was no BasicAuthLevel entry then create it by doing Right-click in empty white space, choose
DWORD (32-bit) Value
and name it to BasicAuthLevel
. Follow step 7.
- Restart the system now for all changes to take effect. You will have to open MTP-Alternative app to connect the phone again to PC now.
- To map Phone Storage, open My Computer.
- Below the Address Bar click Map Network Drive.
- In the corresponding Folder field, type
\\192.168.42.129@8081
and click Finish. A window will open with the content of /
directory of your phone.
- If you have only Internal [SD card] in Smartphone then enter
sdcard
folder. Otherwise, enter storage
folder and enter into your desired storage.
- You can access this network drive in
My Computer -> Network Location
. You can also rename this drive by doing Right-Click -> Rename
over the drive, enter the name and hit Enter. Note that the drive won't be accessible if the smartphone with above mentioned instructions is not connected to the PC.
(Source: ykasidit, Yeehawup, MTP-Alternative)
For Ubuntu (Linux) with KDE 4.1x:
- Launch Dolphin file browser. In Places click Network.
- Click
Add Network Folder -> WebFolder (webdav)
.
- Enter any Name, leave User field blank, enter
192.168.42.129
in Server field, enter 8081
in Port field. As per step 13 of Windows OS, type either /sdcard/
or /storage/
in Location field, check Create and icon for this remote folder and click Save and Connect. A window will open with the storage contents now.
- The network location is saved in
Places -> Network ->
Name
where Name is from step 3. You can also pin this folder into Places by doing over that folder Right-click -> Add to Places
.
Method #2
This method utilizes ADB interface to access your phone storage. It has already been extensively covered by many users and some answers can be accessed here. To make it short, below are the instructions quoted from some answers by Android Enthusiasts users.
Installation of ADB in your OS
In fact, it is not necessary to install the entire SDK if one does not want to use it for development. To be able to run basic ADB commands in the context needed by an average user, a rudimentary installation is completely sufficient. I will try to explain how to do this, and hopefully cover the most used computer systems.
Requirements
First, you will need the basic binaries. These can be found on the official download page, for Linux, Windows, and Mac.
Windows users
If your computer is running Windows, you will also need the special drivers for your device (no generic solution here, so you need to check this out yourself; usually, those drivers are offered for download on the manufacturer's website).
Linux and Mac OS users
Linux and Mac OS users might need to make their device known to their operating system. For Linux, you find the necessary steps described in my answer here. Not being familiar with Mac OS, I can not speak for it.
Installation
Linux
For Linux, this is quite easy: Simply unpack the downloaded binaries into a directory of your choice. At the time I'm writing this, this will only be two files: adb
and aapt
(the latter being used by QtADB, and not necessarily needed to execute ADB commands directly). Adjust their file permissions to make them executable (e.g. from the command line: chmod 0755 adb aapt
). Finally, it's a good idea to include the chosen directory with your $PATH
variable, so you can call adb
from wherever you are. A good place for that is at the end of your ~/.profile
file to include an additional line like export PATH="~/bin:$PATH"
(if you extracted the binaries to ~/bin
).
Windows
The Windows download holds a couple more files. Also extract them into a directory of your choice. If you want them to be callable from wherever you are, without preceding the complete path, you need to add that path to your environment variables as well. Not being a Windows user, I must leave the "how to do this" to you.
What else?
You should be done at this point, and can use the full powers of the ADB command line.
Further readings
(Source)
And,
I do not really understand why anyone would prefer downloading an old version of unknown origin from a malware-ridden website to downloading the latest official version directly from Google itself. I guess to each its own.
Here are the links to the Google repository:
The latest version of the platform tools (contains just a few binaries - less than 10Mb in size each):
For users of Ubuntu and Debian (distributions I personally use) I have put together a small bash script which finds and installs the latest version of the platform tools - Installing Android platform tools (ADB) on Ubuntu
(Source)
To access Phone Storage in Ubuntu (Linux) using ADB interface :
I cannot answer the Windows part – but the Ubuntu part I can answer for sure, as I'm using that as well and mount my devices from my computer, sometimes with full r/w access. What I use needs ADB tools to be installed on your computer. If you didn't already install them, see e.g. Is there a minimal installation of ADB?
Prepare your Droid
First a basic requirement, applying to any OS which might run on your computer: To be able to get full access, the ADB daemon needs to be running in root-mode. This is not the case with stock ROMs, even if rooted, by default (though many custom ROMs have it enabled by default). So first check: If an "ordinary" adb shell
directly brings you to the root-prompt (#
) without invoking su
, you're fine. Otherwise, you will need a helper like adbd insecure: Run it, and enable the "patched insecure mode". Optionally check the box to have that accomplished automatically on every boot of your device.
Prepare for write access to read-only file systems
Second, again independent from the OS on your computer: to read and write to file systems, they need to be mounted in read/write mode. You can accomplish that via adb shell
anytime you need to write there (I don't recomment leaving those partitions in permanent read/write mode), e.g. issuing a mount -o remount,rw /system
for the /system
partition.
Mount your Droid
Now let's go for the specifics. I mount the Android file system via ADB, utilizing FUSE. The tool for that is adbfs-rootless. Compiling the code is easy given the instructions there; that done, copy the resulting adbfs
binary to a directory in your $PATH
. Then create a mount-point on your computer; in my example, I will use ~/droid
for that. Now here we go:
# Mount the Android FS:
adbfs ~/droid
# Unmount it again:
fusermount -u ~/droid
To ease the process, I've created two aliases:
alias mdroid="adbfs ~/droid"
alias udroid="fusermount -u ~/droid"
You surely already have guessed: mdroid
stands for "mount droid", udroid
for "unmount droid".
A different approach to manually mounting/unmounting is using Midnight Commander with a specific VFS: mc-extfs-adb is doing that. A version I've spefically adapted for Ubuntu is available in the download area at IzzyOnDroid, where you can simply pick it (installation instructions included).
Both variants have their pros and cons: mc-extfs-adb takes quite a while on first access (while it caches the entire file system structure) – but then is pretty fast browsing the file system (as it is cached), only slowing down when you copy/edit files remotely. Using adbfs directly starts up much faster, but then always "hesitates" for a second when switching directories (as it does not cache the entire structure, but only reads on demand). I usually prefer the latter, but YMMV – hence I've given you both options :)
(Source)
To access Phone Storage in Windows using ADB interface
Windows File Explorer by default doesn't let you access the Android root files. You'll need to download a different application (to your PC) for that. Many places (like this guidingtech.com tutorial recommend Android Commander. Another recommended file explorer program is Droid Explorer.
(Source)
Method #3
This method uses an app and USB Tethering. This method has roots in this answer (this answer only mentioned the possibilities but not the actual usage in steps).
Procedure:
- Download a file server app that allows WebDav/FTP/SSH/Samba server creation. You can either look on this list by
Izzy
here, or choose them viz., WebDav, FTP, Samba, SSH, Multifarious. Google is your friend if none of them helps.
- Following Instructions are for {WebDav,FTP} Ultimate (Free) and Servers Ultimate Pro (Paid).
Using WebDav Server Ultimate :
- Enable USB Tethering.
- Launch WebDav Server Ultimate.
- Go to
Add -> WebDAV Server ->
.
- Enter any name in Server Name. Choose a Port number greater than 1024 which you can remember (e.g. 5000) and enter it in Run on port.
- In Document root, choose
/
to remain consistent with Method #1.
- Uncheck all the options. You may choose to run this server automatically whenever you launch this app. To do so, check Start directly when app starts clean. Tap Back key once and choose Yes to save server settings.
- Tap once on newly created server entry and choose Start/Stop. You will get a dialog box with Information The server has been started. You can close the app (including the server) by sliding left the many icons at the top of the app and choose Exit. Note that without choosing the Exit, the server will continue to run unless stopped explicitly.
- You may now use procedure explained in Method #1 for either Windows or Linux. Note that for Windows, the address will now be
\\192.168.42.129@5000
and for Linux, it will be webdav://192.168.42.129:5000/
.
Using FTP Server Ultimate:
- Enable USB Tethering.
- Launch FTP Server Ultimate app.
- Go to
Add -> FTP Server ->
.
- Enter any name in Server Name. Choose a Port number greater than 1024 which you can remember (e.g. 6000) and enter it in Run on port.
- Uncheck all the options. You may choose to run this server automatically whenever you launch this app. To do so, check Start directly when app starts clean. Similarly, choose Respawn (auto restart when server crashed).
- Go to Users (adjacent to Settings at the top), tap Add, leave Username and Password blank and check Auto write access. You may choose to restrict the PC by choosing Force stay in document root.
- In Document root, choose
/
to remain consistent with Method #1.
- Tap Back key once and choose Yes to save server settings.
- Tap once on newly created server entry and choose Start/Stop. You will get a dialog box with Information The server has been started. You can close the app (including the server) by sliding left the many icons at the top of the app and choose Exit. Note that without choosing the Exit, the server will continue to run unless stopped explicitly.
- You may now use procedure explained in for Linux. Note that for Windows, the address will now be
ftp://192.168.42.129:6000
and for Linux, it will be ftp://192.168.42.129:6000/
. To map ftp in Windows, follow the following instructions from Step 13.
Using Servers Ultimate Pro:
Note that this app requires certain other packages(free) to be installed.
- Enable USB Tethering.
- Launch Servers Ultimate Pro app.
- Go to Servers. Tap
+
icon and scroll down to tap FTP Native Server.
- Enter Name, choose a Port number greater than 1024 which you can remember (e.g. 2121).
- Under LISTEN ON NETWORK INTERFACE, choose rndis0 -Ipv4 (192.168.42.129).
- Check Start directly when app starts.
- In the LOCKS, check Enable WIFI lock.
- At the top panel of the app, go to SPECIFIC and uncheck everything except Allow upload.
- In Document root, choose
/
to remain consistent with Method #1.
- Touch floppy icon to save settings.
- Tap the server entry once and choose Start.
- You may now use procedure explained in Method #1 for Linux. Note that for Linux, the network location will be
ftp://192.168.42.129:2121/
.
- For Windows, follow steps 1-11 in Method #1 For Windows.
- Click Connect to a website that you can use to store your documents and pictures.
- A new windows with title Add Network Location will be shown. Click
Next -> Choose a custom network location -> Next
.
- Under Internet or Network Address, type
ftp://192.168.42.129:2121/sdcard/
and click Next. You can replace sdcard with storage.
- Check Log on anonymously and click Next. Type a name to recognize this in future and click Next.
- Check Open this network location when I click Finish and click Finish. A new window with your phone's storage content will show up.
- Step 14 of Method #1 applies here too.
Note that for WebDav server in Servers Ultimate Pro, the settings are similar to one covered in aforementioned procedures in Method #3.
About MTP-Alternative
USB file transfers with PC - without 'MTP' problems.
No more USB ‘MTP driver not found’ or ‘can’t find my files’ issues - Supports both Windows and Ubuntu GNU/Linux!
'MTP-Alternative' shares this device's storage as a 'Drive' to Computers via USB Tethering instead of the default android 'MTP' file transfer method and makes you avoid the 3 common 'MTP' problems.
About WebDav Server Ultimate
A free, secure and complete WebDAV Server! The app supports adding multiple users, has WebDAV over SSL/TLS (HTTPS) support and can be set to automatically start a WebDAV Server when your device is connected to a specific WIFI network!
About FTP Server Ultimate
A free, secure and complete FTP Server for transferring files using an FTP client. The app supports adding multiple users, has FTPS Implicit / SFTP / SCP support and can be set to automatically start an FTP Server when your device is connected to a specific WIFI network!
About Servers Ultimate Pro
★★Run over 60 servers with over 70 protocols!★★
Now you can run a CVS, DC Hub, DHCP, UPnP, DNS, DDNS, eDonkey, Email (POP3 / SMTP), FTP Proxy, FTP, FTPS, FTPES, Flash Policy, Git, Gopher, HTTP Snoop, ICAP, IRC Bot, IRC, ISCSI, Icecast, LPD, Load Balancer, MQTT, Memcached, MongoDB, MySQL, NFS, NTP, NZB Client, Napster, PHP, Lighttpd, PXE, Port Forwarder, RTMP, Remote Control, Rsync, SIP, SMB/CIFS, SMPP, SMS, Socks, SFTP, SSH, Server Monitor, Styx, Syslog, TFTP, Telnet, Time, Torrent Client, Torrent Tracker, Trigger, Unison, UPnP Port Mapper, VNC, VPN, Wake On Lan, Web, WebDAV, WebSocket, X11 and/or XMPP server!
Note:
- WebDAV may limit the file size upto 4 Gigabytes only.
- File transfer through WebDav enabled by MTP-Alternative wasn't very responsive and created a cache size of 800 MB for me in Android.
- 2. issue didn't arise on Linux and worked smoothly.
- I prefer Servers Ultimate Pro with FTP Native Server. It works flawlessly on both Windows and Linux for me.
- I only use
adb push|pull
commands of Method #2 for data transfer. It is mentioned for covering the common options as an alternative.
- If you're rooted, then you can port forward in Servers Ultimate Pro.
- There could be methods that I'm unaware of yet. Please post them as an answer.