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.

19
  • 45
    37.1 MB/s, that is Pretty Darn Fast. We are stuck in a world of "Hurry-up Clock!" I wish I could read that fast. You need to roll with the punches. Copy or Move a little at a time next time, don't wait until it is jammed packed. Sorry, I have no better answer(s), I think nobody does for this. Just set it to copy and then take a nap. ;-)
    – vssher
    Jun 5, 2022 at 8:08
  • 19
    Does your phone support USB 3.0? (Even Type-C ports are not necessarily 3.0 ports.) Does your cable support USB 3.0? (It needs to physically have the additional connections.) Your 37 MB/s sounds a lot like average USB 2.0 speed to me (around 400 Mbps not including overhead), and a faster port on one end won't make a 2.0-only port on the other end faster at all. Jun 5, 2022 at 8:09
  • 14
    I am moving even larger volumes of data regularly and my answer is: you can reduce the process to a few minutes by proper scheduling. Start the transfer before going to bed and find the finished task once you are back.
    – miroxlav
    Jun 6, 2022 at 8:17
  • 44
    You could have waited out the 4 hours and 30 minutes faster than writing this question and interacting with Internet strangers. I really hope you started the transfer and went to sleep so it could be done by the time you woke up.
    – MonkeyZeus
    Jun 6, 2022 at 13:29
  • 12
    Strange times. "OMG, I have only 14 GB storage left on my phone, what should I do? Please help!" ;-) When I was young I had a Win/Linux dual boot on 500 MB... and I had to walk 10 feet across shag carpet to change the TV channel! Jun 6, 2022 at 19:38

10 Answers 10

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.

8
  • 13
    "Your phone also supports USB On-The-Go" -- no, it does not, USB OTG only applies to micro USB, this phone is USB C. What you wanted to say is "Your phone has a USB C connector so you can directly connect a USB disk..." Also, a data role swap might be necessary which, regrettably, is called OTG under Settings > Connected devices. But that's a misnomer from Android.
    – chx
    Jun 5, 2022 at 18:39
  • 3
    @chx, so you are saying that the answer calls it OTG, the Android menu calls it OTG it is quite clear what is being suggested, but for some technical obscure reasons you object to this term? ;) Jun 7, 2022 at 7:09
  • 3
    Since when is the USB C specification a technical obscure reason??
    – chx
    Jun 7, 2022 at 7:45
  • 7
    @chx Since the general public doesn't use the term. Not all USB-C ports are dual-role ports (DRP). That the phrasing "this device supports USB-OTG" remains commonplace over "this device supports dual role / has a DRP" is obvious. Since it remains unambiguous to say a USB-C device "supports OTG", what's the harm?
    – Jivan Pal
    Jun 7, 2022 at 11:13
  • 1
    Connecting a gigabit LAN adapter is also an option, although obviously limited by the speed of USB 2.0. I did this combined with a free FTP app the other day. Jun 8, 2022 at 1:19
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.

5
  • I meant this "answer"... Jun 6, 2022 at 7:49
  • 1
    In what way is it irrelevant to the question? Your question does not include the information about the disk on the reading side only on the writing wide. Jun 6, 2022 at 8:26
  • 21
    It's a perfectly reasonable answer to the question "how can I speed up the transfer?". This answer is simply saying that if the bottleneck is read speeds on the flash memory, then you can't. "You can't" is an acceptable answer. Jun 6, 2022 at 14:32
  • 1
    Usually reading from the built-in flash memory is much faster than USB2 is, unless the device uses exceptionally slow flash memory.
    – U. Windl
    Jun 8, 2022 at 13:25
  • @U.Windl Yes, it is unlikely but possible. But we also don't know what else is happening on the device at the same time. Maybe many apps are competing about doing stuff with the memory. It is not so uncommon to have many apps running simultaneously these days. Jun 8, 2022 at 15:42
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.

4
  • Also syncthing can be an option, in case you just want to keep synchronized media files between 2 or more devices.
    – Foxhole
    Jun 8, 2022 at 16:29
  • 1
    Furthermore, using the Hotspot feature on Android you can connect your phone directly to the PC, bypassing any router/access point; this results in a greater transfer speed!
    – mattia.b89
    Aug 20, 2022 at 17:24
  • while the ftp way is better than compressing files like the other have suggested. but the adb way remain the fastest Apr 20, 2023 at 20:10
  • @theggputest55 adb might be faster if the phone has USB 3.x, but if it only has USB 2 the chances are high that you could reach higher speeds over wifi. Also installing the little app on the phone and something like Filezilla on the PC is quite comfortable.
    – Arsenal
    Apr 21, 2023 at 7:49
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.

1
  • 3
    People use to say you knew you had a Vax (minicomputer) if you measured compile times in weeks. Jun 6, 2022 at 20:29
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)
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.

5
  • 1
    This problem is hardware caused and completely irrelevant to software, so changing operating system won't mitigate the problem even slightly. Jun 6, 2022 at 7:06
  • 4
    Yes, you might notice the bit where I said "if you're limited to USB2..." But also I've seen the same file transfers, performed faster on a live linux distro, than on the baremetal windows install.
    – mitts
    Jun 6, 2022 at 7:34
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Jun 6, 2022 at 7:35
  • tar can be used on the fly without requiring any more disk space, and does wonders with many very small files, although if the files are screen recordings it may not be the case
    – golimar
    Jun 8, 2022 at 11:28
  • compressing large or many files is slow on phones and a waste of cpu cycle because there are way more efficient ways like using adb Apr 20, 2023 at 20:07
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.

2
  • There are only 95 of those images. It is not a significant contributor to the issue. Jun 8, 2022 at 6:33
  • compressing large or many files is slow on phones and a waste of cpu cycle because there are way more efficient ways like using adb Apr 20, 2023 at 20:08
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.

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.

1
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review
    – Toto
    Feb 7, 2023 at 11:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .