问题定位 uboot下无法ping通tftpserver

13 篇文章 2 订阅
7 篇文章 0 订阅

现象
  单板启动, uboot进入命令行模式, 无法ping通tftpserver
 
    #ping 10.100.10.111
    Speed: 100, full duplex
    Using ethernet@xxx device

    ARP Retry count exceeded; starting again
    ping failed; host 10.100.10.111 is not alive

定位过程
  1 交叉对比实验,发现同事的电脑能够ping通,并且能够通过tftpserver下载文件
    #ping 10.100.10.112
    Speed: 100, full duplex
    Using ethernet@xxx device
    host 10.100.10.112 is alive
    
    于是参考同事的tftpserver配置自己重新配置tftpserver服务, 重启服务和重启电脑发现仍然无法ping通
    
  2 当天没有解决问题,第二天 找同事试了一下从我的tftpserver下载文件,发现能够下载成功,确认我的新配置的tftpserver没有问题。说明问题还是出在网络上面。昨天排查过电脑确认防火墙已经关闭。
  3 记得昨天和前天的时候,发现uboot进入linux之后,我是能够通过ssh和scp访问单板的。同事帮忙排查了一下网络。发现同事的电脑和单板是通过一个小的路由器接入到网络的。而我的电脑是直接接入到网络的。于是我尝试将我的网卡接到小路由器上。接入之后然后进行测试,发现网络OK,能够ping通我的电脑。
    #ping 10.100.10.111
    Speed: 100, full duplex
    Using ethernet@xxx device
    host 10.100.10.111 is alive

结论
  根据同事介绍,小的路由器有自己的路由,uboot阶段需要配置网关,否则无法透传路由器。
 
拓展
  排查类似的问题,应该分成两个阶段
  1 网络问题
    排查网络拓扑走线,单板和设备尽量在一个交换机或者路由器,甚至直连。
    关闭防火墙。
  2 tftpserver问题
    自己尝试tftp下载文件, 别人尝试tftpserver下载文件。
    
实验
  1 关闭tftpserver后, uboot是否能够ping通电脑
        $ sudo service tftpd-hpa restart
        $ sudo service tftpd-hpa shutdown
        Usage: /etc/init.d/tftpd-hpa {start|stop|restart|force-reload|status}
        $ sudo service tftpd-hpa stop
        $ tftp 10.100.10.111
        tftp> get uImage
        Transfer timed out.
    
    切换到uboot命令行下
        #ping 10.100.10.111
         Speed: 100, full duplex
          Using ethernet@xxx device
          host 10.100.10.111 is alive
    结论:能够ping通
      
  2 打开防火墙, uboot是否能够ping通电脑
        $ sudo ufw status
        [sudo] zhanglin 的密码:
        状态:不活动
        $ sudo ufw enable
        在系统启动时启用和激活防火墙
        $ sudo ufw status
        状态: 激活

        至                          动作          来自
        -                          --          --
        20                         ALLOW       Anywhere                  
        20 (v6)                    ALLOW       Anywhere (v6)     
      
    切换到uboot命令行下
          #ping 10.100.10.111
        Speed: 100, full duplex
        Using ethernet@xxx device
        host 10.100.10.111 is alive
    
    结论:能够ping通
    
    再尝试下载文件
        #tftpboot 0x80300000 uImage
        Speed: 100, full duplex
        Using ethernet@xxx device
        TFTP from server 10.100.10.111; our IP address is 10.100.10.113
        Filename 'uImage'.
        Load address: 0x80300000
        Loading: T T T T T T T T
        Abort
    下载失败
    
    重新关闭防火墙
        $ sudo ufw disable
        防火墙在系统启动时自动禁用
        $ sudo ufw status
        状态:不活动
    
    切换到uboot命令行下
        #tftpboot 0x80300000 uImage
        Speed: 100, full duplex
        Using ethernet@2820c000 device
        TFTP from server 10.100.10.111; our IP address is 10.100.10.113
        Filename 'uImage'.
        Load address: 0x80300000
        Loading: #################################################################
             #############################################################
             888.7 KiB/s
        done
        Bytes transferred = 30593600 (1d2d240 hex)
    下载成功
    结论:关闭防火墙,tftpserver下载文件失败

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值