Macos – OSX Emacs FTP Failing

emacsfilezillaftpmacostramp

I use Emacs from Bash. I use C-x C-f to FTP into servers, to work on files. From my OSX (10.6.x), I can connect to all of my servers, but one. From Ubuntu, I can connect to all of my servers, period. The one that I cannot connect to from OSX is a Windows Server 2003 SP2 server, running Filezilla Server version 0.9.33 beta. If I try to connect to it, emacs gives me the following:

C-x C-f
(backspace to clear ~/)
/ftp:
(Emacs pauses, loads TRAMP)
/ftp:josh@site.com:/
RET
(Password prompt)
******
RET
Opening blah...
Something PWD
Warning: Unable to get home directory
Listing /ftp:josh@site.com:/ ...
(Emacs times out at this point)

FTP Logs, from all this:

(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> Connected, sending welcome message...
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> 220 Welcome to SITE FTP server
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> USER josh
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> 331 Password required for josh
(001851) 5/13/2011 8:47:29 AM - (not logged in) (IP)> PASS ********
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 230 Logged on
(001851) 5/13/2011 8:47:29 AM - josh (IP)> SYST
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 215 UNIX emulated by FileZilla
(001851) 5/13/2011 8:47:29 AM - josh (IP)> FEAT
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 211-Features:
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  MDTM
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  REST STREAM
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  SIZE
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  MODE Z
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  MLST type*;size*;modify*;
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  MLSD
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  AUTH SSL
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  AUTH TLS
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  UTF8
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  CLNT
(001851) 5/13/2011 8:47:29 AM - josh (IP)>  MFMT
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 211 End
(001851) 5/13/2011 8:47:29 AM - josh (IP)> PWD
(001851) 5/13/2011 8:47:29 AM - josh (IP)> 257 "/" is current directory.
(001851) 5/13/2011 8:47:30 AM - josh (IP)> CWD /
(001851) 5/13/2011 8:47:30 AM - josh (IP)> 250 CWD successful. "/" is current directory.
(001851) 5/13/2011 8:47:30 AM - josh (IP)> PWD
(001851) 5/13/2011 8:47:30 AM - josh (IP)> 257 "/" is current directory.
(001851) 5/13/2011 8:47:31 AM - josh (IP)> EPSV
(001851) 5/13/2011 8:47:31 AM - josh (IP)> 229 Entering Extended Passive Mode (|||4991|)
(001851) 5/13/2011 8:48:45 AM - josh (IP)> EPRT |1|IP|50076|
(001851) 5/13/2011 8:48:45 AM - josh (IP)> 200 Port command successful
(001851) 5/13/2011 8:48:45 AM - josh (IP)> disconnected.

The strange thing is that I can use FireFTP or FileZilla from OSX and it works just fine. It just seems to be something weird with Emacs / TRAMP / AngeFTP. Also, the Ubuntu that I'm using Emacs in is sharing /literally/ the exact same Emacs config file, from a Dropbox folder ( (load "~/Dropbox/Prefs/emacsprefs") ), so I can't imagine it's a difference in setup config.

Thanks a lot guys!

EDIT: Also, if it matters, the OSX firewall is disabled ATM, and Windows has exceptions for 21, 22, and 990.

EDIT 2: It will re run through the loop of connecting, but the FileZilla logs don't always end the same way. Here are a few of the 'endings', before it goes back to sending welcome message:

(001851) 5/13/2011 8:47:31 AM - josh (IP)> 229 Entering Extended Passive Mode (|||4991|)
(001851) 5/13/2011 8:48:45 AM - josh (IP)> EPRT |1|IP|50076|
(001851) 5/13/2011 8:48:45 AM - josh (IP)> 200 Port command successful
(001851) 5/13/2011 8:48:45 AM - josh (IP)> disconnected.

(001855) 5/13/2011 8:52:37 AM - josh (IP)> EPSV
(001855) 5/13/2011 8:52:37 AM - josh (IP)> 229 Entering Extended Passive Mode (|||1388|)

(001856) 5/13/2011 8:53:53 AM - josh (IP)> EPSV
(001856) 5/13/2011 8:53:53 AM - josh (IP)> 229 Entering Extended Passive Mode (|||1471|)
(001856) 5/13/2011 8:53:55 AM - josh (IP)> disconnected.
(001855) 5/13/2011 8:54:37 AM - josh (IP)> 421 Connection timed out.
(001855) 5/13/2011 8:54:37 AM - josh (IP)> disconnected.

Best Answer

I'm not sure but are you using a firewall?(not personal firewall on a PC but a router or a proxy)

I had an experience that my firewall router couldn't understand EPSV/EPRT command as the firewall was a bit old one. MacOSX uses EPSV/EPRT for its default. To avoid that, just typing 'epsv' can switch to normal passive mode. One thing I'm curious is that the server returns status "Port command successful" even though the client required a passive mode...