嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境

简介: 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境

1.使用USB网卡直连配置网络


1.1 连接方式介绍


1.1.1 硬件资源列表


 百问网imx6ull pro开发板一套

 超六类RJ45网线至少1M长(默认配有)

 直连USB 有线网卡一个(目前测试多款网卡芯片 发现只有此款可以满足我们的日常使用需求)。


1.1.2 连接方式


请参考下图所示,连接独家直USB网卡USB端连接至电脑USB接口,另一端网卡接口插入配套的网线,网线另一端接入如下图所示的开发板网卡位置(只能接下图所示网卡)其它网卡网卡直连没法使用所有功能,连接成功后,请打开电脑启用开发板电源,参考下面 系统IP配置章节逐一配置IP地址来实现三者互通。

1670848525956.jpg


1.2 系统IP配置


1.2.1 windows配置


参考上图连接独家直连 USB网卡至电脑以后,会在设备管理器–>网络适配器下新增一个Realtek USB FE Family Controller 的网络设备(不同的电脑最后的几位字符可能不太一样),确认已经有此设备后可以继续执行下面步骤进行配置IP地址和网段等操作。

1670848544727.jpg

确认好 USB直连网卡名称后,参考下图打开控制面板–>网络和共享中心–>更改适配器设置 准备对独家直连 USB网卡进行IP配置。

1670848555404.jpg

进入网络适配器页面后,参考下图 鼠标左键点击选中 直连 USB网卡设备,选中设备后鼠标右键,在弹出的选项中点击属性按钮,之后在弹出新的属性对话框内 点击 Internet协议版本4(TCP/IPV4) 继续在新弹出的对话框参考下图图示 选中 使用下面的IP地址 输入 IP地址 192.168.5.10 子网掩码 255.255.255.0 默认网关 192.168.5.1 设置完成后,点击确定,会返回到以太网属性界面,继续点击 确定 表示windows下直连 USB网卡的IP已经配置完成。

1670848563938.jpg


1.2.2 常见问题


设备管理器里没有加载出来 Realtek USB FE Family Controller 网络设备

检查vmware是否默认将此设备连接到虚拟机,或提示选择连接到哪里


如果系统没有弹出上图所示窗口,请参考下图所示来查看此 usb网卡设备是否默认已经连接到了ubuntu,如果已连接 请参考下图所示 点击断开与主机的连接。


如果没有出现上述两种情况 但是usb网卡设备 在windows设备管理–>网络适配器内依旧没有新增设备,可能是由于驱动问题,请参考下述步骤检查并安装相应的设备驱动。


检查驱动是否正常安装

由于此usb网卡设备驱动是免驱设备,正常情况系统会自动装载此设备驱动,如没有自动安装驱动,请使用驱动精灵/驱动人生等工具自动安装。


1.2.3 vmware配置


确认windows 直连 USB网卡配置成功后,请参考下图配置vmware 虚拟网络编辑器,参考下图在开始菜单搜索 虚拟网络编辑器 搜索出来后点击Open 打开虚拟网络编辑器 在弹出的 虚拟网络编辑器页面,点击 更改设置 来修改网络配置设置桥接默认连接到 直连 USB网卡。

1670848707793.jpg

1670848714295.jpg

1670848725466.jpg

参考下图所示 点击 桥接模式 在桥接模式下的 已桥接至下拉框 点击 会显示出很多个网卡设备,我们只需要点击选中为 直连 USB网卡名称为Realtek USB FE Family Controller 的网络设备即可,选中后,点击确定即可完成vmware配置。

1670848732413.jpg


1.2.4 ubuntu配置


执行完上述配置直连网卡作为默认的桥接设备后,开打ubuntu虚拟机,在虚拟机关机状态下,点击 编辑虚拟机设置 在弹出的虚拟机设置对话框,点击 网络适配器 设置为如下图所示的桥接默认,设置成功后点击确定,表示已经设置完成,可以 开启虚拟机。

1670848744925.jpg


配置网络适配器为桥接模式后,需要进入ubuntu手动设置默认网卡的IP地址为静态IP,参考下图所示,打开 系统 Setting。

1670848755401.jpg

打开Setting后,在左侧找到 Network 选择栏,点击显示详细内容,之后点击 设置 图标,在弹出的设置界面内,点击 IPV4 切换到 IPV4 设置页面,之后继续点击 Manual 表示自己设置IP地址,在Addresses下的输入框分别填入如下所示的内容,其中 Address写入192.168.5.11 Netmask 写入 255.225.225.0 Gateway 写入 192.168.5.1,填写完成后点击 Apply 应用此设置,之后会弹出一个对话框提示输入 root用户的密码,请参考下图所示。

1670848762951.jpg

