2012-10-05 124 views
1

我的问题是重试当我下载内核映像到Econa处理器板(Econa是基于ARM处理器)通过TFTP如下图所示TFTP重试超时超过

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. 平响应是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. 当我试图验证TFTP正在运行,我试图如下所示。看来TFTP服务器正在工作。我把一个小文件/tftpboot

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

    然后我做了本地主机

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

  4. 请确认这些文件的位置是否正确。我已经放入内核映像文件bootpImage.cns3420.uclibc 服务文件位于/etc/xinetd.d/tftp

  5. 我TFTP服务文件是:在的U-boot

    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的回应是:

    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

问候 Waqas

+0

如果你能解决这个问题?我面对使用相同PHY芯片的香蕉pi的同样问题。我的tftp工作正常,因为我使用beagle骨黑或其他板都很好。 –

回答

0

载入中:T 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转发引起的。

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

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

设定值为0(也许重启)