问题——IMX6UL的uboot无法ping主机或Ubuntu

news2024/11/16 0:56:44

       主要描述可能的方向,不涉具体过程,详细操作可以查阅网上相关教程

        跟随正点原子教程测试以太网端口时,即便按照步骤多次尝试也无法ping通,后补充了些许网络工程基础知识解决了这个问题。

        uboot无法ping主机或Ubuntu有多种可能,我所知的有以下几种情况

——物理上未连接或连接松动

——防火墙没有关

——uboot的ip地址、子网掩码等配置错误

——…………

        这次我所遇到的是第三种,这种情况比较复杂,有可能是虚拟机或主机网络配置错误、ip地址和子网掩码找错等。我描述一下我的连接情况,开发板通过网线连接到笔记本上,笔记本桥接Ubuntu,同时笔记本连接手机上的热点(就是WiFi)供上网

        正是由于我的这种配置,导致了开发板与Ubuntu无法通信,简单来说就是开发板是直接连接到主机的,而非Ubuntu,所以开发板与Ubuntu所用的不一定是同一个网络接口,也不一定是同一个网段。直接跳到【目录一下面的3】

一、检测配置

1、检测虚拟机联网

        在主机联上网的情况下(有线、无线都无所谓),在Ubuntu里直接打开火狐浏览器,然后随便点击一个网页,比如百度,看看能不能正常联网

        如果不能的话,那么就要检查下面配置是否正常

①网络适配器

②虚拟网络编辑器

         这个一般不用改,如果不小心改错了就点击【更改设置(C)】,进入下面窗口,然后点击【还原默认设置(R)】

③Ubuntu网络配置

        输入ifconfig后,正常情况下会出现下面信息,此时你可以看到inet 后的ip地址、netmask后的子网掩码等。

         如果不能的话,那么就要检查一下Ubuntu的network有没有改掉什么。由于我有时使用手机热点,有时使用以太网,有时使用公共WiFi,网关经常改变,所以配置成了动态分配。

        不过Ubuntu的network一般不会出现不显示ip地址的情况,此时可以尝试到虚拟网络编辑器里还原默认设置,然后重启Ubuntu。更严重的可能是VMware的网络方面的工具安装错误等

2、主机与虚拟机互相通信

    主机与虚拟机互相ping,如果不成功,首先要检测防火墙有没有关。如果防火墙关了仍会出现问题,那么要检查虚拟机与Ubuntu是否处于同一个网段,比如主机ip为192.168.116.140,那么虚拟机应为192.168.116.xx。可以选择动态分配,会自动生成同一个网段的ip地址

3、Uboot与主机通信

①基础知识

        在终端里输入ipconfig会出现一下信息,不同的网络适配器下会有不同的ip地址,以不同方式访问笔记本时,笔记本呈现的是对应方式下网络适配器的ip地址。比如笔记本连接上手机热点,此时用的是无线局域网适配器 WLAN,那么笔记本的ip地址是192.168.116.149,手机可以通过这个ip地址与笔记本通信。

        要注意的是,如果你使用桥接模式,并且虚拟网络编辑器里桥接模式设置的是自动,那么虚拟机就会自动匹配能连上网的网络适配器。所以此时我的Ubuntu的网段是192.168.116.0/24

         这里我们只看以太网适配器 以太网(注意,不是VM的网络适配器),因为开发板是通过网线直接连接笔记本的以太网端口。

         此时我们可以看到的是ip地址为169.254.10.236,子网掩码是255.255.0.0,通过子网掩码可以知道网段是169.254.0.0/16,那么ip地址可以设为169.254.xx.xx,而不是192.168.10.xx

②尝试主机与uboot通信

        那么就可以在uboot里把ip地址和子网掩码给改了,网关gatewayip和服务器地址serverip不改也不会影响uboot向主机通信

         改完重启开发板后,再去ping主机,一般来说这一步是可以正常ping,不会出现什么问题(要注意,这是单向通信,主机是不能ping通uboot的)

二、解决

1、_

2,_

