FIXED THIS ISSUE --
Problem is a bug in the uClinux ftpd.c code.
I found a blog from 2003
http://blog.gmane.org/gmane.linux.uclinux.devel/month=20061101/page=36 Code here just in case this link is flakey
**************************
Subject: [BUG] ftpd
Newsgroups: gmane.comp.gnu.inetutils.bugs
Date: Fri, 29 Aug 2003 21:28:31 +0900
Hello
I found a bug.
if "nm ftpd | sort -n" show:
1001cba8 b bufs.135
1001ce78 b ctrl_addr
1001ce88 b data_source
then ctrl_addr will be destroyed, and ftp client
will get message like this:
425 Can't create data socket (56.0.0.135,0): Cannot assign requested
address.
diff -u ftpd.c_org ftpd.c
--- ftpd.c_org Wed Jun 26 12:15:05 2002
+++ ftpd.c Fri Aug 29 21:15:41 2003
@@ -192,7 +192,7 @@
static char bufs[NUM_SIMUL_OFF_TO_STRS][80];
static char (*next_buf)[80] = bufs;
- if (next_buf > (bufs+NUM_SIMUL_OFF_TO_STRS))
+ if (next_buf >= (bufs+NUM_SIMUL_OFF_TO_STRS))
next_buf = bufs;
if (sizeof (off) > sizeof (long))
------------------------------------------------------------
When I introduced this change in my ftpc.c the problem is resolved.
Anyone have any further comments on this and/or the above mentioned bug
report?
Thanks.
/Martin
*********************
Basically, a fix for this problem was submitted way back then and is not in the current "ftpd.c" file (in uClinux-dist/user/ftpd directory). I made the fix, tested it and it works great. I can now mget with no problems.
Hope this helps someone else.