FTP passive mode problem


#1

Hi all.
I’m using OAT 3.02 with OS 6.51

I’m usign the FTP API to dowload a file for DOTA. When I use the FTP on active mode everything works fine, the connection is established with my FTP server and the file is downloaded/installed succesfuly.
Because this is a test, I’m running the server on the same network the module is by using another module and windows Dial Up. In real life I need the server to be running on the Internet or another type of network, as far as I know every GPRS carrier connects the network module to the Internet trhough a NAT. In this scenario FTP Active doesn’t work, so I need to use Pasive mode.
Here is the problem: When using Pasive mode, the connection is stablished and the file download is completed, I see on the server the message [color=darkred]Transfer ok and I see that it is really sending the message with a network sniffer. In the module I see the last packet of the file transfer arrive but the API never goes to the state ED_OK_FILE_TRANSFERED, instead it keeps on doing nothing, after a while the server timeout, closes the connection and then I get the error from the API ED_ERR_DISTANT_TCP_CLOSED_BY_PEER.
I this test I continued working with my server running on the same network in order to avoid any NAT troubles. So working with the server and the module on the same network Active mode works fine and Pasive not, I’ve also tried different servers, the behaviour is the same.

Thanks in advance for any comment.


#2

Hi all !!

I’m facing the same problem !

I’ve implemented DOTA I on Q2406B (6.52, open AT 3.04) via FTP. And i have exactly the same problem, i quite never receive ED_OK_FILE_TRANSFERED in passive mode. Except for small files (less than 7kB).
I’ve tried many different sizes, but it’s impossible to find a limit. For files bigger than 15-20kB, the event is never received, for files smaller than 7kB, it works, and for files between 7 and 15kB, sometimes it works, but it often doesn’t…

Any idea ? Is it a bug, a restriction ??? Is it possible to fix/manage it ?

Thanks !!