uboot下nfs下载瞬间完成done,却没有下载进去的错误的一种可能解决方案。基于正点原子i.mx6ull开发板uboot

前言:

如果你只想快速的解决问题,只需要先看问题分析中的“我的情况”和你的问题匹配,如果情况不一样本文可能对你的问题没有帮助,如果匹配,就看问题速通,来解决问题即可。

一、问题速通

(1)当windows服务中的Routing and Remote Access服务运行时,nfs进行下载。

(2)当上述服务关闭时,再进行下载

可见,如果你只想解决这个问题,只需要把windows服务中的Routing and Remote Access服务设置为禁止,并且停止运行,即可完成下载。问题到这里就解决了,如果你想了解一下我的解决过程,请看下面。

这里附一篇禁用服务的文章:虚拟机ping开发板出现dup,解决方法_wsl ping主机时,主机回复dup-CSDN博客

二、问题分析

在进行uboot下nfs下载实验的时候,发现nfs会瞬间下载完成,且没有错误提示。查看所指定的内存发现并没有下载进去任何字节。然后查找网上的解决方案,大概有以下几种:

  1. 没有正确配置/etc/exports文件中的共享目录
  2. 所使用的ubuntu版本太高,所安装的nfs不支持开发板自带的2.0版本
  3. windows和ubuntu下的防火墙没有关
  4. 网络设置的不对,不在同一网段,这样的话是互相ping不通的,也不是本文的情况
  5. uboot环境变量设置的不对

这些我都尝试了,发现并没有用,这些操作所解决的问题一般情况nfs会报错,不能挂载或者TTT超时这些,我下载的时候并没有报错。如果你的nfs报错了,就不是本文要说的情况。

我的情况:

  1. 开发板,虚拟机,windows三者都可以互相ping通,uboot下板子可以ping通虚拟机
  2. uboot下tftp可以正常下载文件
  3. 开发板进入了linux系统,可以使用nfs正常挂载文件夹
  4. 开发板进入linux后,和虚拟机互相ping,二者都会出现DUP重复错误
  5. 不属于上述5条情况

如果你和我的情况一样,本文有可能会帮助到你。

三、解决方案

在我重新安装虚拟机,配置网络环境的时候,发现了如下问题。

在开发板ping虚拟机时

在虚拟机ping开发板时

可以看到,可以互相ping通,但是没一次发送ping包,就会多收到3条重复的包(DUP错误),这也就是问题出现的地方。我在网上找到这个的解决方案,然后nfs在uboot下下载的问题也被解决了。

关闭服务之后再ping,就没有DUP重复错误了

这篇文章:虚拟机ping开发板出现dup,解决方法_wsl ping主机时,主机回复dup-CSDN博客

注意这里在windows下ping是不会重复的,因为会自动舍弃重复的包。而开发板和虚拟机则不会。

这就是造成nfs无法下载进去内容,还不报错的问题。看似毫不相干的两个问题,却有着内在联系。

这就是本次debug的所有经过。谢谢大家的观看,一起学习进步。

  • 37
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值