RK3568 学习笔记 : u-boot 下通过设置 env ethact 设置当前工作的以太网设备

news/2024/10/22 12:23:45/

前言

  • 正点原子 :RK3568 开发板 atompi-ca1 默认有两个网口,通过 u-boot mii 命令,可以查看 网口信息
=> mii device
MII devices: 'ethernet@fe010000' 'ethernet@fe2a0000'
Current device: 'ethernet@fe010000'
  • u-boot 下的以太网,不同于 Linux 内核的以太网,默认同时只能有一个用于网络通信,比如 运行 ping 或者 tftp 命令

  • 如果当前网线接的网口,不是默认的网口,就会等待超时,然后自动切换到另一个网口设备上

=> ping 192.168.10.10
ethernet@fe010000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110ethernet@fe2a0000 Waiting for PHY auto negotiation to complete. done
Using ethernet@fe2a0000 device
host 192.168.10.10 is alive
  • 此时可以通过 env printf ethact 查看当前的默认网口,不过 u-boot 重启 reset 后,依旧会还原,因为没有 saveenv 保存 ethact 的设置
=> env print ethact
ethact=ethernet@fe2a0000
  • 如果指定好用于 u-boot 下用于网络通信的网口设备后,就可以使用 mii 查看一下 网络设备信息,并使用 setenv ethact 'ethernet@fe2a0000' 命令,设置 ethact env 环境变量,此时 saveenv,保存一下,重启后,网络通信的接口就会指定到 设置的网口设备。
=> mii device
MII devices: 'ethernet@fe010000' 'ethernet@fe2a0000'
Current device: 'ethernet@fe010000'=> setenv ethact 'ethernet@fe2a0000'=> ping 192.168.10.10
ethernet@fe2a0000 Waiting for PHY auto negotiation to complete. done
Using ethernet@fe2a0000 device
host 192.168.10.10 is alive=> saveenv
Saving Environment to MMC...
Writing to MMC(0)... done

在这里插入图片描述

  • 【备注】 mii device 命令也可以更改当前的网络设备,不过网络通信功能,依赖 ethact env 环境变量,通过 设置 ethact 即可解决多个网口使用指定网口的问题。

小结

  • u-boot env 功能还是比较的方便,灵活设置 env 环境变量,让 u-boot 的启动引导功能更强大,使用更方便。

  • u-boot 网络功能除了设置

=> setenv ipaddr 192.168.10.120
=> setenv netmask 255.255.255.0
=> setenv gatewayip 192.168.10.1
=> setenv serverip 192.168.10.10
  • 如果是多个网口,可以指定一个网口,设置 ethact,比如 setenv ethact 'ethernet@fe2a0000'

http://www.ppmy.cn/news/1458843.html

相关文章

AIGC文生图 flask base64传递多张图片api

flask后端实现: base64.b64encode from flask import Flask, Response, request,send_file from PIL import Image import torch import io from diffusers import PixArtAlphaPipeline import zipfile import base64 import requests import

ArcGIS中SHP转CAD如何分图层以及颜色等(保留属性信息)

很多小伙伴在使用ArcGIS时,想要将SHP图层转成CAD,但结果发现生成的CAD数据在打开时只保留了线条或者面块,其余的属性信息全部丢失,甚至无法做到分层,分颜色。在ArcGIS中想要实现SHP分图层以及颜色转CAD需要对CAD的字段…

Java面试题:解释CompletableFuture在Java 8中的用途,以及如何用它来实现异步编程

CompletableFuture 是 Java 8 中引入的一个类,它提供了一种用于异步编程的框架。它允许你以声明式的方式执行任务,并处理这些任务的结果或异常。CompletableFuture 是 java.util.concurrent 包的一部分,它扩展了 Future 接口,提供…

智能绘画系统源码系统 后台自由设置会员套餐 带网站的安装包以及安装部署教程

在当今数字化与智能化快速发展的时代,艺术与技术正以前所未有的速度相互融合。为了满足广大绘画爱好者和专业艺术家的需求,我们精心打造了一款智能绘画系统源码系统。该系统不仅具备高度的智能化特性,还提供了丰富的后台管理功能,…

​​​​【收录 Hello 算法】4.4 内存与缓存

目录 4.4 内存与缓存 4.4.1 计算机存储设备 4.4.2 数据结构的内存效率 4.4.3 数据结构的缓存效率 4.4 内存与缓存 在本章的前两节中,我们探讨了数组和链表这两种基础且重要的数据结构,它们分别代表了“连续存储”和“分散存储”两种物理…

数据处理学习笔记9

一些其他的函数 “Resize”和“Reshape”的区别主要在于它们对数组元素数量和形状的处理方式不同,以下是详细介绍: “Resize”通常会改变数组的元素数量,在放大数组形状时会用0补全新增的元素,而在缩小数组形状时会丢弃多余的元素…

如何向Linux内核提交开源补丁?

2021年,我曾经在openEuler社区上看到一项改进Linux内核工具的需求,因此参与过Linux内核社区的开源贡献。贡献开源社区的流程都可以在内核社区文档中找到,但是,单独学习需要一个较长的过程,新手难以入门,因此…

【因特网中自治系统内部的路由选择,RIP 进程处理 OSPFOSPF(Open Shortest Path First)最短路径优先协议】

文章目录 因特网中自治系统内部的路由选择RIP(Routing Information Protocol)内部网关协议RIP通告(advertisements)RIP: 链路失效和恢复RIP 进程处理OSPF(Open Shortest Path First)最短路径优先协议OSPF “高级” 特性(在RIP中的…