20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG

2024-06-14 14:04

本文主要是介绍20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG
2024/6/13 16:58


缘起:对于飞凌的OK3588-C的核心板,参照飞凌的底板/开发板。
ETH0空接,ETH1由RTL8211FSI-CG【20¥】更换为RTL8211F-CG【4¥】。
都是千兆网卡,八成是成本的原因。^_

&gmac0 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
    snps,reset-active-low;
    /* Reset time is 20ms, 100ms for rtl8211f */
    snps,reset-delays-us = <0 20000 100000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac0_miim
             &gmac0_tx_bus2
             &gmac0_rx_bus2
             &gmac0_rgmii_clk
             &gmac0_rgmii_bus>;

    tx_delay = <0x44>;
    /* rx_delay = <0x4f>; */

    phy-handle = <&rgmii_phy0>;
    status = "okay";
};


修改成为:
&gmac0 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
    snps,reset-active-low;
    /* Reset time is 20ms, 100ms for rtl8211f */
    snps,reset-delays-us = <0 20000 100000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac0_miim
             &gmac0_tx_bus2
             &gmac0_rx_bus2
             &gmac0_rgmii_clk
             &gmac0_rgmii_bus>;

    tx_delay = <0x44>;
    /* rx_delay = <0x4f>; */

    phy-handle = <&rgmii_phy0>;
    status = "disabled";
};

&gmac1 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
    snps,reset-active-low;
    /* Reset time is 20ms, 100ms for rtl8211f */
    snps,reset-delays-us = <0 20000 100000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac1_miim
             &gmac1_tx_bus2
             &gmac1_rx_bus2
             &gmac1_rgmii_clk
             &gmac1_rgmii_bus>;

    tx_delay = <0x44>;
    /* rx_delay = <0x4f>; */

    phy-handle = <&rgmii_phy1>;
    status = "okay";
};


测试步骤:
台式机/笔记本电脑可以通过WIFI上外网。但是不要再192.168.0.X网段。
由于飞凌的OK3588-C的核心板启动之后,默认IP地址配置为192.168.0.232。
在台式机的以太网卡/笔记本电脑如果没有以太网卡,可以接USB转RJ45网卡。

台式机的IP地址参考配置为:
192.168.0.8
255.255.255.0


