前言
-  开发板型号: 【正点原子】 的 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 设置如下
setenv ipaddr 192.168.10.3
setenv netmask 255.255.255.0
setenv gatewayip 192.168.10.1
setenv serverip 192.168.10.10saveenv
reset
-  【备注】当前的 RK3568 网络 MAC 默认无法更改,那就不用重新设置 
-  由于当前的 rk3568 的开发板有两个千兆的网口,因此可以使用 u-boot mii命令查看与设置默认的连接网卡
-  可以通过修改 u-boot env ethact来更改默认的网口

- mii 命令可以查看 当前的 phy 信息
=> mii
mii - MII utility commandsUsage:
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这样的信息,说明网络是通的。
=> 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 下 均能正常的连通 
# 切换到另一个网卡
=> 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 地址,就可以正常工作,不需要额外的路由器。