2012-10-05 64 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(也許重啓)