嵌入式爱好者

查看: 10107|回复: 8

[OpenWrt] 单网口下uboot停止pfe失败,导致openwrt网络收发问题

[复制链接]

9

主题

32

帖子

78

积分

LS1012A通行证

扫一扫,手机访问本帖
发表于 2021-10-27 15:09:43 | 显示全部楼层 |阅读模式
本帖最后由 zhongtao1701 于 2021-10-27 21:45 编辑

在RGMII单网口状态下, uboot初始化PFE失败,在引导kernel系统前,它会停止PFE,
但是在失败初始化后,它也不能正确停止PFE, 导致kernel的网络数据收发问题,

验证过程是使得,uboot引导时,保留RGMII和SGMII, 这样它初始成功,然后停止
PFE,

U-Boot 2018.03 (Feb 25 2019 - 03:01:27 +0000)
ware
PFE tmu pe firmware
pfe_configure_serdes 0
eth0: pfe_eth0, eth1: pfe_eth1

=> pfe stop

这时复位SGMII的AR8031, 然后引导openwrt系统, 系统能够顺利进入单
网口状态,而且网络数据收发正确, 所以只要uboot能够正确停止pfe,

openwrt系统是可以正确支持单网口的。

所以uboot也应该处理正确处理单网口,或者简单一点就是它不初始
化PFE和网络,

我下载了ubuntu的源码OK10xx-linux-fs, 我想直接修改uboot,但是
发现里面是没有uboot源码的,所以还是需要请飞凌的研发帮忙一下修
改一下,在20190305的uboot版本上,把qfe的驱动去掉,不支持网
络就可以,这样我就可以验证一下,这个单网口方案的可行性,谢谢
你们


回复

使用道具 举报

0

主题

471

帖子

919

积分

发表于 2021-10-28 09:28:16 | 显示全部楼层
uboot是不开源的;
建议您先在ubuntu系统上进行验证,按照之前给您发的参考最新的底板原理,加上MDIO转换电路;
点评回复 支持 反对

使用道具 举报

9

主题

32

帖子

78

积分

LS1012A通行证

 楼主| 发表于 2021-10-28 10:19:58 | 显示全部楼层
本帖最后由 zhongtao1701 于 2021-10-28 12:12 编辑

目前我已经验证openwrt的单网口是可以工作,但是如果uboot 如果停止pfe失败,则会导致openwrt的网络问题,但是目前
uboot都是不支持单网口的,所以它停止pfe时都会有问题,您可以从验证过程看到这个现象,不需要修改代码,目前只需要
在uboot的配置中去掉PFE驱动



drives/net/pfe_eth/Kconfig
FSL_PFE
        bool "NXP PFE Ethernet driver"        

把上面的FSL_FPE选项去掉就可以了,目前已经到了验证这个方案的最后一一步了,应该是已经接近成功了


我自己按OK1012A-V1.3Beta做的底板(带MDIO转换电路)也是和开发板相同的现象,所以还是请你们帮忙提供一个版本
,使得开发能进行下去,如果能够成功,其他用户也能从中受益,请你帮助协调安排一下,谢谢你们支持了

IMG_20211028_100423.jpg

点评

djh
您对应的销售工程师是哪位啊,要释放新编译的uboot进行文件的话,需要通过您的销售工程师给您。 您可以联系一下她。  详情 回复 发表于 2021-10-28 13:49
点评回复 支持 反对

使用道具 举报

0

主题

471

帖子

919

积分

发表于 2021-10-28 13:49:31 | 显示全部楼层
本帖最后由 djh 于 2021-10-28 13:50 编辑
zhongtao1701 发表于 2021-10-28 10:19
目前我已经验证openwrt的单网口是可以工作,但是如果uboot 如果停止pfe失败,则会导致openwrt的网络问题, ...

您对应的销售工程师是哪位啊

点评回复 支持 反对

使用道具 举报

9

主题

32

帖子

78

积分

LS1012A通行证

 楼主| 发表于 2021-10-28 14:59:42 | 显示全部楼层
本帖最后由 zhongtao1701 于 2021-10-28 15:11 编辑

开发板我是在淘宝上买的,有蛮长的一段时间了,销售好像叫张玉

点评

djh
您可以把您的需要跟她沟通一下  详情 回复 发表于 2021-10-28 15:37
点评回复 支持 反对

使用道具 举报

0

主题

471

帖子

919

积分

