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

news/2024/10/3 18:40:34

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

        跟随正点原子教程测试以太网端口时,即便按照步骤多次尝试也无法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,才知道了原因


https://dhexx.cn/news/show-5426800.html

相关文章

TypeScript异常处理

1.异常的概念 程序运行中意外发生的情况就成为异常 例子: //除法运算function chu(num1:number,num2:number){if(num20){//throw 抛出异常throw new Error(除数不能为零)}let num:numbernum1/num2console.log(num) }//程序出现异常后会停止运行// 捕获异常try{ /…

新手教学系列——非正常关机导致MySQL权限表(db)损坏及修复详解

在使用MySQL的过程中,我们常常会遇到一些问题,尤其是当服务器或主机非正常关机或重启时,MySQL的某些表,特别是权限表(如 mysql.db 表),可能会损坏,导致数据库无法启动或访问。这种情况对生产环境的数据库系统来说是相当严重的,因此掌握修复方法非常重要。 本篇文章将…

代码签名证书快速申请指南

申请代码签名证书是确保软件或应用程序在分发和安装过程中不被篡改的重要步骤。以下是详细的快速申请指南: 一、选择证书品牌和服务商 选择知名证书品牌:首先,选择一个国际知名的代码签名证书品牌,如GlobalSign、Digicert、Comod…

表格识别技术在处理复杂表格时,有哪些挑战和解决方案?

表格识别技术在处理复杂表格时面临的挑战主要包括: 1.多样化表格格式处理:表格可以是规则的或不规则的,可能包含旋转、扭曲等变形。此外,表格的边框可能完整或不完整,甚至完全没有边框。这些多样化的格式使得表格识别…

Electron 图标修改

目录 1. 图片基本要求 2. 在main.js中配置icon 位置 ​3. 在package.json 中配置icon 位置 4. 问题:左上角图片 开发环境下显示,生产环境下不显示 1. 图片基本要求 图片格式为ico,图片像素像素为256*256; 将ico文件放在pub…

oracle表的类型

表是数据库最基本的逻辑结构,一切数据都存放在表中,其它数据库对象(索引、视图、同义词等)都是为了更方便的操作表中的数据。Oracle数据库是由若干个表组成,每个表由列和行组成。 数据库表的类型按照存储结构划分: (1)普通表&…

【学习笔记】SSL/TLS证书安全机制之证书透明

1、概念 CT - Certificate Transparency,证书透明 2、Trying to Solve 如果意外的 CA 为我们的域名颁发证书,我们是不可见,这就是证书透明(CT)要解决的问题 3、How CT Works 任何CA机构颁发的所有证书的公共登记处&…

golang操作mysql利器-gorm

1、傻瓜示例 GORM通过将数据库表中的数据映射到面向对象的模型中,简化了数据库操作,使得开发者可以很方便的使用代码来操作数据库,而无需编写SQL语句。 目前有个mysql表:miniprogram_orders,其存储了所有用户对应的订…

Vue3DevTools是如何在vscode定位指定文件位置的?

Vue3DevTools是如何在vscode定位指定文件位置的? 背景 今天在使用vue脚手架创建项目的时候,并发现一个新的(实验中的新功能),可以直接在我们的项目中集成Vue DevTools插件,浏览器插件devtools即将成为历史…

二级等保测评中安全物理环境的重要性及高危项分析

当今数字化时代,信息安全至关重要。网络安全等级保护测评是确保信息系统安全稳定运行的重要手段之一,其中二级等保测评对于许多企业和组织来说是必须要达到的安全标准。 而安全物理环境作为等保测评的重要组成部分,其重要性不容忽视。 安全物…