This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DRA821U:为 SGMII、RMII 激活 CPSW5G Linux 本机以太网

Guru**** 2478765 points
Other Parts Discussed in Thread: DRA821U

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii

器件型号:DRA821U
主题中讨论的其他器件: DRA821

工具与软件:

您好、DRA821U 变形!

"如何在 DRA821上为 SGMII、RMII 启用 CPSw5g Linux 本机以太网"

关于最初的主题、已通过 E2E 主题对 TanMay 进行了跟进、  

我试图通过消息联系他、但他本周没有机会联系。

您能否检查原始主题并提供相应的有用操作?

谢谢。

此致、

插孔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从之前/更早的线程中、我可以看到您使用的是 SDK 9.0。

    有关为 CPSW5G 启用原生 Linux 驱动程序的信息、请参阅以下常见问题解答。
    e2e.ti.com/.../faq-how-do-i-bring-brought-up-ethernet-interfaces-for-main-domain-cpswng-in-linux-from-sdk-version-9-0-and-above

    此外、根据所需的接口更新器件树。

    如果您遇到任何问题、请分享 Linux 日志。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    >>   serdes0_usb_link:phy@2 {
           REG =<3>;

    上面使用 phy@3、因为使用串行器/解串器通道3。

    >>phy-names ="portmode"、"SerDes-phy";

    将上述内容更改为 "Phy-names ="portmode"、"SerDes";
    根据 TI SDK 9.1、检查串行器/解串器配置的名称。

    此外、请确保从 u-boot 禁用串行器/解串器配置。
    默认情况下、串行器/解串器0通过 u-boot 为 PCIe + QSGMII 配置。

    另外请注意、SDK 9.1不支持 MDIO 的 C45模式。
    由于 MDIO 勘误表 i2329、MDIO 使用位拆裂在手动模式下运行、它仅支持 C22、不支持 C45。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我应用了您的修改、但数据包不是 TX/RX。

    是否有办法确认 PHY 和 MAC 已按照 SGMII 类型连接?

     

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否请 u-boot 和 Linux 终端日志?

    此外、您能否请 CPSW SGMII 端口寄存器。

    状态寄存器:0x0C000114 + 0x100 *(x)//x 为端口号:0、1、2、3。
    控制寄存器:0x0C000110h + 0x100 *(x)  
    MR ADV 寄存器:0x0C000118h + 0x100 *(x)  

    此外、串行器/解串器通道控制寄存器:
    通道0:0x00104080
    通道1:0x00104084
    通道2:0x00104088
    通道3:0x0010408C

    此外、ENET 端口控制寄存器:
    端口1:0x00104044
    端口2:0x00104048
    端口3:0x0010404C
    端口4:0x00104050

    此外、串行器/解串器 PLL 锁定状态:
    0x0506E000

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    很抱歉这么晚才回复。

    有关登记册查询的结果如下。

    状态寄存器

    root@TGU:~# devmem2 0x0C000114 w
    /dev/mem 打开。
    已将存储器映射至地址0xff83aae000。
    在地址0x0C000114 (0xffffff83aae114)处读取:0x00000031
    root@TGU:~# devmem2 0x0C000214 w
    /dev/mem 打开。
    已将内存映射至地址0xffffb3575000。
    在地址0x0C000214 (0xffffff3575214)处读取:0x00000022
    root@TGU:~# devmem2 0x0C000314 w
    /dev/mem 打开。
    已将存储器映射至地址0xFFffb9732000。
    在地址0x0C000314 (0xFFffb9732314)处读取:0x0000002A
    root@TGU:~# devmem2 0x0C000414 w
    /dev/mem 打开。
    存储器映射在地址0xffa33e1000。
    在地址0x0C000414 (0xffffff33e1414)处读取:0x00000031

    控制寄存器

    root@TGU:~# devmem2 0x0C000110 w
    /dev/mem 打开。
    存储器映射在地址0xffbe0be000。
    在地址0x0C000110 (0xffffffbe0be110)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000210 w
    /dev/mem 打开。
    映射到地址0xffffb1f23000处的存储器。
    在地址0x0C000210 (0xffffff1f23210)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000310 w
    /dev/mem 打开。
    存储器映射在地址0xff91fca000处。
    在地址0x0C000310 (0xFFff91fca310):0x00000000处读取
    root@TGU:~# devmem2 0x0C000410 w
    /dev/mem 打开。
    存储器映射在地址0xff88522000处。
    在地址0x0C000410 (0xffffff88522410)处读取:0x00000000

    MR ADV 寄存器

    root@TGU:~# devmem2 0x0C000118 w
    /dev/mem 打开。
    存储器映射在地址0xff94181000处。
    在地址0x0C000118 (0xffffff94181118)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000218 w
    /dev/mem 打开。
    存储器映射在地址0xfffbd3f5000处。
    在地址0x0C000218 (0xFFFffbd3f5218):0x00000000处读取
    root@TGU:~# devmem2 0x0C000318 w
    /dev/mem 打开。
    存储器映射在地址0xff8c42d000处。
    在地址0x0C000318 (0xffffff8c42d318)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000418 w
    /dev/mem 打开。
    地址0xffffff8af46000处映射了存储器。
    在地址0x0C000418 (0xffffff8af46418)上读取:0x00000000

    串行器/解串器通道控制寄存器

    root@TGU:~# devmem2 0x00104080 w
    /dev/mem 打开。
    存储器映射在地址0xff98c1f000处。
    在地址0x00104080 (0xffffff98c1f080)上读取:0x00000002
    root@TGU:~# devmem2 0x00104084 w
    /dev/mem 打开。
    存储器映射在地址0xff8dae3000。
    在地址0x00104084 (0xffffff8dae3084)处读取:0x00000000
    root@TGU:~# devmem2 0x00104088 w
    /dev/mem 打开。
    存储器映射在地址0xff9e8b5000处。
    在地址0x00104088 (0xffffff9e8b5088):0x00000000处读取
    root@TGU:~# devmem2 0x0010408c w
    /dev/mem 打开。
    存储器映射在地址0xff85610000处。
    在地址0x0010408C (0xffffff8561008c)处读取:0x00000002

    ENET 端口控制寄存器

    root@TGU:~# devmem2 0x00104044 w
    /dev/mem 打开。
    映射到地址0xffffb23de000处的存储器。
    在地址0x00104044 (0xffffb23de044):0x00000003处读取
    root@TGU:~# devmem2 0x00104048 w
    /dev/mem 打开。
    存储器映射在地址0xff8c1ee000。
    在地址0x00104048 (0xffffff8c1ee048)上读取:0x00000002
    root@TGU:~# devmem2 0x0010404c w
    /dev/mem 打开。
    存储器映射在地址0xff7fff2000处。
    在地址0x0010404C (0xffffff7fff204c)处读取:0x00000002
    root@TGU:~# devmem2 0x00104050 w
    /dev/mem 打开。
    已在地址0xFFffb9aa1000处映射内存。
    在地址0x00104050 (0xFFffb9aa1050)处读取:0x00000003

    串行器/解串器 PLL 锁定状态

    root@TGU:~# devmem2 0x0506E000 w
    /dev/mem 打开。
    存储器映射在地址0xff8591f000处。
    在地址0x0506E000 (0xffffff8591f000)处读取:0x00C30011

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从寄存器转储来看、SerDes PLL 似乎已锁定。
    CPSW 端口1、4配置为 SGMII 模式。
    串行器/解串器通道控制也与连接有关、即 SGMII 中的通道1、通道2和 USB 中的通道3。

    从 CPSW SGMII 状态寄存器来看、似乎自协商未完成。
    此外、从 CPSW SGMII 控制寄存器开始、不启用自动协商。

    您是否可以通过在驱动程序中添加打印内容来检查 am65-cpsw-nuss 驱动程序是否为 SGMII 配置。
    此外、我无法从端口1、端口4观察到任何日志(具有 PHY 5、6)从 您的日志建立链路。

    将上述内容更改为 "Phy-names ="portmode"、"SerDes";
    根据 TI SDK 9.1、检查串行器/解串器配置的名称。[/QUOT]

    完成上述更改后、您能否共享 Linux 日志?

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    无法从日志中看到 PHY5、6链接。

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5537677 #5537677"]

    >>   serdes0_usb_link:phy@2 {
           REG =<3>;

    上面使用 phy@3、因为使用串行器/解串器通道3。

    >>phy-names ="portmode"、"SerDes-phy";

    将上述内容更改为 "Phy-names ="portmode"、"SerDes";

    [报价]

    您能否也为端口1添加"phy-names"。

    此外、您能否分享以下命令日志。
    #ifconfig -A

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否是我在检测到 PHY 日志之前附加的日志的以下项?

    [ 0.901186] Davinci_MDIO c000f00.MDIO:PHY[5]:器件 c000f00.MDIO:05、驱动程序 mv88q2221
    [ 0.905205] Davinci_MDIO c000f00.MDIO:PHY[6]:器件 c000f00.MDIO:06、驱动程序 mv88q2221

    我需要有关 PHY 的什么日志?

    root@tgu:~# ifconfig -a
    can1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:16  Metric:1
              RX packets:0 errors:0 dropped:2 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:22
    
    can2      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:16  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:25
    
    can3      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:16  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:28
    
    can4      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:16  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:30
    
    can5      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:72  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:31
    
    can6      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
              UP RUNNING NOARP  MTU:72  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:32
    
    eth0      Link encap:Ethernet  HWaddr A0:B0:C0:D0:E0:F0
              inet addr:192.168.218.254  Bcast:0.0.0.0  Mask:255.255.255.0
              inet6 addr: fe80::a2b0:c0ff:fed0:e0f0/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:53 errors:0 dropped:0 overruns:0 frame:0
              TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:3388 (3.3 KiB)  TX bytes:1752 (1.7 KiB)
    
    eth1      Link encap:Ethernet  HWaddr 22:DE:27:A9:5C:4A
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    eth2      Link encap:Ethernet  HWaddr 4A:38:66:1A:98:D0
              inet6 addr: fe80::4838:66ff:fe1a:98d0/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:1105 (1.0 KiB)
    
    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:48702 errors:0 dropped:0 overruns:0 frame:0
              TX packets:48702 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:3108351 (2.9 MiB)  TX bytes:3108351 (2.9 MiB)
    root@tgu:~# ifconfig eth1 up
    [  620.922265] mv88q2221_config speed 1000 ----------
    [  620.935149] PHY 5: rev B0 for initial PHY
    [  621.203735] >> Link Status: Down
    [  621.205660] >> Latched Link Status 1: Down
    [  621.208886] >> Real Time Link Status: Down
    [  621.211285] >> Latched Link Status 2: Down
    [  621.213355] >> Master/Slave: Master
    [  621.215098] >> Speed: GE/1000
    [  621.216592] am65-cpsw-nuss c000000.ethernet eth1: PHY [c000f00.mdio:05] driver [mv88q2221] (irq=POLL)
    [  621.221228] am65-cpsw-nuss c000000.ethernet eth1: configuring for phy/sgmii link mode
    root@tgu:~# ifconfig eth2 up
    [  624.868760] mv88q2221_config speed 1000 ----------
    [  624.883222] PHY 6: rev B0 for initial PHY
    [  625.151812] >> Link Status: Up
    [  625.153698] >> Latched Link Status 1: Down
    [  625.156933] >> Real Time Link Status: Up
    [  625.159257] >> Latched Link Status 2: Up
    [  625.161235] >> Master/Slave: Master
    [  625.162979] >> Speed: GE/1000
    [  625.164472] am65-cpsw-nuss c000000.ethernet eth2: PHY [c000f00.mdio:06] driver [mv88q2221] (irq=POLL)
    [  625.169092] am65-cpsw-nuss c000000.ethernet eth2: configuring for phy/sgmii link mode
    root@tgu:~# [  625.230622] am65-cpsw-nuss c000000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off
    
    root@tgu:~# ethtool eth1
    Settings for eth1:
            Supported ports: [  ]
            Supported link modes:   100baseT1/Full
                                    1000baseT1/Full
            Supported pause frame use: Symmetric
            Supports auto-negotiation: No
            Supported FEC modes: Not reported
            Advertised link modes:  100baseT1/Full
                                    1000baseT1/Full
            Advertised pause frame use: Symmetric
            Advertised auto-negotiation: No
            Advertised FEC modes: Not reported
            Speed: 1000Mb/s
            Duplex: Full
            Auto-negotiation: off
            Port: Twisted Pair
            PHYAD: 5
            Transceiver: external
            MDI-X: Unknown
            Supports Wake-on: d
            Wake-on: d
            Current message level: 0x000020f7 (8439)
                                   drv probe link ifdown ifup rx_err tx_err hw
            Link detected: no
            SQI: 0/15
    root@tgu:~#
    root@tgu:~# ethtool eth2
    Settings for eth2:
            Supported ports: [  ]
            Supported link modes:   100baseT1/Full
                                    1000baseT1/Full
            Supported pause frame use: Symmetric
            Supports auto-negotiation: No
            Supported FEC modes: Not reported
            Advertised link modes:  100baseT1/Full
                                    1000baseT1/Full
            Advertised pause frame use: Symmetric
            Advertised auto-negotiation: No
            Advertised FEC modes: Not reported
            Speed: 1000Mb/s
            Duplex: Full
            Auto-negotiation: off
            Port: Twisted Pair
            PHYAD: 6
            Transceiver: external
            MDI-X: Unknown
            Supports Wake-on: d
            Wake-on: d
            Current message level: 0x000020f7 (8439)
                                   drv probe link ifdown ifup rx_err tx_err hw
            Link detected: yes
            SQI: 15/15
    root@tgu:~#

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    关于 PHY 我需要什么日志?

    我的预期日志如下所示。 PHY 配置为 SGMII 模式并且链路接通。
    [ 625.164472] am65-cpsw-nuss c000000.ethernet eth2:phy [c000f00.mDIO:06]驱动器[mv88q2221](IRQ=poll)
    [ 625.169092] am65-cpsw-nuss c000000.ethernet eth2:配置 phy/SGMII 链路模式
    root@TGU:~#[ 625.230622] am65-cpsw-nuss c000000.ethernet eth2:链路接通- 1Gbps/全-流量控制关闭

    如果 MAC 端口4连接到外部设备?
    端口链路建立后、我可以从 eth2 ifconfig 日志中看到 TX 数据包计数。

    您是否可以通过将端口4连接到 DHCP 网络来检查 ping。
    另外、检查 CPSW 统计信息以确认数据包传输和接收到端口4。
    #ethtool -S eth2

    此外、我可以观察到 PHY-5未建立链路、因此无法与外部网络通信。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我把它理解为下面的图片。
    是否有误解?

    DRA821 eth2 IP 地址:192.168.200.1/24
    PC IP 地址:192.168.200.254/24

    在 PC 上、Wireshark 如下所示。

    位于 DRA821 eth2 tcpdump 中

    在 DRA821 ethtool -S eth2上

    root@tgu:~# ethtool -S eth2
    NIC statistics:
         p0_rx_good_frames: 582
         p0_rx_broadcast_frames: 457
         p0_rx_multicast_frames: 125
         p0_rx_crc_errors: 0
         p0_rx_oversized_frames: 0
         p0_rx_undersized_frames: 0
         p0_ale_drop: 0
         p0_ale_overrun_drop: 0
         p0_rx_octets: 38771
         p0_tx_good_frames: 0
         p0_tx_broadcast_frames: 0
         p0_tx_multicast_frames: 0
         p0_tx_octets: 0
         p0_tx_64B_frames: 459
         p0_tx_65_to_127B_frames: 123
         p0_tx_128_to_255B_frames: 0
         p0_tx_256_to_511B_frames: 0
         p0_tx_512_to_1023B_frames: 0
         p0_tx_1024B_frames: 0
         p0_net_octets: 38771
         p0_rx_bottom_fifo_drop: 0
         p0_rx_port_mask_drop: 0
         p0_rx_top_fifo_drop: 0
         p0_ale_rate_limit_drop: 0
         p0_ale_vid_ingress_drop: 0
         p0_ale_da_eq_sa_drop: 0
         p0_ale_block_drop: 0
         p0_ale_secure_drop: 0
         p0_ale_auth_drop: 0
         p0_ale_unknown_ucast: 0
         p0_ale_unknown_ucast_bytes: 0
         p0_ale_unknown_mcast: 0
         p0_ale_unknown_mcast_bytes: 0
         p0_ale_unknown_bcast: 0
         p0_ale_unknown_bcast_bytes: 0
         p0_ale_pol_match: 0
         p0_ale_pol_match_red: 0
         p0_ale_pol_match_yellow: 0
         p0_ale_mcast_sa_drop: 0
         p0_ale_dual_vlan_drop: 0
         p0_ale_len_err_drop: 0
         p0_ale_ip_next_hdr_drop: 0
         p0_ale_ipv4_frag_drop: 0
         p0_tx_mem_protect_err: 0
         p0_tx_pri0: 0
         p0_tx_pri1: 0
         p0_tx_pri2: 0
         p0_tx_pri3: 0
         p0_tx_pri4: 0
         p0_tx_pri5: 0
         p0_tx_pri6: 0
         p0_tx_pri7: 0
         p0_tx_pri0_bcnt: 0
         p0_tx_pri1_bcnt: 0
         p0_tx_pri2_bcnt: 0
         p0_tx_pri3_bcnt: 0
         p0_tx_pri4_bcnt: 0
         p0_tx_pri5_bcnt: 0
         p0_tx_pri6_bcnt: 0
         p0_tx_pri7_bcnt: 0
         p0_tx_pri0_drop: 0
         p0_tx_pri1_drop: 0
         p0_tx_pri2_drop: 0
         p0_tx_pri3_drop: 0
         p0_tx_pri4_drop: 0
         p0_tx_pri5_drop: 0
         p0_tx_pri6_drop: 0
         p0_tx_pri7_drop: 0
         p0_tx_pri0_drop_bcnt: 0
         p0_tx_pri1_drop_bcnt: 0
         p0_tx_pri2_drop_bcnt: 0
         p0_tx_pri3_drop_bcnt: 0
         p0_tx_pri4_drop_bcnt: 0
         p0_tx_pri5_drop_bcnt: 0
         p0_tx_pri6_drop_bcnt: 0
         p0_tx_pri7_drop_bcnt: 0
         rx_good_frames: 0
         rx_broadcast_frames: 0
         rx_multicast_frames: 0
         rx_pause_frames: 0
         rx_crc_errors: 0
         rx_align_code_errors: 0
         rx_oversized_frames: 0
         rx_jabber_frames: 0
         rx_undersized_frames: 0
         rx_fragments: 0
         ale_drop: 0
         ale_overrun_drop: 0
         rx_octets: 0
         tx_good_frames: 582
         tx_broadcast_frames: 457
         tx_multicast_frames: 125
         tx_pause_frames: 0
         tx_deferred_frames: 0
         tx_collision_frames: 0
         tx_single_coll_frames: 0
         tx_mult_coll_frames: 0
         tx_excessive_collisions: 0
         tx_late_collisions: 0
         rx_ipg_error: 0
         tx_carrier_sense_errors: 0
         tx_octets: 38771
         tx_64B_frames: 459
         tx_65_to_127B_frames: 123
         tx_128_to_255B_frames: 0
         tx_256_to_511B_frames: 0
         tx_512_to_1023B_frames: 0
         tx_1024B_frames: 0
         net_octets: 38771
         rx_bottom_fifo_drop: 0
         rx_port_mask_drop: 0
         rx_top_fifo_drop: 0
         ale_rate_limit_drop: 0
         ale_vid_ingress_drop: 0
         ale_da_eq_sa_drop: 0
         ale_block_drop: 0
         ale_secure_drop: 0
         ale_auth_drop: 0
         ale_unknown_ucast: 0
         ale_unknown_ucast_bytes: 0
         ale_unknown_mcast: 0
         ale_unknown_mcast_bytes: 0
         ale_unknown_bcast: 0
         ale_unknown_bcast_bytes: 0
         ale_pol_match: 0
         ale_pol_match_red: 0
         ale_pol_match_yellow: 0
         ale_mcast_sa_drop: 0
         ale_dual_vlan_drop: 0
         ale_len_err_drop: 0
         ale_ip_next_hdr_drop: 0
         ale_ipv4_frag_drop: 0
         iet_rx_assembly_err: 0
         iet_rx_assembly_ok: 0
         iet_rx_smd_err: 0
         iet_rx_frag: 0
         iet_tx_hold: 0
         iet_tx_frag: 0
         tx_mem_protect_err: 0
         tx_pri0: 582
         tx_pri1: 0
         tx_pri2: 0
         tx_pri3: 0
         tx_pri4: 0
         tx_pri5: 0
         tx_pri6: 0
         tx_pri7: 0
         tx_pri0_bcnt: 38771
         tx_pri1_bcnt: 0
         tx_pri2_bcnt: 0
         tx_pri3_bcnt: 0
         tx_pri4_bcnt: 0
         tx_pri5_bcnt: 0
         tx_pri6_bcnt: 0
         tx_pri7_bcnt: 0
         tx_pri0_drop: 0
         tx_pri1_drop: 0
         tx_pri2_drop: 0
         tx_pri3_drop: 0
         tx_pri4_drop: 0
         tx_pri5_drop: 0
         tx_pri6_drop: 0
         tx_pri7_drop: 0
         tx_pri0_drop_bcnt: 0
         tx_pri1_drop_bcnt: 0
         tx_pri2_drop_bcnt: 0
         tx_pri3_drop_bcnt: 0
         tx_pri4_drop_bcnt: 0
         tx_pri5_drop_bcnt: 0
         tx_pri6_drop_bcnt: 0
         tx_pri7_drop_bcnt: 0
    root@tgu:~# 

    我认为 DRA821中的数据包是从 MAC 到 PHY 的 TX/RX。
    SGMII 类型的连接是否存在问题?

    请检查。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我理解这是下图。
    是否存在任何误解?

    "不,我不是这个意思。"

    Unknown 说:

    要查看数据包、可使用以下命令。
    # tcpdump -i eth2 -xx

    我不认为数据包是 DRA821中从 MAC 到 PHY 的 TX/RX

    从统计数据转储来看、ETH2 Tx 数据包计数似乎在增加、但 Rx 数据包计数为0。 即 MAC 端口未接收到数据包。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    由于 ethtool 的统计信息是从 MAC 获取的、因此在 PHY 之前无法确定数据包是 TX。

    当通过设置 PHY 的本地环回函数进行测试时、它不会成为数据包 RX。
    设置远程环回后、PC 上的数据包 TXed 将正常 RX。
    "MAC <-SGMII->PHY"配置似乎存在问题。
    请支持如何调试该部件。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    由于 ethtool 的统计信息是从 MAC 获得的、因此在 PHY 之前无法确定数据包是 TX。

    是的、由于接口的链路已接通、网络堆栈将数据包推入驱动程序、并且基于 ALE 的数据包将从 MAC 端口发送。
    不保证这些都会从 PHY 发出。

    通过设置 PHY 的本地环回功能进行测试时、该文件不会成为数据包 RX。

    理想情况下、该值应变为 Rx、因为启用了环回。 如果 PHY 到 MAC 连接正常、则至少应增加 MAC 的 Rx 统计信息。

    设置远程环回后、PC 上的数据包 TXed 正常为 RX。

    在这里、您是从 PC 端或 TI SOC 端设置它。
    我可以在设置之间看到介质转换器。 您是否连接了 PHY5、PHY6环回或什么?

    "MAC <-SGMII->PHY"配置似乎有问题

    SERDES 配置为 SGMII、且 PLL 也锁定。 我们需要从 CPSW 驱动程序侧检查端口模式配置。
    当端口配置为 SGMII 模式时、我们观察到了调试输出。

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5545753 #5545753"]从 CPSW SGMII 状态寄存器看、自协商似乎未完成。
    此外、在 CPSW SGMII 控制寄存器中、未启用自动协商。[/QUOT]

    您是否可以转储 CPSW SGMII 状态寄存器、广播寄存器和 SGMII 控制寄存器?

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这是我之前在我的回复中发布的内容。
    您是否需要其他寄存器信息?

    SGMII 状态寄存器

    root@TGU:~# devmem2 0x0C000114 w
    /dev/mem 打开。
    已将存储器映射至地址0xff83aae000。
    在地址0x0C000114 (0xffffff83aae114)处读取:0x00000031
    root@TGU:~# devmem2 0x0C000214 w
    /dev/mem 打开。
    已将内存映射至地址0xffffb3575000。
    在地址0x0C000214 (0xffffff3575214)处读取:0x00000022
    root@TGU:~# devmem2 0x0C000314 w
    /dev/mem 打开。
    已将存储器映射至地址0xFFffb9732000。
    在地址0x0C000314 (0xFFffb9732314)处读取:0x0000002A
    root@TGU:~# devmem2 0x0C000414 w
    /dev/mem 打开。
    存储器映射在地址0xffa33e1000。
    在地址0x0C000414 (0xffffff33e1414)处读取:0x00000031

    SGMII 控制寄存器

    root@TGU:~# devmem2 0x0C000110 w
    /dev/mem 打开。
    存储器映射在地址0xffbe0be000。
    在地址0x0C000110 (0xffffffbe0be110)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000210 w
    /dev/mem 打开。
    映射到地址0xffffb1f23000处的存储器。
    在地址0x0C000210 (0xffffff1f23210)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000310 w
    /dev/mem 打开。
    存储器映射在地址0xff91fca000处。
    在地址0x0C000310 (0xFFff91fca310):0x00000000处读取
    root@TGU:~# devmem2 0x0C000410 w
    /dev/mem 打开。
    存储器映射在地址0xff88522000处。
    在地址0x0C000410 (0xffffff88522410)处读取:0x00000000

    SGMII MR ADV 寄存器

    root@TGU:~# devmem2 0x0C000118 w
    /dev/mem 打开。
    存储器映射在地址0xff94181000处。
    在地址0x0C000118 (0xffffff94181118)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000218 w
    /dev/mem 打开。
    存储器映射在地址0xfffbd3f5000处。
    在地址0x0C000218 (0xFFFffbd3f5218):0x00000000处读取
    root@TGU:~# devmem2 0x0C000318 w
    /dev/mem 打开。
    存储器映射在地址0xff8c42d000处。
    在地址0x0C000318 (0xffffff8c42d318)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000418 w
    /dev/mem 打开。
    地址0xffffff8af46000处映射了存储器。
    在地址0x0C000418 (0xffffff8af46418)上读取:0x00000000

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5545753 #5545753"]从 CPSW SGMII 状态寄存器看、自协商似乎未完成。
    此外、在 CPSW SGMII 控制寄存器中、未启用自动协商。[/QUOT]

    我之前做了一些注释、说明 SGMII 控制寄存器未启用自动协商功能、在相同的广播寄存器中也是零。
    请在链路建立后进行相同检查。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当查询 eth1和 eth2链路建立后、如下所示。


    SGMII 控制寄存器

    root@TGU:~# devmem2 0x0C000110 w
    /dev/mem 打开。
    存储器映射在地址0xff8c54e000。
    在地址0x0C000110 (0xffffff8c54e110)处读取:0x00000001
    root@TGU:~# devmem2 0x0C000210 w
    /dev/mem 打开。
    已将存储器映射至地址0xffa3686000。
    在地址0x0C000210 (0xffffff3686210)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000310 w
    /dev/mem 打开。
    在地址0xff9da42000处映射存储器。
    在地址0x0C000310 (0xffffff9da42310)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000410 w
    /dev/mem 打开。
    存储器映射在地址0xff8bcac000处。
    在地址0x0C000410 (0xffffff8bcac410)处读取:0x00000001
    根@TGU:~#

    SGMII 状态寄存器

    root@TGU:~# devmem2 0x0C000114 w
    /dev/mem 打开。
    已映射地址0xffabbcc000处的存储器。
    在地址0x0C000114 (0xFFffabbcc114)处读取:0x0000003D
    root@TGU:~# devmem2 0x0C000214 w
    /dev/mem 打开。
    存储器映射在地址0xff990b4000处。
    在地址0x0C000214 (0xffffff990b4214)处读取:0x00000022
    root@TGU:~# devmem2 0x0C000314 w
    /dev/mem 打开。
    映射到地址0xffa909b000处的存储器。
    在地址0x0C000314 (0xffa909b314):0x0000002A 处读取
    root@TGU:~# devmem2 0x0C000414 w
    /dev/mem 打开。
    存储器映射在地址0xff89d72000处。
    在地址0x0C000414 (0xffffff89d72414)处读取:0x0000003D
    根@TGU:~#

    SGMII MR ADV 寄存器

    root@TGU:~# devmem2 0x0C000118 w
    /dev/mem 打开。
    存储器映射在地址0xff9bbc8000处。
    在地址0x0C000118 (0xffffff9bbc8118)处读取:0x00000001
    root@TGU:~# devmem2 0x0C000218 w
    /dev/mem 打开。
    存储器映射在地址0xffa184b000。
    在地址0x0C000218 (0xFFffa184b218)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000318 w
    /dev/mem 打开。
    存储器映射在地址0xff92fd0000处。
    在地址0x0C000318 (0xffffff92fd0318)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000418 w
    /dev/mem 打开。
    存储器映射在地址0xffa3542000处。
    在地址0x0C000418 (0xffa3542418)处读取:0x00000001
    根@TGU:~#

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    感谢您分享日志、让我来检查并尽快回复您。  

    此致、  

    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从上面的寄存器日志来看、它似乎从 SGMII 控制寄存器中启用了自协商。
    此外、从 SGMII 状态注册商处完成后、PLL 也被锁定。

    您能否在运行 ping、任何错误或丢弃帧时检查 CPSW 统计信息?

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    请告诉我可以检查 CPSW 统计信息的命令或寄存器

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请告诉我可以检查 CPSW 统计信息的命令或寄存器

    # ethtool -S

    可以在 eth2中使用端口的接口名称。 上面将转储对应于接口/端口的统计数据。

    此外、您可以转储以下时钟信息吗?

    CPSW5G 时钟转储
    #k3conf 转储时钟19.

    串行器/解串器时钟转储
    第292.

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在"统计信息"中、我看不到来自 MAC 端口的 Rx 帧。 这意味着 MAC 没有接收到帧。

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5566284 #5566284"]串行器/解串器时钟转储
    #k3conf 转储时钟292[/报价]

    您是否还能提供串行器/解串器时钟转储。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    串行器/解串器时钟似乎也没有问题。

    您可以检查以下串行器/解串器时钟更新、Rx 数据包数量是否增加?


    注意:
    进行上述更改后、请重新编译 Linux-DTB 并使用更新的 dtbo。


    此外、从 PHY 端检查 Tx 和 Rx 数据包计数是否有任何可用的统计信息。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我按如下所示应用它、但 RX 计数没有增加。

    root@tgu:~# ifconfig eth2
    eth2      Link encap:Ethernet  HWaddr D2:DD:98:8E:51:18
              inet addr:192.168.200.1  Bcast:192.168.200.255  Mask:255.255.255.0
              inet6 addr: fe80::d0dd:98ff:fe8e:5118/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:513 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:22316 (21.7 KiB)
    
    root@tgu:~# ifconfig eth2
    eth2      Link encap:Ethernet  HWaddr D2:DD:98:8E:51:18
              inet addr:192.168.200.1  Bcast:192.168.200.255  Mask:255.255.255.0
              inet6 addr: fe80::d0dd:98ff:fe8e:5118/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:514 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:22358 (21.8 KiB)
    
    root@tgu:~# ifconfig eth2
    eth2      Link encap:Ethernet  HWaddr D2:DD:98:8E:51:18
              inet addr:192.168.200.1  Bcast:192.168.200.255  Mask:255.255.255.0
              inet6 addr: fe80::d0dd:98ff:fe8e:5118/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:514 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:22358 (21.8 KiB)
    
    root@tgu:~# ethtool -S eth2
    NIC statistics:
         p0_rx_good_frames: 537
         p0_rx_broadcast_frames: 515
         p0_rx_multicast_frames: 22
         p0_rx_crc_errors: 0
         p0_rx_oversized_frames: 0
         p0_rx_undersized_frames: 0
         p0_ale_drop: 0
         p0_ale_overrun_drop: 0
         p0_rx_octets: 34754
         p0_tx_good_frames: 0
         p0_tx_broadcast_frames: 0
         p0_tx_multicast_frames: 0
         p0_tx_octets: 0
         p0_tx_64B_frames: 517
         p0_tx_65_to_127B_frames: 20
         p0_tx_128_to_255B_frames: 0
         p0_tx_256_to_511B_frames: 0
         p0_tx_512_to_1023B_frames: 0
         p0_tx_1024B_frames: 0
         p0_net_octets: 34754
         p0_rx_bottom_fifo_drop: 0
         p0_rx_port_mask_drop: 0
         p0_rx_top_fifo_drop: 0
         p0_ale_rate_limit_drop: 0
         p0_ale_vid_ingress_drop: 0
         p0_ale_da_eq_sa_drop: 0
         p0_ale_block_drop: 0
         p0_ale_secure_drop: 0
         p0_ale_auth_drop: 0
         p0_ale_unknown_ucast: 0
         p0_ale_unknown_ucast_bytes: 0
         p0_ale_unknown_mcast: 0
         p0_ale_unknown_mcast_bytes: 0
         p0_ale_unknown_bcast: 0
         p0_ale_unknown_bcast_bytes: 0
         p0_ale_pol_match: 0
         p0_ale_pol_match_red: 0
         p0_ale_pol_match_yellow: 0
         p0_ale_mcast_sa_drop: 0
         p0_ale_dual_vlan_drop: 0
         p0_ale_len_err_drop: 0
         p0_ale_ip_next_hdr_drop: 0
         p0_ale_ipv4_frag_drop: 0
         p0_tx_mem_protect_err: 0
         p0_tx_pri0: 0
         p0_tx_pri1: 0
         p0_tx_pri2: 0
         p0_tx_pri3: 0
         p0_tx_pri4: 0
         p0_tx_pri5: 0
         p0_tx_pri6: 0
         p0_tx_pri7: 0
         p0_tx_pri0_bcnt: 0
         p0_tx_pri1_bcnt: 0
         p0_tx_pri2_bcnt: 0
         p0_tx_pri3_bcnt: 0
         p0_tx_pri4_bcnt: 0
         p0_tx_pri5_bcnt: 0
         p0_tx_pri6_bcnt: 0
         p0_tx_pri7_bcnt: 0
         p0_tx_pri0_drop: 0
         p0_tx_pri1_drop: 0
         p0_tx_pri2_drop: 0
         p0_tx_pri3_drop: 0
         p0_tx_pri4_drop: 0
         p0_tx_pri5_drop: 0
         p0_tx_pri6_drop: 0
         p0_tx_pri7_drop: 0
         p0_tx_pri0_drop_bcnt: 0
         p0_tx_pri1_drop_bcnt: 0
         p0_tx_pri2_drop_bcnt: 0
         p0_tx_pri3_drop_bcnt: 0
         p0_tx_pri4_drop_bcnt: 0
         p0_tx_pri5_drop_bcnt: 0
         p0_tx_pri6_drop_bcnt: 0
         p0_tx_pri7_drop_bcnt: 0
         rx_good_frames: 0
         rx_broadcast_frames: 0
         rx_multicast_frames: 0
         rx_pause_frames: 0
         rx_crc_errors: 0
         rx_align_code_errors: 0
         rx_oversized_frames: 0
         rx_jabber_frames: 0
         rx_undersized_frames: 0
         rx_fragments: 0
         ale_drop: 0
         ale_overrun_drop: 0
         rx_octets: 0
         tx_good_frames: 537
         tx_broadcast_frames: 515
         tx_multicast_frames: 22
         tx_pause_frames: 0
         tx_deferred_frames: 0
         tx_collision_frames: 0
         tx_single_coll_frames: 0
         tx_mult_coll_frames: 0
         tx_excessive_collisions: 0
         tx_late_collisions: 0
         rx_ipg_error: 0
         tx_carrier_sense_errors: 0
         tx_octets: 34754
         tx_64B_frames: 517
         tx_65_to_127B_frames: 20
         tx_128_to_255B_frames: 0
         tx_256_to_511B_frames: 0
         tx_512_to_1023B_frames: 0
         tx_1024B_frames: 0
         net_octets: 34754
         rx_bottom_fifo_drop: 0
         rx_port_mask_drop: 0
         rx_top_fifo_drop: 0
         ale_rate_limit_drop: 0
         ale_vid_ingress_drop: 0
         ale_da_eq_sa_drop: 0
         ale_block_drop: 0
         ale_secure_drop: 0
         ale_auth_drop: 0
         ale_unknown_ucast: 0
         ale_unknown_ucast_bytes: 0
         ale_unknown_mcast: 0
         ale_unknown_mcast_bytes: 0
         ale_unknown_bcast: 0
         ale_unknown_bcast_bytes: 0
         ale_pol_match: 0
         ale_pol_match_red: 0
         ale_pol_match_yellow: 0
         ale_mcast_sa_drop: 0
         ale_dual_vlan_drop: 0
         ale_len_err_drop: 0
         ale_ip_next_hdr_drop: 0
         ale_ipv4_frag_drop: 0
         iet_rx_assembly_err: 0
         iet_rx_assembly_ok: 0
         iet_rx_smd_err: 0
         iet_rx_frag: 0
         iet_tx_hold: 0
         iet_tx_frag: 0
         tx_mem_protect_err: 0
         tx_pri0: 537
         tx_pri1: 0
         tx_pri2: 0
         tx_pri3: 0
         tx_pri4: 0
         tx_pri5: 0
         tx_pri6: 0
         tx_pri7: 0
         tx_pri0_bcnt: 34754
         tx_pri1_bcnt: 0
         tx_pri2_bcnt: 0
         tx_pri3_bcnt: 0
         tx_pri4_bcnt: 0
         tx_pri5_bcnt: 0
         tx_pri6_bcnt: 0
         tx_pri7_bcnt: 0
         tx_pri0_drop: 0
         tx_pri1_drop: 0
         tx_pri2_drop: 0
         tx_pri3_drop: 0
         tx_pri4_drop: 0
         tx_pri5_drop: 0
         tx_pri6_drop: 0
         tx_pri7_drop: 0
         tx_pri0_drop_bcnt: 0
         tx_pri1_drop_bcnt: 0
         tx_pri2_drop_bcnt: 0
         tx_pri3_drop_bcnt: 0
         tx_pri4_drop_bcnt: 0
         tx_pri5_drop_bcnt: 0
         tx_pri6_drop_bcnt: 0
         tx_pri7_drop_bcnt: 0
    root@tgu:~#

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否从 PHY 端确认了 Tx 和 Rx 是否正常? 通过读取 PHY 统计信息(如果存在)。

    此外、您能否通过在远程侧运行 Wire-shark 来检查从 CPSW 发送的数据在对等端接收、因为我们正在观察来自 MAC 的 Tx 数据包统计信息。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    PHY 没有统计寄存器。
    当我在连接的 PC 上检查 Wireshark 时、没有数据包 RX。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否已确认介质转换器到远程 PC、链路已接通?
    是否能够从远程 PC 在介质转换器端进行外部环回、并观察 Tx 数据包是否返回?
    此外、PHY 是否已针对 SGMII 接口正确配置?

    请从介质转换器和 PHY 端确认。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当前、如下图所示、配置远程环回后、我可以验证从 PC 传输的数据包是否已接收(RX)。

    当设置本地环回时、没有数据包是 RX。

    使用 EthFW 时、通常会执行数据包 TX/RX。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    使用 EthFW 时、通常执行数据包 TX/RX。

    在这里、您的意思是什么、使用 ETHFW、您可以成功地从上面进行传输和接收。

    为本机 Linux 驱动程序配置时、是否可以交叉检查 ETHFW 是否未加载? 您能不能检查 ETHFW 和 Linux 驱动器中 PHY 配置的任何差异?

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当我禁用本机以太网(使用 EthFW)时、数据包 TX/RX 运行良好。

    EthFW 的停用设置已确认如下。

    root@tgu:~# cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
    Sciclient_boardCfgRm init Passed
    DM Built On: Oct 31 2023 18:10:42
    Sciserver Version: v2023.10.0.0-SYSFW_09.01.02.01-1-g40182
    RM_PM_HAL Version: v09.01.02+
    Starting Sciserver..... PASSED
    IPC_echo_test (core : mcu1_0) .....
    mcu1_0 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    root@tgu:~# cat /sys/kernel/debug/remoteproc/remoteproc1/trace0
    cat: can't open '/sys/kernel/debug/remoteproc/remoteproc1/trace0': No such file or directory
    root@tgu:~# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0
    IPC_echo_test (core : mcu2_0) .....
    mcu2_0 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    root@tgu:~# cat /sys/kernel/debug/remoteproc/remoteproc3/trace0
    IPC_echo_test (core : mcu2_1) .....
    mcu2_1 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    root@tgu:~#

    EthFW 的 PHY 驱动程序和本机 Linux 驱动程序是相同的。

    在 AP 上设置 SGMII 是否有任何问题?

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当我禁用本机以太网(使用 EthFW)时、数据包 TX/RX 可以正常工作。

    SERDES 是通过 Linux 进行配置的吗? 默认情况下、串行器/解串器是在 u-boot/Linux 中配置的。 ETHFW 不会配置串行器/解串器。

    EthFW 的 PHY 驱动程序和本机 Linux 驱动程序是相同的。

    您是否验证了 PHY 寄存器配置?

    在 AP 上设置 SGMII 时是否有任何问题?

    否、默认情况下、Linux 端支持 SGMII。

    您能在 ETHFW 示例和本机 Linux 驱动程序中查看 SGMII 控制寄存器和状态寄存器吗?

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请参阅下表。

    原生以太网 EthFW
    控制寄存器 root@TGU:~# devmem2 0x0C000110 w
    /dev/mem 打开。
    存储器映射在地址0xff8c54e000。
    在地址0x0C000110 (0xffffff8c54e110)处读取:0x00000001
    root@TGU:~# devmem2 0x0C000210 w
    /dev/mem 打开。
    已将存储器映射至地址0xffa3686000。
    在地址0x0C000210 (0xffffff3686210)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000310 w
    /dev/mem 打开。
    在地址0xff9da42000处映射存储器。
    在地址0x0C000310 (0xffffff9da42310)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000410 w
    /dev/mem 打开。
    存储器映射在地址0xff8bcac000处。
    在地址0x0C000410 (0xffffff8bcac410)处读取:0x00000001
    根@TGU:~#
    root@TGU:~# devmem2 0x0C000110 w
    /dev/mem 打开。
    已映射地址0xffa5c28000处的存储器。
    在地址0x0C000110 (0xffffff5c28110)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000210 w
    /dev/mem 打开。
    在地址0xffb00b6000处映射存储器。
    在地址0x0C000210 (0xFFffb00b6210):0x00000000处读取
    root@TGU:~# devmem2 0x0C000310 w
    /dev/mem 打开。
    已在地址0xfffbf1af000处映射内存。
    在地址0x0C000310 (0xfffffff1af310)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000410 w
    /dev/mem 打开。
    已将内存映射至地址0xffffb8917000。
    在地址0x0C000410 (0xFFffb8917410)处读取:0x00000000
    根@TGU:~#
    状态寄存器 root@TGU:~# devmem2 0x0C000114 w
    /dev/mem 打开。
    已映射地址0xffabbcc000处的存储器。
    在地址0x0C000114 (0xFFffabbcc114)处读取:0x0000003D
    root@TGU:~# devmem2 0x0C000214 w
    /dev/mem 打开。
    存储器映射在地址0xff990b4000处。
    在地址0x0C000214 (0xffffff990b4214)处读取:0x00000022
    root@TGU:~# devmem2 0x0C000314 w
    /dev/mem 打开。
    映射到地址0xffa909b000处的存储器。
    在地址0x0C000314 (0xffa909b314):0x0000002A 处读取
    root@TGU:~# devmem2 0x0C000414 w
    /dev/mem 打开。
    存储器映射在地址0xff89d72000处。
    在地址0x0C000414 (0xffffff89d72414)处读取:0x0000003D
    根@TGU:~#
    root@TGU:~# devmem2 0x0C000114 w
    /dev/mem 打开。
    在地址0xff9ef20000处映射存储器。
    在地址0x0C000114 (0xffffff9ef20114)处读取:0x00000031
    root@TGU:~# devmem2 0x0C000214 w
    /dev/mem 打开。
    已将内存映射至地址0xff89ae1000。
    在地址0x0C000214 (0xffffff89ae1214)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000314 w
    /dev/mem 打开。
    存储器映射在地址0xffafc19000。
    在地址0x0C000314 (0xffffffc19314)处读取:0x00000028
    root@TGU:~# devmem2 0x0C000414 w
    /dev/mem 打开。
    存储器映射在地址0xff8e916000处。
    在地址0x0C000414 (0xffffff8e916414)处读取:0x00000031
    根@TGU:~#
    功能寄存器中 root@TGU:~# devmem2 0x0C000118 w
    /dev/mem 打开。
    存储器映射在地址0xff9bbc8000处。
    在地址0x0C000118 (0xffffff9bbc8118)处读取:0x00000001
    root@TGU:~# devmem2 0x0C000218 w
    /dev/mem 打开。
    存储器映射在地址0xffa184b000。
    在地址0x0C000218 (0xFFffa184b218)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000318 w
    /dev/mem 打开。
    存储器映射在地址0xff92fd0000处。
    在地址0x0C000318 (0xffffff92fd0318)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000418 w
    /dev/mem 打开。
    存储器映射在地址0xffa3542000处。
    在地址0x0C000418 (0xffa3542418)处读取:0x00000001
    根@TGU:~#
    root@TGU:~# devmem2 0x0C000118 w
    /dev/mem 打开。
    存储器映射在地址0xff839f5000处。
    在地址0x0C000118 (0xffffff839f5118)处读取:0x00009801
    root@TGU:~# devmem2 0x0C000218 w
    /dev/mem 打开。
    存储器映射在地址0xffa8491000处。
    在地址0x0C000218 (0xFFFWA8491218)处读取:0x00000000
    root@TGU:~# devmem2 0x0C000318 w
    /dev/mem 打开。
    存储器映射在地址0xff9a59b000。
    在地址0x0C000318 (0xffffff9a59b318)上读取:0x00000000
    root@TGU:~# devmem2 0x0C000418 w
    /dev/mem 打开。
    在地址0xffac149000处映射存储器。
    在地址0x0C000418 (0xffffff149418)上读取:0x00009801
    根@TGU:~#

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5581026 #5581026"]
    当我禁用本机以太网(使用 EthFW)时、数据包 TX/RX 运行良好。

    SERDES 是通过 Linux 进行配置的吗? 默认情况下、串行器/解串器是在 u-boot/Linux 中配置的。 ETHFW 不会配置串行器/解串器。

    [报价]

    您能否确认 ETHFW 应用的串行器/解串器配置。

    [报价 userid="540868" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5581026 #5581026"]
    EthFW 的 PHY 驱动程序和本机 Linux 驱动程序是相同的。

    您是否验证了 PHY 寄存器配置?

    [报价]

    您是否确认了 PHY 寄存器?

    此外、您是否可以将 am65-cpsw-nuss 驱动程序中的"advertise_SGMII"更改为0x9801而不是0x1并检查一次。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否确认 ETHFW 应用的串行器/解串器配置。

    =>应该在哪里检查 EthFW 的配置?

    您是否确认了 PHY 寄存器?

    => 我检查了与链路相关的寄存器、两个值是相同的。 我还会检查寄存器的其余部分。

    此外、您是否可以将 am65-cpsw-nuss 驱动程序中的"advertise_SGMII"更改为0x9801而不是0x1并检查一次。

    => 按照如下所示、我通过在 am65-cpsw-nuss.c 中将 AM65_CPSW_SGMII_MR_ADV_ABILITY_REG 设置为0x9801进行了检查、但它不起作用 TX/RX。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="597236" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5583763 #5583763"]

    您能否确认 ETHFW 应用的串行器/解串器配置。

    =>应该在哪里检查 EthFW 的配置?

    [报价]

    我想问的是、串行器/解串器由谁配置、是 ETHFW、U-boot 还是 Linux。
    默认情况下、TI SDK 支持适用于 QSGMII + PCIe 的串行器/解串器。 根据您的用例、串行器/解串器应配置为 USB + SGMII
    如果串行器/解串器配置为 U-BOOT/Linux、那么即使在本机 Linux 驱动器模式下、串行器/解串器配置也不会出现问题。

    [报价 userid="597236" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5583763 #5583763"]

    您是否确认了 PHY 寄存器?

    => 我检查了与链路相关的寄存器、两个值是相同的。 我还会检查寄存器的其余部分。

    [报价]

    如果 PHY 侧链路正常、则可能是与链路伙伴建立链路。
    请检查 PHY 配置寄存器、是否已启用 SGMII 模式。

    [报价 userid="597236" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5583763 #5583763"]

    此外、您是否可以将 am65-cpsw-nuss 驱动程序中的"advertise_SGMII"更改为0x9801而不是0x1并检查一次。

    => 按照如下所示、我通过在 am65-cpsw-nuss.c 中将 AM65_CPSW_SGMII_MR_ADV_ABILITY_REG 设置为0x9801进行了检查、但它不起作用 TX/RX。

    [报价]

    如果您仍然不观察 Rx 数据包计数、则主要是 PHY 问题。
    我们按预期配置了寄存器值、此外、如果在用作本机 Linux 驱动程序用例的工作案例中将串行器/解串器配置为 U-BOOT/Linux、那么串行器/解串器侧也不会有问题。
    对于 ETHFW 与原生 Linux 驱动程序而言、只有变量是 PHY 驱动程序。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当我禁用本地以太网时(应用 EthFW 时)、内核中的 DTS 设置如下。

    内核 dts 没有 CPSW5G 设置。

    &serdes_ln_ctrl {
            idle-states = <J7200_SERDES0_LANE0_IP3_UNUSED>, <J7200_SERDES0_LANE1_QSGMII_LANE4>,
                          <J7200_SERDES0_LANE2_QSGMII_LANE1>, <J7200_SERDES0_LANE3_USB>;
    };
    
    &serdes0 {
            #address-cells = <1>;
            #size-cells = <0>;
    
            serdes0_sgmii_link: phy@1 {
                    reg = <1>;
                    cdns,num-lanes = <2>;
                    #phy-cells = <0>;
                    cdns,phy-type = <PHY_TYPE_SGMII>;
                    resets = <&serdes_wiz0 2>, <&serdes_wiz0 3>;
            };
    
            serdes0_usb_link: phy@2 {
                    reg = <3>;
                    cdns,num-lanes = <1>;
                    #phy-cells = <0>;
                    cdns,phy-type = <PHY_TYPE_USB3>;
                    resets = <&serdes_wiz0 4>;
            };
    };
    
    

    我已经检查 PHY 中的 SGMII 控制、SGMII 状态和 SGMII 广播寄存器、但找不到任何错误。

    我认为、下周会在 EthFW 激活后进行寄存器比较。

    由于 EthFW 中使用的 PHY 驱动程序已应用于内核、因此我预计不会有差异。 但是、我将转储所有寄存器、并在下周进行比较。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="597236" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5583824 #5583824"]

    当我禁用本地以太网时(应用 EthFW 时)、内核中的 DTS 设置如下。

    内核 dts 没有 CPSW5G 设置。

    [报价]

    似乎您是从 Linux 配置 SerDes、即使在 ETHFW 中也是如此。
    因此、对于串行器/解串器、不需要进行任何更改、因为 ETHFW 案例 SGMII 按预期工作。

    我们还确认了 CPSW 端口寄存器、SGMII 控制寄存器和状态寄存器从 MAC 端接通。

    因此、唯一需要确认的变量是 PHY 驱动程序。 如果从 PDK Enet 模块配置 ETHFW PHY、则必须在该模块中集成 PHY 驱动程序。
    请重新确认 ETHFW 和本机 Linux 中使用的 PHY 驱动程序是否与 PHY 配置相同。

    [报价 userid="597236" url="~/support/processors-group/processors/f/processors-forum/1443249/dra821u-activating-cpsw5g-linux-native-ethernet-for-sgmii-rmii/5583824 #5583824"]

    我认为、下周会在 EthFW 激活后进行寄存器比较。

    由于 EthFW 中使用的 PHY 驱动程序已应用于内核、因此我预计不会有差异。 但是、我将转储所有寄存器、并在下周进行比较。

    [报价]

    请检查并告知我们更新。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    PHY ID (eth1 <->eth2)设置不正确、未发送流量。
    感谢你的帮助。

    您可以关闭该问题。

    此致、

    Dohyeon.Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    感谢您的确认。  

    将关闭该线程。  

    此致、  

    Sudheer