13

Please help, I need to transfer 148GiB worth of data from my Android phone to a computer.

My phone is Oppo A96 and it has run out of space:

enter image description here

It is filled screen recording videos, and they collectively take 148GiB of space, and I am going to move the files to my 4TB HDD (3725.29 GiB capacity), so that I can free up the space, and I can edit and compress the videos before I post them to my Youtube channel.

Of course I have a USB data cable, so I inserted one end of the cable to the phone and the other to a USB 3.0 port on the computer, to connect the phone to the computer, and selected "Transfer Files" in the prompt, and started copying the files using Windows Explorer:

enter image description here

enter image description here

It is taking ages.

It takes more than 4.5 hours to complete the transfer, I have cancelled the operation, I can't wait 4.5 hours just for the move operation to complete, and even in the unlikely case I could, by the time the operation completes I wouldn't be able to access the computer, it is some "technical difficulty" I would not go into here.

So I opened Task Manager and found:

enter image description here

Windows Explorer only moves the files at a miserable 37.1 MB/s...

The theoretical transfer speed of USB 3.0 is 4.8 Gbit/s:

4.8 * 1000^3 bit/s
600 * 1000^2 byte/s
600 * 1000^2/1024^2 mebibyte/s
572.20458984375 MiB/s

And the performance of that particular HDD:

enter image description here

How do I speed the process, to make it as fast as possible?

If it is a normal drive I would use FastCopy, but here I am accessing an emulated file system through a USB cable, so I don't know if it is the most efficient solution.

In case the contents of the files are important, about half of them are JPEG screenshots, all of these screenshots are less than 1MiB in size. The other files are MPEG-4 screen recordings that comes in all sizes, but most of them are between 0.5 - 5 GiB. And there are 95 pictures and 100 videos, for a total of 159636475587 bytes (148.67 GiB).


All the options involving Blue-tooth, Wi-Fi and cloud storage can only be slower than the physical connection, they all have a narrower bandwidth than USB 3.0.


Just checked, the USB interface of the phone is Type-C source, I don't know if it supports USB 3.0 or not though, it is not stated. As for the cable, I don't know, maybe I will buy a USB 3.0 cable for the phone.

Ξένη Γήινος
  • 3,902
  • 13
  • 45
  • 84

10 Answers10

49

According to specifications at GSMArena, your phone only has a USB 2.0 port. The highest operating mode in common between a USB 3.0 port on one end and a USB 2.0 port on the other end is still just USB 2.0 "High Speed" at 480 Mbps – your computer's USB 3.0 port cannot imbue the phone with more speed.

The practically achievable USB Mass Storage data transfer speed in this mode is around 42 "MB"/s. Your phone is an MTP device, not a mass storage device, but the calculations would be similar. Waiting is still probably your best option (802.11ac Wi-Fi could in theory exceed that speed, but in practice not by much).

(Also, if your phone came with a Type-C cable, it's probably also just a USB 2.0 cable made primarily for charging and only occassional data transfer – they won't bundle a more expensive USB 3.x-compliant cable with a USB 2.0 device. If the "computer" end of the cable is Type-A, you can visually inspect it – a USB 3.x cable would have an additional row of 5 pins hidden deep inside.)

Your phone seems to have a microSD storage slot – use it to move all files to a new SD card, then use an SD card reader to move them to the computer. While this would take more time in total, you no longer need continuous access to the computer for the entire duration; only the SD card needs to be left there.