在弹出的授权请求对话框 里面输入 root用户的密码 (如果未设置root用户密码 请在ubuntu终端下使用 sudo passwd root命令来设置root用户密码),输入密码后点击 Authenticate 授权,到这里就表示IP地址已经设置成功,之后我们可以在ubuntu终端下输入 ifconfig 命令来查看IP地址是否设置正确。

1670848771250.jpg


1.2.5 开发板设置IP地址


每次开机手动设置IP地址

开发板终端下执行 ifconfig eth0 192.168.5.9 即可设置eth0网卡IP地址为192.168.5.9,设置成功后可以使用 ifconfig命令来查看已设置的IP地址,参考如下命令。

1670848781305.jpg

设置IP为固定静态IP(开机不变) 设置eth0为静态IP地址, 开发板/etc/network/目录下对interfaces文件进行修改 。

[root@100ask:~]# vi /etc/network/interfaces

修改并为如下内容,执行 :wq 保存并退出,执行/etc/init.d/S40network restart 重启网络服务。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
 address 192.168.5.9
 netmask 255.255.255.0
 gateway 192.168.5.1

1670848801082.jpg

重启后使用ifconfig查看IP地址是否已经自动配置。

1670848808997.jpg


1.3 三者互ping验证


设置完上述IP地址后,知道了 windows ip 192.168.5.10 ubuntu ip 192.168.5.11 开发板ip 192.168.5.9 接下来验证三者是否可以互相网络通信。


1.3.1 windows ping ubuntu


在windows下使用命令提示符,输入 ping 192.168.5.11去 ping ubuntu IP地址,看是否可以接收到数据,同样的 ubuntu下在终端里输入 ping 192.168.5.10 来查看是否有数据返回,正常情况如下图所示,如果你在测试时发现只能单向Ping 通请检查windows防火墙是否全部关闭。

1670848820039.jpg


1.3.2 开发板ping windows 和 ubuntu


如下所示在开发板手动设置 ip地址为192.168.5.9 之后使用ping命令来验证是否可以ping通 ubuntu和windows主机,其中ping windows使用ping 192.168.5.10命令 ping ubuntu使用ping 192.168.5.11命令 看是否有返回值,正确情况如下图所示。

1670848835176.jpg


1.3.3 windows 和 ubuntu ping 开发板


如下图所示为windwos和ubuntu去ping 开发板IP,在windows下使用 命令提示符,执行 ping 192.168.5.9 去ping开发板,来确认是否可以和开发板网络通信,在ubuntu使用终端,执行ping 192.168.5.9去ping开发板来确认是否可以和开发板网络通信。

1670848845334.jpg



1.4 开发板使用网络服务


1.4.1 文件系统内使用nfs挂载ubuntu目录


确认windows ubuntu 开发板三者可以互相ping通以后,ubuntu下已经配置好了nfs目录及环境,可以在开发板上执行以下命令来挂载ubuntu的nfs目录到开发板/mnt目录下,挂载成功后使用df -h命令查看所有挂载。

[root@100ask:~]# mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

1670848865595.jpg


1.4.2 开发板使用mobaxterm ssh登录开发板


确认windows ubuntu 开发板三者可以互相ping通以后,可以使用moabaxteram SSH会话远程登录开发板,操作步骤请参考下图所示。

1670848876084.jpg


1.5 其它可选配置


1.5.1 配置Ubuntu连接网络


在某些情况下 学员可能需要保证ubuntu windows 和开发板之间可以网络通信用来传输文件或者调试,又想让ubuntu可以连接网络进行安装某些在线的软件包,此时我们需要在ubuntu上再新增一个网卡设备并设置为NAT方式用于共享主机Internet网络进行上网。

首先在虚拟机关机状态下,点击 编辑虚拟机设置 在虚拟机设置里新增一个网络适配器。


进入虚拟机设置后,点击 添加–> 网络适配器–>下一步 ,之后再点击完成,即可。

1670848895824.jpg

1670848908445.jpg

添加完成 网络适配器后,会在虚拟机设置里面 出现一个 网络适配器2设备,之后我们需要设置网络连接方式 为 NAT模式 设置成功后,点击确定即可返回虚拟机启动页面,此时启动虚拟机即可。


1670848917144.jpg

启动虚拟机并进入虚拟机后,可以在终端下执行ifconfig命令查看当前网卡信息,会发现多出来一个网卡设备,其中一个是我们之前配置直连网卡桥接所用的网卡,另一个ens38(你的可能不是这个名称)已经自动配置了NAT网段的IP(如没有自动设置NAT网卡IP则在ubuntu终端下执行 sudo dhclient 来自动获取IP),之后我们可以来使用ping 来验证是否可以上网和之前的直连网卡直连是否依旧可用,使用ping qq.com 来验证是否可以连接internet网络,使用ping 192.168.5.10来验证原直连网卡直连是否有效。

