瑞芯微Rockchip开发者社区
直播中

人走了

9年用户 927经验值
擅长:制造/封装 光电显示
私信 关注
[问答]

如何去验证单网口ETH的方案呢

验证是为了单网口ETH的方案(RGMII 的方案,在开发板试验中,进行删除 ETH0(SGMII)的复位复位 R21,嵌入式芯片 AR8031 处于备用状态) ,
运行默认的openwrt版本,
uboot的提示信息
SCSI: Net: PFE
classpe firmware PFEtmu pe firmware
pfe_configure_serdes0
could not get PHY for PFE_MDIO: addr 1
phy_connect failed
No ethernet found.

的OpenWrt
[8.127382] pe_load_ddr_section:加载地址)和精灵文件地址(ffff00000948b000)RCVD
[8.173327] PFE二进制版本:pfe_ls1012a_slowpath_03
[8.183188] pfe_load_elf
[8.187069] pfe_ctrl_init
[8.189810] pfe_ctrl_init成品
[8.193468] pfe_eth_init
[8.196287] pfe_eth_mdio_init
[8.207094] libphy :ls1012a MDIO总线:探测
[8.218904] pfe_phy_init INTE ** CE 3
[8.222829] libphy:PHY ls1012a-0:01未找到
[8.227606]
pfe0.030pfe030pfe030pfe04003 .pfe的eth0的:pfe_eth_init_one:pfe_phy_init()失败
[8.290673] pfe_ctrl_exit
[8.293306] pfe_firmware_exit
[8.298353] pfe_hif_exit
[8.314636] pfe_hif_release_buffers
[8.318640] pfe_hif_free_descr
[8.321975] pfe_hif_lib_exit
[8.325241] pfe_hw_exit

根@的OpenWrt的:/#的使用ifconfig
LO链路ENCAP:本地环回
          INET地址:127.0.0.1掩码:255.0.0.0
          INET6地址:: :1/128 作用域:主机
          UP LOOPBACK RUNNING MTU:65536公制:1个
          RX数据包:40个错误:0下降:0超支:0帧:0
          TX数据包:40个错误:0下降:0超支: 0 组
          :0 队列:0 txqueuelen:1
可看到SGMII不工作,两个网口都不能

按知识库 > LS1012A/LS1043A/LS1046A系列产品文档编号:501,
只保留RGMII单网口的修改方法,dts和pfe_eth.c,更新版本名称
如下

uboot的提示信息,(addr 1 是SGMII口,应该无法启动,去是对的)

SCSI: Net: PFE class pe firmware
PFE tmu pe firmware
pfe_configure_serdes 0
could not get PHY for PFE_MDIO: addr 1
phy_connect failed
No ethernet found .

OpenWrt的修改有效果,可以顺利配置的eth0,ETH1,即使SGMII被复位住

pe_load_ddr_section:加载地址(3fb0000)和elf文件地址(ffff0000094ab000)RCVD
[8.409017] PFE二进制版本:pfe_ls1012a_slowpath_03
[8.414884] pfe_load_elf
[8.419007] pfe_ctrl_init
[8.421877 ] pfe_ctrl_init 成品
[8.425394] pfe_eth_init
[8.428166] pfe_eth_mdio_init
[8.440814] libphy:ls1012a MDIO总线:探测
[8.452261] PFE 4000000.pfe的eth0的:pfe_eth_init_one:创建INTE ** CE,baseaddr:ffff00000a200000
[8.469230] pfe_eth_mdio_init
[8.488017] libphy:ls1012a MDIO总线:探测
[8.498952] pfe_phy_init INTE 0.5033 pfe_phy_init inte.5033 pfe_init INTE ** 033 pfe_init INTE ** 0333 pfe_eth_mdio_init。
[8.488017]:ffff00000a220000

可以看到两个网口,
根@的OpenWrt:/#的ifconfig
eth0的链接ENCAP:以太网的HWaddr 76:0C:45 :6A:F6:95           UPBROADCAST RUNING MULTICAST MTU:150
          指标:1
RX 数据包:0 0 0 :0 错误:0 帧:0
          TX 数据包:37 :0 :0 收费:0 过滤费:0
          冲突:0 txqueuelen:1000
          RX 字节:0 (0.0 B) TX 字节:4501 (4.3 KiB)

