Why is port command sent when using pasv?

Today our ftp stopped working. We're looking at the packet dumps to figure out why and it seems that communication does like this:

open connection to port 21
login
change directory

list contents
-causes port command to be ran but Im in pasv mode.
Since the port command causes the ftp server to open a connection to the client, the firewall is blocking it. If using pasv, why is a port command issues as well?


257 "/" is current directory.
CWD /ws01dev_wwwroot
250 CWD command successful.
PWD
257 "/ws01dev_wwwroot" is current directory.
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode (10,90,1,82,13,24).
Opening data connection IP: 10.90.1.82 PORT: 3352.
The operation completed successfully.
PORT 10,102,0,97,16,223
200 PORT command successful.
Opening data connection IP: 10.102.0.97 PORT: 4319.
LIST -aL
150 Opening ASCII mode data connection for /bin/ls.
**** here it just hangs forever, and this is where the server tries to open a tcp connection on the PORT command specified port, and is blocked byt he firewall.

Any ideas?
Thanks!

I've got the exactly same problem! Everything ran well till today. Now seriously the firewall or something is blocking the connection to the server. Everything it slowed down like... i dont know. I'm having fast connection on other server!