1670848925567.jpg


1.5.2 常见问题1 虚拟机可以上网但是无法ping通windows和开发板


请在开始菜单 打开 虚拟网络编辑器,参考是否和下图设置一致,由于192.168.2.0/24网段已经被用于直连网卡直连所用,所以NAT模式下不能为 192.168.5.0/24网段。

1670848935694.jpg


1.5.3 配置开发板连接网路


我们的开发板一般有两个网口,其中一个被我们用来和直连 usb网卡进行连接作为调试使用,但是另一个网络可以用来进行设置上网,如果需要另一个网口上网,我们可以把网线一段接至开发板 另一端接至可以上网的路由器,之后在开发版文件系统内执行 udhcpc -i eth1 等待获取IP成功即可。


1.5.4 uboot下设置IP挂载NFS网络文件系统启动系统


问: 为什么要在开发板uboot下设置IP挂载NFS网络文件系统启动系统?

答: 在某些场景下,需要多次调试内核,存储驱动或文件系统等某个比较复杂的问题,每次通过手动拷贝重启的方式太过于繁琐缓慢,所以就通过网络方式下载到内存直接运行,文件系统也存在于ubuntu端,可以快速的去调试或定位问题。

在确认windows ubuntu 开发板三者可以互相ping通并配置好 uboot 挂载所需的nfs 根文件系统 TFTP下载所需的内核和设备树后,可以使用如下命令进行下载启动并自动挂载nfs文件系统,其中 /home/book/nfs_rootfs 为ubuntu下开发板所需的文件系统所在目录,100ask_imx6ull-14x14.dtb 为设备树文件,zImage为内核镜像文件。

setenv serverip 192.168.5.11
setenv ipaddr 192.168.5.9
setenv gatewayip 192.168.5.1
tftpboot 0x83000000 100ask_imx6ull-14x14.dtb; 
tftpboot 0x80800000 zImage; 
setenv bootargs root=/dev/nfs nfsroot=192.168.5.11:/home/book/nfs_rootfs,vers=3 rw    t  tip=192.168.5.9:192.168.5.11:192.168.5.1:255.255.255.0:ask:eth0:off:192.168.5.1; 
bootz 0x80800000 - 0x83000000 


执行上述命令后开发板会自动获取内核和设备树文件到开发板内存内,并配置文件系统参数,启动内核并自动挂载NFS文件系统。

1670848960689.jpg

1670848971641.jpg

1670848983262.jpg

如果您在文件系统启动过程中一直卡死在udhcpc获取IP处,请参考下图删除ubuntu nfs imx6ull根文件系统内 /etc/init.d目录下的 S4开头的文件,(注意是解压到nfs目录的imx6ull根文件系统,不是ubuntu的根文件系统)。


运行内核并挂载nfs文件系统成功后,可以在开发板串口终端下执行 cat /pro/mounts 来查看根目录所在位置。


2. 使用路由器配置网络(待更新)

相关文章
|
24天前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
76 28
|
21天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
1月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
97 15
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
241 7
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
121 13
|
2天前
鸿蒙开发:了解@Builder装饰器
@Builder装饰是鸿蒙UI开发中,非常重要的一个装饰器,在实际的开发中,合理且正确的使用,能够让我们的代码更加的简洁,有两点需要注意,一是,是用私有还是全局,取决于当前的组件的复用机制,如果多个页面都使用了,建议以全局为主;二是传参的动态更新,有更新就使用引用参数传递,没有更新按值传递即可。
48 28
|
1月前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
109 47
Harmony OS开发-ArkTS语言速成二
|
2月前
|
API 索引
鸿蒙开发:实现一个超简单的网格拖拽
实现拖拽,最重要的三个方法就是,打开编辑状态editMode,实现onItemDragStart和onItemDrop,设置拖拽移动动画和交换数据,如果想到开启补位动画,还需要实现supportAnimation方法。
86 13
鸿蒙开发:实现一个超简单的网格拖拽
|
2月前
|
索引 API
鸿蒙开发:自定义一个股票代码选择键盘
金融类的软件,特别是股票基金类的应用,在查找股票的时候,都会有一个区别于正常键盘的键盘,也就是股票代码键盘,和普通键盘的区别就是,除了常见的数字之外,也有一些常见的股票代码前缀按钮,方便在查找股票的时候,更加方便的进行检索。
鸿蒙开发:自定义一个股票代码选择键盘
|
2月前
|
API
鸿蒙开发:自定义一个英文键盘
实现方式呢,有很多种,目前采用了比较简单的一种,如果大家采用网格Grid组件实现方式,也是可以的,但是需要考虑每行的边距以及数据,还有最后两行的格子占位问题。
鸿蒙开发:自定义一个英文键盘

热门文章

最新文章