Microsoft Windows [版本 10.0.22621.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>ipconfig

Windows IP 配置


无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::1a87:11f5:2a01:fb0d%11
   IPv4 地址 . . . . . . . . . . . . : 192.168.3.97
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.3.1

以太网适配器 以太网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::acf:748:65e2:32a6%16
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.88
   子网掩码  . . . . . . . . . . . . : 255.255.255.0

   默认网关. . . . . . . . . . . . . :

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

C:\Users\QQ>


root@ok3588:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 2E:FD:E8:A3:28:CB  
          inet addr:192.168.0.232  Bcast:0.0.0.0  Mask:255.255.255.0

          inet6 addr: fe80::2cfd:e8ff:fea3:28cb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3490 (3.4 KiB)  TX bytes:936 (936.0 B)
          Interrupt:79 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:337918 (329.9 KiB)  TX bytes:337918 (329.9 KiB)

root@ok3588:/# 
root@ok3588:/# cd /etc/network/
root@ok3588:/etc/network# 
root@ok3588:/etc/network# ls -l
total 28
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-down.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-post-down.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-pre-up.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-up.d
-rw-r--r-- 1 root root  130 Jan  1 08:05 interfaces
-rw-r--r-- 1 root root  130 Jan  1 08:06 interfaces.bak1
-rwxr-xr-x 1 root root  846 Mar  9  2023 nfs_check
root@ok3588:/etc/network# cat interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.232
netmask 255.255.255.0
gateway 192.168.0.1

root@ok3588:/etc/network#


IP地址配置:
笔记本电脑:
192.168.3.97  WIFI上外网
192.168.0.88  USB转RJ以太网,指定静态IP地址。

开发板:
192.168.0.232  刷机之后飞凌指定的静态IP地址。


互PING的LOG:
开发板PING笔记本电脑:
root@ok3588:/etc/network# 
root@ok3588:/etc/network# 
root@ok3588:/etc/network# ping 192.168.0.88
PING 192.168.0.88 (192.168.0.88) 56(84) bytes of data.
64 bytes from 192.168.0.88: icmp_seq=1 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=2 ttl=128 time=1.07 ms
64 bytes from 192.168.0.88: icmp_seq=3 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=4 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=5 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=6 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=7 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=8 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=9 ttl=128 time=1.13 ms
64 bytes from 192.168.0.88: icmp_seq=10 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=11 ttl=128 time=1.29 ms
64 bytes from 192.168.0.88: icmp_seq=12 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=13 ttl=128 time=1.23 ms
64 bytes from 192.168.0.88: icmp_seq=14 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=15 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=16 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=17 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=18 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=19 ttl=128 time=1.30 ms
64 bytes from 192.168.0.88: icmp_seq=20 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=21 ttl=128 time=1.20 ms
64 bytes from 192.168.0.88: icmp_seq=22 ttl=128 time=1.23 ms
64 bytes from 192.168.0.88: icmp_seq=23 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=24 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=25 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=26 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=27 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=28 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=29 ttl=128 time=1.18 ms
64 bytes from 192.168.0.88: icmp_seq=30 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=31 ttl=128 time=1.25 ms
64 bytes from 192.168.0.88: icmp_seq=32 ttl=128 time=1.08 ms
64 bytes from 192.168.0.88: icmp_seq=33 ttl=128 time=1.28 ms
64 bytes from 192.168.0.88: icmp_seq=34 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=35 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=36 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=37 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=38 ttl=128 time=1.27 ms
64 bytes from 192.168.0.88: icmp_seq=39 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=40 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=41 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=42 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=43 ttl=128 time=1.11 ms
64 bytes from 192.168.0.88: icmp_seq=44 ttl=128 time=1.18 ms
64 bytes from 192.168.0.88: icmp_seq=45 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=46 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=47 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=48 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=49 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=50 ttl=128 time=1.11 ms
64 bytes from 192.168.0.88: icmp_seq=51 ttl=128 time=1.10 ms
64 bytes from 192.168.0.88: icmp_seq=52 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=53 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=54 ttl=128 time=1.18 ms
^C
--- 192.168.0.88 ping statistics ---
54 packets transmitted, 54 received, 0% packet loss, time 53097ms
rtt min/avg/max/mdev = 1.068/1.188/1.300/0.051 ms
root@ok3588:/etc/network# 


笔记本电脑PING开发板:
Microsoft Windows [版本 10.0.22621.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>ping 192.168.0.232

正在 Ping 192.168.0.232 具有 32 字节的数据:
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64

192.168.0.232 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms

C:\Users\QQ>ping 192.168.0.232 -n 1000

正在 Ping 192.168.0.232 具有 32 字节的数据:
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64

192.168.0.232 的 Ping 统计信息:
    数据包: 已发送 = 68,已接收 = 68,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms
Control-C
^C
C:\Users\QQ>

这篇关于20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060607

相关文章

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

XML重复查询一条Sql语句的解决方法

《XML重复查询一条Sql语句的解决方法》文章分析了XML重复查询与日志失效问题,指出因DTO缺少@Data注解导致日志无法格式化、空指针风险及参数穿透,进而引发性能灾难,解决方案为在Controll... 目录一、核心问题:从SQL重复执行到日志失效二、根因剖析:DTO断裂引发的级联故障三、解决方案:修复

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

解决Entity Framework中自增主键的问题

《解决EntityFramework中自增主键的问题》:本文主要介绍解决EntityFramework中自增主键的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Entity Framework中自增主键问题解决办法1解决办法2解决办法3总结Entity Fram

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实