4

I am getting no more than 300KB/s (occasionally dipping below 100KB/s) transferring files from Pi Zero W wirelessly to Windows 7 machine on same network using WinSPC.

I have done the following so far:

  1. check download and upload speed for Pi Zero W (using internet speed test online). This gave 3MB/s down and 2MB/s up. -> this cannot be the problem

  2. during file transfer I monitored the CPU usage of Pi -> never goes above 40%, so this cannot be the bottleneck either.

  3. used a Linux machine in Virtual Box to transfer files directly using SPC command -> same speed, so maybe issue isn't even with WinSPC

  4. chose different protocol, i.e. SFTP (same speed) and FTP (did not work) -> so it's not the FT protocol

  5. reset my router, which resulted in no improvement -> maybe not a router problem

So, are these abysmal transfer rates of 300KB/s expected or should I do better? What else could I try?

1
  • Exactly the same issue. The network connection between pi and google drive is very well...
    – MewX
    Jan 28, 2022 at 14:47

2 Answers 2

1

I think the key to your issue is the bolded part of your question that I've included below.

I am getting no more than 300KB/s (occasionally dipping below 100KB/s) transferring files from Pi Zero W wirelessly to Windows 7 machine on same network using WinSPC.

When dealing with anything network related, setting up the initial connection has a massive overhead, especially when it's not a local application downloading something. WinSCP operated by creating a new connection for each file. You didn't specify, but I assume these files are on the smaller side, which means that you're spending more time opening and closing connections than you are actually transferring files.

There's two primary solutions to the issue you're facing.

  1. Adjust the amount of parallel operations that WinSCP is allowed to do. It still has to create a new connection for each file, but you'll get a lot of stuff moved more quickly. I would suggest a setting of 9.

    Preferences > Transfer > Background > Maximal number of transfers at the same time.
    
  2. Before transfering your files, compress them into a zip file (or something better if you're familiar) and then unzip them after transfer. This will allow WinSCP to move all the files in one continuous transmittion and will be the fastest method you have available. Not only is there less connection overhead, you won't have multiple processes on the RPi Zero competing for precious disk IO time.

4
  • Thanks for the response. I tired both of your suggestion, but it did not improve my transfer speed. My files are between 20 and 100 MB in size. No matter what I set as a parameter of parallel operations, only one file at a time seems to be transferred. As a side question, is data transferred via the router to the Windows Box or is it direct? Aug 6, 2017 at 23:30
  • @Pi-Tungsten: The files will go through the router before going to the RPi. Have you ensured that the hardware of any other device isn't the problem? Are you sure the network/disk load of the sending machine isn't causing an issue?
    – Jacobm001
    Aug 7, 2017 at 0:01
  • I think I can safely exclude that as cause of the issue. So that leaves the router as possible culprit? What other test could I run to check whether router is limitation? Btw, I tried file transfer from a Pi 3 to Win7 Box in the same way, however with Pi 3 plugged into router via Ethernet cable. This gives me slightly better rates of 700KB/s, but still far below possible up/down load speed. Aug 7, 2017 at 0:33
  • WinSCP does not open a new connection for each transfer with SCP protocol. Aug 12, 2017 at 16:55
1

Is your Windows box connected to the router through wifi or ethernet?

If your PC is not wired in with ethernet to your router then, this could improve the throughput to your pi-zero. If you are copying very large files (1GB+), you should consider directly transferring the files from a linux laptop directly to the SD card.

Measurements of large (1GB+ file) from my laptop to pi-zero:

  • Laptop (wired ethernet) 1.7 Megabytes / sec
  • Laptop (wireless) 0.3 Megabytes / sec
  • Direct write to SD card 8.0 Megabytes / sec

My wireless measurements indicate that a wireless connection is consistent (0.3 Megabytes per sec) with your observations \ measurements (300 KB/S): an unlikely coincidence.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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