eth1 Link encap:Ethernet HWaddr 62:71:65:C8:FA:CE
          inet6 addr: fe80::6071:65ff:fec8:face/64 Scope:Link
          UP 广播运行多播 MTU:1500 指标:1
          RX 数据包: 12错误:0 删除:0 引用:0
          包:TX 0 6 6 6 错误:0 帧数据00 删除:0 字节数据读取:0 文件传输:0
          对等:txqueuelen:1000
          RX:15075 (14.7 KiB) TX 字节:6932 (6.7 KiB)

ETH1 (RGMII)口还可以顺利检测到网线的插拔, ETH0(SGMII)则没有响应

root@OpenWrt:/# [ 101.970697] pfe 4000000.pfe eth1: Link is Down
[ 102.994826] pfe00.00.已启动- 100Mbps的/全-流量控制RX / TX
[109.138705] PFE 4000000.pfe ETH1:链接已关闭
[111.186773] PFE 4000000.pfe ETH1:链接获得

但无法启动- 100Mbps的控制/ ethrx1tl通过DHCP获得IP,手动设置IP,也无法ping网关
root@OpenWrt:/# ifconfig eth1 192.168.3.66
root@OpenWrt:/# ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1): 56 bytes 可能

会什么原因?单网口方案如何进行下去,请大家给点建议,谢谢



回帖(4)

俞旸

2022-1-5 13:53:14
一点呼吸,正常软件和硬件,如果在uboot中没有运行
=>fpe停止
进入openwrt,也是会网口无法接收的现象出现

uboot固定的SGMII会影响
初始化失败,会openwrt中的网口操作
举报

周羽姿

2022-1-5 13:53:27
在开发板尝试保留SGMII,复位RGMII,根据文档调整DTS,测试结果
的uboot中可以检测到的eth0,ETH1报错,配置完IPADDR,eth0的可以正常使


展示进入的OpenWrt,顺利初始化通过
根@的OpenWrt:/#的ifconfig
BR -lan Link encap:Ethernet HWaddr 76:0C:45:6A:F6:95
          inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
          inet6 addr: fd7f:8300:1/Global Global
          inet6 addr: fe80::740c:45ff:fe6a:f695/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packet:0 errors:0 drops:0 overruns :0 frame:0
          TX packets:39 errors: 0 丢弃:0 溢出:0 载波:0
          冲突:0 txqueuelen:1000
          RX 字节:0 (0.0 B) TX 字节:4801 (4.6 KiB)

eth0 Link encap:Ethernet HWaddr 76:0C:45:6A:F6:95
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packet:0 errors:0 drop:0 overruns:0 frame:0
          TX packets:39 errors:0丢弃:0 溢出:0 载波:0
          冲突:0 txqueuelen:1000
          RX 字节:0 (0.0 B) TX 字节:4801 (4.6 KiB)

eth1 链接封装:以太网 HWaddr 62:71:65:C8:FA:CE
          inet addr :192.168.3.99 Bcast:192.168.3.255 掩码:255.255.255.0
          inet6 addr: fe80::6071:65ff:fec8:face/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST packet:4RX0:4RX
          错误:0 溢出:0 帧:0
          TX 数据包:93 错误:0 丢弃:0 溢出:0 载波:0
          Collins:0 txqueuelen:1000
          RX bytes:56025 (54.7 KiB) TX bytes:23426 (22.8 KiB)

SGMII可以检测到网插拔,但无法获取ip,手动配置后,也无法ping通
网关
举报

刘婷婷

2022-1-5 13:53:53
有知识聚合物需要说明:
1、在ubuntu系统上验证,如果在openwrt系统上验证,可以参考
2、在我们的集体上; ,需要参考硬件资料2020.05.25/原理图、膨胀V1.3Beta进行设计:去掉一路的网口电路;
Image_2021022084703.png (300.4 KB, 下载次数: 0)
下载附件


绿色两个的不能
删除Image_20211022084734.png (301.35 KB, 下载次数: 0)
下载附件
举报

王幼萍

2022-1-5 13:55:31
对的,直接把SGMII的复位电阻R21去掉,然后下拉到GND,软件直接按文档修改修改
  弓/ arm64的/ boot / DTS /飞思卡尔/ FSL-ls1012a-rdb.dts
  驱动器/分期/ fsl_ppfe / pfe_eth.c
然后重新生成的OpenWrt,需要注意生成的驱动pfe.ko,不会自动拷贝到STAGING_DIR目
录中根layerscape中,我都是从build_dir中linux的目录,
   build_dir /目标aarch64_generaic_musl / Linux的layerscape_armv8_64b
把FSL-ls1012- rdb.dtb和fpe.ko生成拷贝出来,可以检查一下时间,确认修改生效
举报

更多回帖

发帖
×
20
完善资料,
赚取积分