Solaris Common Messages and Troubleshooting Guide

tftpd: nak: Transport endpoint is already connected


After configuring an Autoclient (Autoclient 2.1 - Solstice Adminsuite 2.3), particularly on a Solaris 2.6 environment, you might get a similar error message on your Server from /dev/console and/or from /var/adm/messages:

tftpd: nak: Transport endpoint is already connected

A subsequent boot net by the Autoclient hangs. For example:

Boot Device:... 
File and Args...

Note -

This error message is difficult to decipher. Also, at this early point in the autoclient's boot, there is a minimum record of the event. To troubleshoot this problem, a snoop of the client, run from another system on the client's subnet, is necessary.


A change was made in the Solaris 2.6 in.tftpd to use sendto(), instead of send(). Because the Solaris 2.5.1 environment uses send() as opposed to sendto(), one workaround would be to copy in.tftpd from a Solaris 2.5.1 to the Solaris 2.6 environment. Another workaround would be to troubleshoot from the server the nonexistent file that it is trying to receive by doing a snoop of the client.

For example (assuming you are using an onboard Ethernet interface):

# snoop autoclient_name

# snoop ethernet_address_of_autoclient_name
In this case, you might get a Trivial File Transfer Protocol (TFTP) read similar to the following:

TFTP Error: access violation
The error tells you that something is wrong within your /tftpboot directory.

For an AUTOCLIENT: The problem lies in the /tftpboot directory of the boot server. Confirm that the HOSTID and HOSTID.ARCH files are linked to the correct inetboot file for your architecture. This is a correct entry for a sun4m system:

81971904 -> inetboot.sun4m.Solaris_2.4 
81971904.SUN4M -> inetboot.sun4m.Solaris_2.4
This is an incorrect entry for a sun4m system:

C753002F -> inetboot.axil4m.Solaris_2.5.1 
C753002F.AXIL4M -> inetboot.axil4m.Solaris_2.5.1
If they are not correct, remove the entry for that particular client in this directory and again add the client with the add_install_client script or through the Solstice tool.

For a JUMPSTART client: The Error: access violation from the server to the client might be an indication that the wrong kernel architecture has been specified in the add_install_client command line. On the server, type these commands:

# cd /cdrom/cdrom0/s0         
# ./add_install_client host_name correct_architecture
The add_install_client script cleans out the incorrect architecture and sets up the install server with the correct architecture to boot the client. If a problem arises using add_install_client, use ./rm_install_client and ./add_install_client with the correct architecture.

All other follow the same path of checking the /tftpboot directory.