发表于 2021-10-28 15:37:37 | 显示全部楼层
zhongtao1701 发表于 2021-10-28 14:59
开发板我是在淘宝上买的,有蛮长的一段时间了,销售好像叫张玉

您可以把您的需要跟她沟通一下
点评回复 支持 反对

使用道具 举报

9

主题

32

帖子

78

积分

LS1012A通行证

 楼主| 发表于 2021-10-28 15:44:44 | 显示全部楼层
我今天在NXP的论坛上问了这个问题,他们已经给出了确切修改答复,
需要按下面修改一下uboot的代码,如果你能够帮l忙build一下,那就太
谢谢你了

https://community.nxp.com/t5/Layerscape/uboot-cause-single-PFE-ethernet-ping-cmd-fail-in-kernel/m-p/1362986#M9202

yipingwang
NXP TechSupport yipingwang
NXP TechSupport

You could download LSDK 20.04

In u-boot source code, please modify board/freescale/ls1012ardb/eth.c as the following.

In LSDK environment, u-boot source code is in packages/firmware/u-boot.

        switch (srds_s1) {

        case 0x3508:

        //      if (!priv->gemac_port) {

                        /* MAC1 */

        //              pfe_set_phy_address_mode(priv->gemac_port,

        //                                       CONFIG_PFE_EMAC1_PHY_ADDR,

        //                                       PHY_INTE**CE_MODE_SGMII);

        //      } else {

                        /* MAC2 */

                        pfe_set_phy_address_mode(priv->gemac_port,

                                                 CONFIG_PFE_EMAC2_PHY_ADDR,

                                                 PHY_INTE**CE_MODE_RGMII_ID);

        //      }

                break;

Then in LSDK build environment rebuild u-boot to generate ATF(firmware) image.

$ rm -rf build/firmware/u-boot/

$ flex-builder -c atf -m ls1012ardb -b qspi

$ flex-builder -i mkfw -m ls1012ardb -b qspi

You will get the following result in u-boot.

=> mdio list

PFE_MDIO:

1 - RealTek RTL8211F <--> pfe_eth1

=>



In recent released LSDK or OpenWrt, if you want to use only RGMII IF with PFE Ethernet port, you just need to remove "pfe_mac0"(SGMII) definition in the dts file.

点评

djh
关于uboot 源码中:board/freescale/ls1012ardb/eth.c,这个文件我们的开源的; 关于网络的配置文件uboot是开源的,您可以自己修改的  详情 回复 发表于 2021-10-28 16:17
点评回复 支持 反对

使用道具 举报

0

主题

471

帖子

919

积分

发表于 2021-10-28 16:17:18 | 显示全部楼层
zhongtao1701 发表于 2021-10-28 15:44
我今天在NXP的论坛上问了这个问题,他们已经给出了确切修改答复,
需要按下面修改一下uboot的代码,如果你 ...

关于uboot 源码中:board/freescale/ls1012ardb/eth.c,这个文件我们的开源的;
关于网络的配置文件uboot是开源的,您可以自己修改的
点评回复 支持 反对

使用道具 举报

9

主题

32

帖子

78

积分

LS1012A通行证

 楼主| 发表于 2021-10-28 19:32:08 | 显示全部楼层
本帖最后由 zhongtao1701 于 2021-10-28 19:36 编辑

我从下面链接中下载了,OK10xx-linux-fs.tar.bz2 (你上次提到20190305 是支持SD大文件读写 )

20190305 20190320 链接: https://pan.baidu.com/s/1HbkfMv53kxvEWgfMbbL7gA 提取码: ljzx

展开后,在packages/firmware目录下列表如下, u-boot指向 OK10xx-linux-uboot, 但是目录OK10xx-linux-uboot并不存在

tzhong@XZ-201812202052 ~/projs/forlinx/OK10xx-linux-fs/flexbuild/packages/firmware
$ ls -l
-rw-r--r--  1 tzhong None 13127 四月 23 2019 Makefile
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 mc-utils
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 ppa-generic
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-engine-pfe-bin
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-firmware-cortina
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-fm-ucode
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-mc-binary
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-qe-ucode
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 qoriq-uefi-binary
drwxr-xr-x+ 1 tzhong None     0 四月 23 2019 rcw
lrwxrwxrwx  1 tzhong None    19 四月 23 2019 u-boot -> OK10xx-linux-uboot/

OK10xx-linux-uboot需要单独安装吗? 或者我步骤有什么问题吗? 谢谢


点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-26 19:22

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表