Cisco “copy startup-config tftp” results in a 0 byte file on the server

ciscocisco-asatftp

I'm pulling my hair out figuring this out. My startup-config is good, I can view it with a show command. I'm trying to copy it to a tftp server:

asa5505# copy startup-config tftp

Address or name of remote host []? ipaddress

Destination filename [startup-config]? t
!!
%Error writing tftp://ipaddress/t (Timed out attempting to connect)

On my TFTP server (SolarWinds), I get the following:

binary, PUT. Started file name: C:\TFTP-Root\t
binary, PUT. File Exists, C:\TFTP-Root\t
binary, PUT. Deleting Existing File.
binary, PUT. Interrupted by client, cause: The process cannot access the file 'C:\TFTP-Root\t' because it is being used by another process

I've used tftpd32 with same results. I've tried different servers, even one on the same network as the asa … same results. It'll create a 0 byte file and never do the dump. What's going on? Everything is working normally except for this.

Best Answer

The zero byte indicates that cisco sent the WRQ command to tftp port (69). The file is created at this step. The problem happens after this point.

The server acks from a different port to the cisco client tftp port. Cisco, then, sends the data to this different port.

The problem might be either with the ack not reaching or being rejected by cisco or the server rejecting the first data packet from cisco. The first problem is normally a firewall/acl issue while the second one could also be MTU mismatching. If you set jumbo frames on, cisco will use that for its outgoing traffic, including tftp.