3,创建新的网络接口

        前面提到,由于Ubuntu与开发板分别处于无线局网络接口和以太网接口两个不同的网络接口且不是同一个网段,所以是无法直接通信的(默认是无法通信的,可以添加路由规则什么的)。所以给Ubuntu添加一个网络接口就行了。

        具体操作见教程Ubuntu和IMX6ULL开发板网络通讯-配置方法

简单来说就是桥接模式供开发板通信,NAT供上网,因为桥接模式可以选择不同的网络适配器,而仅主机模式和NAT模式分别绑定了VMnet0和VMnet8

        直接添加一个NAT网口、桥接选为以太网适配器时会出现下面信息,可以见到的是ens33(不同人的显示可能不同)这个代表是桥接模式的网口,ens37表示的是NAT网口。其中ens33由于动态分配ip地址,而此刻以太网端口连接的是开发板,自然没有网关,那么也就不会分配有效的ip地址

 所以需要自己手动设置ip地址和子网掩码,网关可以不用设,需要格外注意开发板主机虚拟机必须在同一个子网内。此外,还需要牢记一点,在同网口有连接的情况下,只要在同一个子网内,那么它们三者就一定能通信,不管它们的ip是192.168.10.x还是10.236.x.x亦或者是什么别的形式

        我在用Ubuntu桥接模式过程中,经常会遇到动不动就把设置的端口给关掉的情况(可能是因为我设的ip不是192.168.10.x?),这会导致uboot去ping主机时可以ping通,但是去ping虚拟机时失败,这一点要留意

 下图是用uboot去ping主机(169.254.10.236)时能ping通,但去ping同一子网下的Ubuntu时却没ping通,检查一遍才发现Ubuntu对应网口被关了,于是打开后重新用uboot去ping虚拟机(169.254.10.100)就成功了

 

        在ping的过程中,uboot可以单向ping主机或虚拟机,反之不行。主机与虚拟机可以正常互ping,只不过虚拟机去ping主机时,会时不时等间隔出现DUP这种报文

 

 

 只有开发板去ping虚拟机时,虚拟机才能ping通开发板【已解决】

 后来翻到这篇博客嵌入式Linux--正确设置网络使开发板ping同Ubuntu,才知道了原因

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二分查找算法(3) _x的平方根

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 二分查找算法(3) _x的平方根 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 温馨…

简易CPU设计入门:取指令(一),端口列表与变量声明

取指令这一块呢,个人觉得,不太好讲。但是呢,不好讲,我也得讲啊。那就尽量地讲吧。如果讲得不好的话,那么,欢迎大家提出好的意见,帮助我改进讲课的质量。 首先呢,还是请大家去下载本…

面试官:Spring是如何解决循依赖问题?

Spring 的循环依赖一直都是 Spring 中一个很重要的话题,一方面是 Spring 为了解决循环依赖做了很多工作,另一个方面是因为它是面试 Spring 的常客,因为他要求你看过 Spring 的源码,如果没有看过 Spring 源码你基本上是回答不了这个…

pytorch的动态计算图机制

pytorch的动态计算图机制 一,动态计算图简介 Pytorch的计算图由节点和边组成,节点表示张量或者Function,边表示张量和Function之间的依赖关系。 Pytorch中的计算图是动态图。这里的动态主要有两重含义。 第一层含义是:计算图的…

“吉林一号”宽幅02B系列卫星

离轴四反光学成像系统 1.光学系统参数: 焦距:77.5mm; F/#:7.4; 视场:≥56゜; 光谱范围:400nm~1000nm。 2.说明: 光学系统采用离轴全反射式结构,整…

解密的军事卫星图像在各种民用地理空间研究中都有应用

