How to set Android M default USB config to MTP rather than "charging only"?

AndroidNexus 5MtpAndroid 6.0-Marshmallow

Android Problem Overview


Whenever my device (Nexus 5, Android M Preview 3) connects via USB, the USB config always defaults to "charging only".

This is quite problematic because the USB port on my device is faulty and sometimes disconnects and reconnects when bumped and so I have to manually change the mode to MTP (media transfer protocol) from the notification drawer each time.

  • Debugging mode is enabled
  • Develop settings -> USB Configuration is set to MTP.

Android Solutions


Solution 1 - Android

I just tried this on my Nexus 5 (Android 6.0.1) and it worked:

  • Make sure your phone is NOT connected to any device over USB cable
  • Go to Settings - Developer options - Select USB Configuration
  • Set your desired default connection type

The trick was to have a phone disconnected from USB. I guess the idea behind such a behavior was that if you set an USB connection type while your phone is not connected to any device, it will be treated as a default behavior.

Solution 2 - Android

By Default, Android 6.0 does not provide an automated method to select MTP when the device is connected as USB. After much wait and research through XDA, blogs, stackoverflow etc, the best solution I found to this was a small application, named MTP enabler PRO Marshmallow(4.5 MB) - built by one of the users to overcome this problem.

> This requires a rooted device.

Below is a link to download the APK file.

http://forum.xda-developers.com/android/apps-games/app-mtp-enbaler-t3263467

Below is a link to the app in PlayStore(paid app)

https://play.google.com/store/apps/details?id=mtp_enabler.esolutions4you.de.mtpenabler&hl=en

Hope it helped.

Solution 3 - Android

This is a major problem for a layman to use. To access the files on your PC you need to follow the steps mentioned below:

  1. Swipe down on the screen, tap on "USB for file transfer".
  2. Select the option "Transfer Files(MTP)".

Primarily this should solve the problem. But, if this DOES NOT solve the problem, then follow the following steps.

  1. Make sure the SD card is inserted properly.
  2. Go to "Settings-->Apps".
  3. Tap on the three dots on the TOP RIGHT corner of the screen and tap on "Show system apps".
  4. In that list of apps, find the apps "External Storage" and "Media Storage".
  5. Now clear the data and cache for those apps.
  6. Reboot your device.
  7. Now go to "Settings-->Developer options" and enable "USB debugging".
  8. Then tap on "Select USB configuration" and select the option "MTP(Media Transfer Protocol)".

Now connect your device to your PC and you should be ready to go.

You have to follow these steps only once, however, you need to select the type of connection every time by swiping down on screen and selecting the option "MTP".

Hope this helps...!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWill Hardwick-SmithView Question on Stackoverflow
Solution 1 - AndroidMladen B.View Answer on Stackoverflow
Solution 2 - AndroidNikhil NanjappaView Answer on Stackoverflow
Solution 3 - AndroidHoly GhostView Answer on Stackoverflow