超过tftp重试超时

时间:2012-10-05 05:56:17

标签: tftp

当我通过TFTP将内核映像下载到Econa处理器板(Econa是基于ARM的处理器)时,我的问题是重试次数超过

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 

以下是可帮助您找到此错误原因的要点。

  1. Ping响应没问题

    CNS3000 # ping 192.168.0.219 
    MAC PORT 0 : Initialize bcm53115M 
    MAC PORT 2 : Initialize RTL8211 
    host 192.168.0.219 is alive 
    
  2. 当我尝试验证TFTP正在运行时,我尝试如下所示。好像TFTP服务器正在运行。我在/tftpboot中放了一个小文件:

    # echo "Hello, embedded world" > /tftpboot/hello.txt"
    

    然后我做了localhost

    # tftp localhost
    tftp> get hello.txt
    Received 23 bytes in 0.1 seconds
    tftp> quit
    
  3. 请注意我的机器上没有防火墙或SELinux。

  4. 请验证这些文件的位置是否正常。我已将bootpImage.cns3420.uclibc服务文件中的内核映像文件/tftpbootTFTP放在/etc/xinetd.d/tftp中。

  5. 我的TFTP服务文件是:

    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. U-boot中的
  7. printenv响应是:

    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 
    

    环境大小:437/4092 bytes

  8. 此致 Waqas

1 个答案:

答案 0 :(得分:0)

加载:T T T T T T T T T T

意味着根本没有转移;这可能是由错误的界面设置引起的,即 u-boot配置为100Mbit全双工,您尝试通过半双工或10Mbit(或某些混合)进行连接。另一点是MTU大小,应该是1500(u-boot无法处理数据包碎片)

提示windows / vmware用户:

来自u-boot的tftp超时是由windows ip-forwarding引起的。

1)如果您有家庭网络:切换它。 2)您正在运行路由和远程访问服务:关闭服务 3)检查注册表的ip转发:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter

将值设置为0(可能重启)