My Android connection to my computer is ridiculously slow. Just previous to this, I used Banshee to transfer some songs to my Android, and it took nearly two hours two transfer 23 songs. (The problem is not limited to Banshee, but any file transfer.)

I thought this might be a problem on the Ubuntu side of things, but I'm starting to think that the problem is either limited to, or more pronounced with, my Android device.

While I was doing variouos tests to try and diagnose the problem, by adding and removing various USB devices on my system and then testing file transfers, I saw speeds of up to 2MB/second, which I could live with.

However, no matter what I did, and regardless of what speed I have been able to achieve, after some amount of time, the problem returns. The speed becomes something more like 50KB/s or less.

Two hours to transfer 23 songs is practically unusuable.

Assuming for a moment that maybe my Ubuntu machine is not the problem, how can I determine if my Android phone is doing something to hold up the USB transfer speed?

Samsung Galaxy S2, Model number GT-I9100, Android version 4.0.4, Kernel version 3.0.34-Siyah-v3.3.2, Cyanogen 9-20120624.

  • As this isn't a solution but a workaround I won't post it as an answer: you can transfer files wirelessly instead if you're on the same network using Airdroid – pzkpfw Jul 28 '12 at 13:24
  • You're running an outdated build/kernel, could you install the latest RC or nightly? There are now more recent CM9 builds you could try, e.g. RC2 or a nightly here. Just to check if this alone fixes your problem. PS: It's definitely kernel related (either Ubuntu's or Android's kernel) – ce4 Jul 28 '12 at 15:50
  • Are you transferring to the internal memory, or the MicroSD. What spec is the MicroSD? If MicroSD then do you have a card reader that can accept it? – MrWhite Jul 29 '12 at 23:01
  • @w3d The problem seems to be with both the internal memory and the MicroSD. I do not have a separate card reader for the microSD. The MicroSD is a 16GB class 4 card made by Sandisk. – Questioner Jul 29 '12 at 23:21
  • @ce4: I updated the kernel and the ROM, and now my GPS doesn't work. So I guess I'm back to playing feature-whack-a-mole. – Questioner Aug 2 '12 at 13:08

This is a common problem with Android and Ubuntu. I got around this by using ADB to transfer the data.

Turn ADB on in your phones settings and make sure you have downloaded the ADB package on your computer (http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html). Then run in terminal:

adb devices

to check that your device is recognized. Once you have done that you can transfer files using:

adb pull /sdcard/place_on_phone ~/place_on_computer


adb push ~/place_on_computer /sdcard/place_on_phone

This is a bit of a self plug but I did make a small shell script that does this automatically at: http://opensynx.codeplex.com/wikipage?title=Linux

| improve this answer | |

I too was having this problem, However after turning on the "USB debugging" in mobile, transfer speed increased to >10 MBPS. Also important is to find where this device is connected to the computer USB2 or 1 . Use lsusb -v then go to your device and look for value in bcdUSB field. Should be either 2.00 or 1.01

| improve this answer | |

I played with this a few more times. Here is what worked for me

Disable ptp mode which is used for transfering pictures from phone to mac. I suspect it was using the mode in background to sync photos and thus using a portion of my bandwidth.

3 files pulled. 0 files skipped.
7016 KB/s (734352024 bytes in 102.214s)
| improve this answer | |

Just in case, I have stepped in the problem, and have been stuck on it for 5 hours.

It might sound stupid, but as you may know, USB Ids sometimes collide. And this causes all kind of strange bugs. My recommendation is that you change the usb port you where connecting the phone to.

I own a nexus 4 and a nexus 7, and the 7 was being recognised as the nexus 4. Changing the port fixed it for me.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.