前言
-
开发板型号: 【正点原子】 的 RK3568 开发板
-
使用 虚拟机 ubuntu 20.04 编译 RK3568 Linux SDK,生成镜像,烧写后,Linux 系统正常启动
-
开启后可以使用
CTRL+C
进入 u-boot -
本篇验证一下 u-boot 下网络功能
-
【正点原子】 rk3568 开发板资料与 Linux SDK 下载 http://www.openedv.com/docs/boards/arm-linux/RK3568Linux.html
-
u-boot 下网络如果通了,后面烧写 u-boot 或者 Linux 系统镜像,可以直接在 u-boot 模式使用网络功能,如 tftp 进行烧写
windows 电脑端设置网络
-
网络使用 千兆网线 链接,USB 转千兆 网卡,这样通过 USB 转网卡直连电脑,不使用【路由器】或者交换机
-
windows 端会识别一个 USB 类型的千兆网卡(网络适配器),设置一下 IPV4 的 地址信息
- 这样 windows 端的 网卡设置完成
u-boot 端网络设置
-
首先串口终端:
CTRL+C
进入 u-boot 命令行,可以使用 u-bootsetenv
命令,如setenv bootdelay 5
修改bootdelay
引导延迟时间为 5秒,否则CTRL+C
不及时,就是引导启动系统。 -
u-boot 下需要设置一下网络连接的参数
-
当前 网卡的网段:
192.168.10.xx
,因此 u-boot 设置如下
c
setenv ipaddr 192.168.10.3
setenv netmask 255.255.255.0
setenv gatewayip 192.168.10.1
setenv serverip 192.168.10.10
saveenv
reset
-
【备注】当前的 RK3568 网络 MAC 默认无法更改,那就不用重新设置
-
由于当前的 rk3568 的开发板有两个千兆的网口,因此可以使用 u-boot
mii
命令查看与设置默认的连接网卡 -
可以通过修改 u-boot env
ethact
来更改默认的网口
- mii 命令可以查看 当前的 phy 信息
c
=> mii
mii - MII utility commands
Usage:
mii device - list available devices
mii device <devname> - set current device
mii info <addr> - display MII PHY info
mii read <addr> <reg> - read MII PHY <addr> register <reg>
mii write <addr> <reg> <data> - write MII PHY <addr> register <reg>
mii modify <addr> <reg> <data> <mask> - modify MII PHY <addr> register <reg>
updating bits identified in <mask>
mii dump <addr> <reg> - pretty-print <addr> <reg> (0-5 only)
Addr and/or reg may be ranges, e.g. 2-7.
=> mii device
MII devices: 'ethernet@fe010000' 'ethernet@fe2a0000'
Current device: 'ethernet@fe010000'
=> mii device 'ethernet@fe2a0000'
=> setenv ethact 'ethernet@fe2a0000'
=> saveenv
Saving Environment to MMC...
Writing to MMC(0)... done
=> mii dump
0. (ffff) -- PHY control register --
(8000:8000) 0.15 = 1 reset
(4000:4000) 0.14 = 1 loopback
(2040:2040) 0. 6,13 = b11 speed selection = 10 Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0800) 0.11 = 1 power-down
(0400:0400) 0.10 = 1 isolate
(0200:0200) 0. 9 = 1 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0080) 0. 7 = 1 collision test enable
(003f:003f) 0. 5- 0 = 63 (reserved)
网络连通测试
-
u-boot 下可以使用
ping
命令进行测试网络连通性,如果网络正常连接,可以使用tftp
等命令进行镜像的传递 -
如果出现
host 192.168.10.10 is alive
这样的信息,说明网络是通的。
c
=> 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
-
如果网络不通,需要确认 网络设置是否正确
-
当前验证 RK3568 开发板 两个网口在 u-boot 下 均能正常的连通
c
# 切换到另一个网卡
=> setenv ethact 'ethernet@fe010000'
=> saveenv
# ping PC 电脑端
=> ping 192.168.10.10
ethernet@fe010000 Waiting for PHY auto negotiation to complete. done
Using ethernet@fe010000 device
host 192.168.10.10 is alive
小结
-
本篇主要验证两个问题:(1)rk3568 开发板 u-boot 下网络是否是通的 (2)通过 USB 转网卡直连开发板是否存在问题,是否不需要路由器
-
验证的结果: (1)【正点原子】 的 RK3568 开发板 ATK-DLRK3568,u-boot 下 两个网口均正常工作 (2)使用 USB 转千兆网卡,只需要设置好网卡的 IP 地址,就可以正常工作,不需要额外的路由器。