2

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.

Geoffrey
  • 273
  • 1
  • 4
  • 12

7 Answers7

2

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.

1

Looks like the answer is right in the question:

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

It's a problem with the TFTP server. Fix it there.

MikeyB
  • 39,291
  • 10
  • 105
  • 189
1

not experienced with Windows TFTP servers, but with tftpd-hpa on Debian and the built in TFTP server on Mac OS X, I found I had to create the file first, make it world writable and then push the tftp file from IOS.

Then it worked.

Squeeb
  • 11
  • 1
0

You may have to specify some or part of the TFTP-server-side path in your Cisco command. I haven't done this in a while. But I recall having a TFTP server that had rules that you could only write into a sub directory. So its TFTP dir was home'd in like /usr/tftp and writing was only permitted into /usr/tftp/incoming and, (this doesn't seem to be a problem in your case,) it only let you write onto existing files. So I had to 'touch' a file (eg, 'cisco.config' in my example here,) on the TFTP server first too. Then on the Cisco I had to say...

copy conf tftp
host.example.com
incoming/cisco.config

...so my "answer" is: check that your specifying any relative path that the TFTP server expects. Other TFTP clients might be doing that behind the scenes for you . . .

  • Interesting I'm getting down voted for suggesting the problem might with the path he's specifying on the Cisco's TFTP command. OP states the TFTP server works from other TFTP clients. People are upvoting the answer that misses this aspect of OP's description? Curiouser and curiouser. – Craig Constantine Nov 08 '11 at 18:31
0

Have you tried the deprecated write net to copy to TFTP?

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
Fred
  • 1
0

Did you delete

C:\TFTP-Root\t

before TFTP copy ?

It looks that file is already exist and it's locked by other process, so TFTP can not rewrite it.

0

set the interface, you are using for tftp as source interface. Here is the command,

#ip tftp source-interface gigabitEthernet 0/0
Babasaheb
  • 31
  • 2
  • 10