一、美军光学侦察卫星计划概述 国家侦察局 (NRO) 负责开发和操作太空侦察系统,并为美国国家安全开展情报相关活动。NRO 开发了几代机密锁眼 (KH) 军事光学侦察卫星,这些卫星一直是美国国防部 (D…

人工智能不是人工“制”能

文/孟永辉 如果你去过今年在上海举办的世界人工智能大会,就会知道当下的人工智能行业在中国是多么火爆。 的确,作为第四次工业革命的重要组成部分,人工智能愈发引起越来越多的重视。 不仅仅是在中国,当今世界的很多工业强国都在将…

python爬虫案例——异步加载网站数据抓取,post请求(6)

文章目录 前言1、任务目标2、抓取流程2.1 分析网页2.2 编写代码2.3 思路分析前言 本篇案例主要讲解异步加载网站如何分析网页接口,以及如何观察post请求URL的参数,网站数据并不难抓取,主要是将要抓取的数据接口分析清楚,才能根据需求编写想要的代码。 1、任务目标 目标网…

Win10 安装Node.js 以及 Vue项目的创建

一、Node.js和Vue介绍 1. Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它允许你在服务器端运行 JavaScript,使得你能够使用 JavaScript 来编写后端代码。以下是 Node.js 的一些关键特点: 事件驱动和非阻塞 I/O:Node…

list(一)

list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一个元素和后一个元素。 支持 -- 但是不支持…

Linux:终端(terminal)与终端管理器(agetty)

终端的设备文件 打开/dev目录可以发现其中有许多字符设备文件,例如对于我的RedHat操作系统,拥有tty0到tty59,它们是操作系统提供的终端设备。对于tty1-tty12使用ctrlaltF*可以进行快捷切换,下面的命令可以进行通用切换。 sudo ch…

校园热捧的“人气新贵”,D 咖智能饮品机器人

在 2024 年的校园中,一股全新的潮流正在悄然兴起。D 咖智能饮品机器人以其独特的魅力,成功入驻多个校园,迅速成为学生们热烈追捧的对象,在长江大学、荆州职业技术学院、中医高专等多个大学校园,都能发现他们靓丽的身姿…

calibre-web报错:File type isn‘t allowed to be uploaded to this server

calibre-web报错:File type isnt allowed to be uploaded to this server 最新版的calibre-web在Upload时候会报错: File type isnt allowed to be uploaded to this server 解决方案: Admin - Basic Configuration - Security Settings 把…

投资学 01 定义,投资

02. 03. 3.1 直接投资:使用方和提供方是一个人

VUE3学习---【一】【从零开始的VUE学习】

目录​​​​​​​ 什么是Vue 渐进式框架 创建一个Vue应用 什么是Vue应用 使用Vue应用 根组件 挂载应用 模板语法 文本插值 原始HTML Attribute绑定 简写 同名简写 布尔型Attribute 动态绑定多个值 使用JavaScript表达式 仅支持表达式 指令 Directives 指令…

COLORmap

在这段MATLAB代码中,surf(peaks)、map的定义以及colormap(map)的调用共同完成了以下任务: 1. **绘制曲面图**: - surf(peaks):这个函数调用了MATLAB内置的peaks函数来生成数据,并使用surf函数将这些数据绘制成一个…

双向链表:实现、操作与分析【算法 17】

双向链表:实现、操作与分析 引言 双向链表(Doubly Linked List)是链表数据结构的一种重要形式,它允许节点从两个方向进行遍历。与单向链表相比,双向链表中的每个节点不仅包含指向下一个节点的指针(或引用&…

蓝桥杯嵌入式的学习总结

一. 前言 嵌入式竞赛实训平台(CT117E-M4) 是北京国信长天科技有限公司设计,生产的一款 “ 蓝桥杯全国软件与信息技术专业人才大赛-嵌入式设计与开发科目 “ 专用竞赛平台,平台以STM32G431RBT6为主控芯片,预留扩展板接口,可为用户提…

数据结构篇--顺序查找【详解】

概念章 查找就是在数据集合中寻找某种条件的数据元素的过程。 查找表是指用于查找同一类型的数据元素集合。 找到了满足条件的数据元素,就是查找成功,否则就是称为查找失败。 关键字是指数据元素的某个数据项的值,可用于标识或者记录&…

【Java】线程暂停比拼:wait() 和 sleep()的较量

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在Java多线程编程中,合理地控制线程的执行是至关重要的。wait()和sleep()是两个常用的方法,它们都可以用来暂停线程的执行,但它们之间存在着显著的差异。本文将详…