Determining problems with File Transfer Protocol

If you detect a problem when using File Transfer Protocol (FTP), use the flow chart and cause lists in this topic to identify the cause of the problem.

Figure 1. FTP problem analysis
FTP problem analysis flow chart

Cause list A

  1. Is there a long delay between connecting to the IBM® i FTP server and receiving a prompt for a user ID? If so, check the configuration of the Domain Name System (DNS) on your system. The FTP server performs a DNS query as soon as a new connection is received. DNS problems can cause the system to hang for several minutes before a response is received.
  2. Check to see if an exit program has been added to the FTP Server Logon exit point. If yes, then check if the logon that is unsuccessful is allowed by the exit program.
  3. Check to see if the remote logon requires a password if a password was requested. Some systems request a password, but the connection can fail because it is not required.
  4. Set up a password on the remote system if required. You might need to restart if you change the security information about the system.
  5. Check your user ID and password by attempting to sign on to your remote system. If you are unable to do so, contact the system owner to verify that your user ID and password are correct.

Cause list B

  1. Make sure binary mode is in effect if you are transferring binary files.
  2. Check to be sure the mapping tables on both the client and server are compatible. You need only to do this if you are using your own mapping tables.
  3. Check to see that the correct CCSID has been specified for the transfer. If not, use the TYPE or LTYPE subcommand to set the correct CCSID value before the transfer is performed.
  4. Create a file on the system that you are planning to store data into. Set the proper record length, number of members, and number of increments. Try the data transfer again and verify that it was successful.
  5. Make sure that you are authorized to use the file and the file members.
  6. Check to see if the transfer file contains packed decimal or zoned decimal data.
  7. If you are transferring a Save file, verify that the appropriate method was used.

Cause list C

  1. Check file size limits on the remote system.
  2. Check to see if the FTP server timer ended. The system timeout value can be set using the QUOTE TIME command.
  3. Use the NETSTAT command to verify that the *LOOPBACK interface is active. Then re-create the problem doing FTP LOOPBACK (IBM i platform to IBM i platform internally).
    • If you cannot re-create the problem, it is probably a remote system problem.
    • If you can re-create the problem, complete the following steps:
      1. If the problem is an FTP server problem, then start the FTP server trace using the Trace TCP/IP Application (TRCTCPAPP) command.
      2. Create the problem again.
      3. End the FTP connection. Refer to the Starting and stopping the FTP server topic.
      4. End the FTP server trace using the TRCTCPAPP command.
      5. Find a spooled file with the following characteristics:
        • The file name is QTMFFTRC
        • The user name associated with the file is the name of the user who issued the TRCTCPAPP command.

        The trace is a spooled file in the default output queue of the system that is associated with the FTP server job.

      6. Send in that spooled file.
      7. If the problem is on the FTP client, a trace can be obtained using the DEBUG 100 client subcommand.
      8. When running the FTP client interactively, use the F6 (Print) key to create a spooled file that contains a history of the FTP client subcommands entered, and the associated FTP server replies. When the FTP client is run in batch unattended mode, then this history of subcommands and FTP server replies are written to the specified OUTPUT file.