LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Embedded & Single-board computer (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/)
-   -   TFTP retry count exceeds (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/tftp-retry-count-exceeds-4175430611/)

waqas_shafique 10-05-2012 12:36 AM

TFTP retry count exceeds
 
My issue is retry count exceeds when I download kernel image to Econa processor board (Econa is ARM based processor) via TFTP as shown below

CNS3000 # tftp 0x4000000 bootpImage.cns3420.uclibc
MAC PORT 0 : Initialize bcm53115M
MAC PORT 2 : Initialize RTL8211
TFTP from server 192.168.0.219; our IP address is 192.168.0.112
Filename 'bootpImage.cns3420.uclibc'.
Load address: 0x4000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again



Following are the points which may help you in finding the cause of this error.


1. Ping response is OK

CNS3000 # ping 192.168.0.219
MAC PORT 0 : Initialize bcm53115M
MAC PORT 2 : Initialize RTL8211
host 192.168.0.219 is alive

2. When I tried to verify TFTP is running , I tried as shown below. It seems TFTP server is working

I placed a small file in /tftpboot
# echo "Hello, embedded world" > /tftpboot/hello.txt"

Then I did localhost

# tftp localhost
tftp> get hello.txt
Received 23 bytes in 0.1 seconds
tftp> quit

3. Please note that there is no firewall or SELinux on my machine.

4. Please verify location of these files are OK.
I have placed kernel image file bootpImage.cns3420.uclibc in /tftpbootTFTP service file is located in /etc/xinetd.d/tftp




5. My TFTP service file is

service tftp
{
socket_type =dgram
protocol=udp
wait=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-s /tftpboot -b 512
disable=no
per_source=11
cps=100 2
flags=ipv4
}

6. Printenv response in U-boot is

CNS3000 # printenv
bootargs=root=/dev/mtdblock0 mem=256M console=ttyS0
baudrate=38400
ethaddr=00:53:43:4F:54:54
netmask=255.255.0.0
tftp_bsize=512
udp_frag_size=512
mmc_init=mmcinit
loading=fatload mmc 0 0x4000000 bootpimage-82511
running=go 0x4000000
bootcmd=run mmc_init;run loading;run running
serverip=192.168.0.219
ipaddr=192.168.0.112
bootdelay=5
port=1
bootfile=/tftpboot/bootpImage.cns3420.uclibcl
stdin=serial
stdout=serial
stderr=serial
verify=n

Environment size: 437/4092 bytes







Regards
Waqas

theNbomr 10-05-2012 04:53 PM

Try running a commandline tftp client (tftp) against the tftp server. If possible, try it from the same host you're trying to boot, or at least on the same network cable. TFTP's error handling is primitive (trivial) compared to more advanced file transfers, so if the network is flakey, it may be simply giving up where other protocols would survive.

--- rod.

waqas_shafique 10-13-2012 04:36 AM

The problem solved. There was an issue with my TFTP configuration file.

The file that worked is

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}


All times are GMT -5. The time now is 05:02 PM.