How can I determine what is a normal USB transfer speed for my Android phone? I've been struggling to get decent USB transfer speeds with my Ubuntu computer, which I've asked about on the Ask Ubuntu site.

The answers there have helped me improve USB speeds overall, but it seems my phone is still much slower than other devices. For example, I can transfer to my Sony video camera at about 17.5MB/s, but transferring files to my Android phone (Samsung Galaxy 2 with ICS) is running at about 2MB/s.

How can I determine if 2MB/s is a normal transfer speed for my Android phone? In other words, what do I need to know about it's SD card (it has two, internal and external) specifications or other details in order to determine if I am getting the maximum performance or if it is still hobbled?
There's no such thing as normal USB transfer speed. It depends on several factors including but not limited to:


Class of the sdcard 
USB speed (1.1 vs 2.0)
Performance and load of the the computer 


Out of these three the one with the most influence is the class of the sdcard. The class describes the minimum write speed of the card in MB/s. For example a Class 10 card has a minimum writing speed of 10MB/s.
Based on this your sdcard is most likely a Class 2.



If you can't locate your sdcard Class, there's a free tool (only for windows users) that gives you the transfer rate of your sdcard:

H2testw 1.4


  After you've finished verifying your unit you will be able to see the exact time it took for the operation to complete, the number of megabytes tested, and, of course, the writing / reading speed.




As a side note: The cache that Abdul mentions has nothing to do with this. That's for reading and only applies if the card is mounted in the phone.