Your phone also supports USB On-The-Go, which allows you to directly connect a USB disk to the phone and move files to it. (It might not be able to provide enough power for a 2.5" HDD, but you should be able to use a portable SSD or a high-capacity USB stick.) Later you can move the files from the USB SSD to your computer in a few minutes.

LWC
  • 1,355
grawity
  • 501,077
8

If both the computer port and the phone has USB3 the problem is maybe not related to USB but the speed of the flash memory.

If the flash memory is not fast enough at reading the data it won't help if the transfer speed over the cable is fast.

3

I found that using a FTP server on my phone and transfer the files via FTP worked much faster than USB (because it's USB 2.0 with horrible MTP). And all new files also showed up instantly which they often enough don't via USB. Not sure if this is all related to my P30 Pro, but my Axon 7 had similar issues.

I'm using SwiFTP works great.

I can get transfer rates up to 125 MB/s with this over WiFi.

Arsenal
  • 131
2

Don't do it all at once. Do it in tranches of 8GB. Then plan to have a window. By all means stage it to a card first. 4.5 hours is not a long time. 2 games on Steam. Windows feature updates take that long. Some compression approaches take that long for 4GB files. Within living memory compilation of programs took 4.5 hours.

Manage your time. You seemed to find the time to ask the question.

Your technical difficulty suggests you don't have full ownership of the end to end chain, maybe that just means it is a work (school) computer you should not be using. So assuming it is your phone, card is the way to go.

mckenzm
  • 946
2
  1. Install ADB drivers for your device, enable ADB.
  2. Start command prompt in the target folder, to be copied into
  3. Run adb pull /storage/emulated/0 .. As pull uses lower level file copy mechanism, there may be errors caused by filesystem incompatibilities (for instance, long filenames for NTFS, big files for FAT32, unsupported characters in the filenames) - with those you have to deal manually.
  4. Disable ADB (optional but welcomed)
snuk182
  • 121
1

As said, if your phone only supports USB2, that's all you're going to get.

Your options as I see it:

Wait for windows.

Try linux. (It has less bloat/overhead and generally handles files better - but if you're on USB2, that's all you'll get)

If you can connect a disk directly to your phone via usb C, then it could pay to buy/borrow a powered external HDD enclosure, and connect your backup disk directly to the phone that way.

The suggestion of using an SD card is also valid, and assuming your phone has proper support for it, can transfer at up to 90MB/s. Then with a USB3 to SD device, can transfer off equally fast.

I would find an app that can compress all your files into one (linux tar for example) then you're moving one contiguous file rather than many smaller ones. However this obviously doesn't work if you're out of space.

mitts
  • 123
1

about half of them are JPEG screenshots, all of these screenshots are less than 1MiB in size

This is a significant contributor to the issue.

There is overhead with each individual file that you write to a disk involving looking for space on the disk, updating the file tables, etc. (I'm sure someone will chime in with more details.) The more small files you transfer the more time it will take because the more general file system overhead you will incur.

For example, create 150GB of small 1MB files in TestDir1, then compress them (and added some more) to create 150GB .zip file in TestDir2. You would find that copying TestDir1 to TestDestination would take more time than copying TestDir2 to TestDestination simply because you're incurring the file system overhead ~150,000 more times for TestDir1 than for TestDir2 even though the amount of bytes being copied is essentially the same.

FreeMan
  • 398
1

If you have adb installed in your PC and USB debugging enabled in your Android device, it will be easy.

First download ADB: From this official link Install it and launch it

Write:

  1. adb devices to see if your device is connected
  2. adb pull /sdcard this will literally extract everything from your device files, best way possible. If you want a specific folder target you write adb pull /sdcard/your_target, imagine it's the camera, then your target is DCIM/Camera So you'd write adb pull /sdcard/DCIM/Camera You let it work, and it shows the actual percentage of the work being done.

That is how I move large folders, it maybe a bit strange but it always works perfectly.

0

What I do when faced with this situation is to transfer the files overnight over WiFi. There are some apps that specialise in this, but most are proprietary and kinda complicated. So I just have an app that speaks SMB (file protocol used for network folders) and move files to a network location on my home WiFi - you can make it as simple as share a folder on the network from your Windows PC or have a dedicated NAS set up. The app I am currently using is called Cx File Explorer and I can just select the files/folders I want to move, select "move", then navigate to the network location (needs to be added first in the app) and select "paste". It does things in the background and you can just have the phone next to your bed overnight instead of having to babysit it.

htmlcoderexe
  • 259
  • 2
  • 7
0

Install ADB File Explorer

https://forum.xda-developers.com/t/adb-file-explorer-python-application-cross-platform.4360633/

It's the fastest way to transfer files from smartphone to PC.