Timeout detected (data connection) only on servers — same WinSCP works fine on another machine
Hi,
I'm having an issue with WinSCP GUI FTP downloads only from a Windows 2019 Server.
The same portable WinSCP folder copied from that server to my laptop works perfectly fine, so the executable itself seems fine.
What works on the server:
When downloading any file (RETR), we get:
No data is actually received
What works on a different machine:
Using the same WinSCP executable, copied from the server to my laptop:
Script being used (credentials masked):
Environment (server):
Windows Server 2019
Hyper‑V virtual machine
WinSCP 5.9.1 portable (same folder works on a laptop)
What’s been ruled out:
The server opens the passive port, receives `150`, then `226` from the FTP server, but never receives the actual data packets before timing out. Another machine using the same WinSCP folder works fine.
This suggests something environmental on the server (NIC offloading, Hyper‑V, antivirus inspection, etc.).
Are there any known issues in older WinSCP builds (or with the Windows networking stack) on Server 2019 + Hyper‑V NIC offloading that can cause passive FTP data connections to stall after `226`?
Happy to provide full level‑2 logs if needed.
Thanks,
Mo
I'm having an issue with WinSCP GUI FTP downloads only from a Windows 2019 Server.
The same portable WinSCP folder copied from that server to my laptop works perfectly fine, so the executable itself seems fine.
What works on the server:
- Authentication to the remote FTP server
- Directory listing (LIST) always works
- PASV commands succeed
- Server responds with **150** and then **226 Transfer complete**
When downloading any file (RETR), we get:
Timeout happens **\~15 seconds after** the server sends `226 Transfer complete`Timeout detected. (data connection)
Copying files from remote side failed.
No data is actually received
What works on a different machine:
Using the same WinSCP executable, copied from the server to my laptop:
- Connects successfully
- Lists successfully
- Downloads all files normally
- Same network tunnel path (My Firewall team have confirmed that servers and clients use the same network tunnel.
Script being used (credentials masked):
option batch on option confirm off option reconnecttime 60 option transfer binary option timeout 30 open "ftp://<username>:<password>@x.x.x.x" -passive=on -rawsettings FtpForcePasvIp=1 cd /fdc-ftp/Outgoing lcd "E:\temp\SomeFolder1" get someFile.txt get someFile.txt get someFile.txt lcd "E:\temp\SomeFolder2" get someFile.txt get someFile.txt get someFile.txt close exit
Windows Server 2019
Hyper‑V virtual machine
WinSCP 5.9.1 portable (same folder works on a laptop)
What’s been ruled out:
- Firewall: network team confirmed the passive ports are allowed; laptops use the same tunnel
- FTP server: downloads work from multiple machines and can also upload to the server
- WinSCP version/exe: same folder works on another machine
- Script issues: same script works on laptop
- GUI WinSCP: also fails on the server, so not a scripting issue
The server opens the passive port, receives `150`, then `226` from the FTP server, but never receives the actual data packets before timing out. Another machine using the same WinSCP folder works fine.
This suggests something environmental on the server (NIC offloading, Hyper‑V, antivirus inspection, etc.).
Are there any known issues in older WinSCP builds (or with the Windows networking stack) on Server 2019 + Hyper‑V NIC offloading that can cause passive FTP data connections to stall after `226`?
Happy to provide full level‑2 logs if needed.
Thanks,
Mo