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.

[参考译文] PROCESSOR-SDK-AM437X:在 AM437x 的 eth0 eth1上绑定驱动程序时出现问题

Guru**** 2553390 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/953735/processor-sdk-am437x-issue-with-bonding-driver-over-eth0-eth1-of-am437x

器件型号:PROCESSOR-SDK-AM437X

您好!

我们使用以下绑定设置命令通过 AM437x-gp-EVM 中的 eth0和 eth1绑定驱动程序:

insmod /home/root/bonding.ko ad_select=0 mode=4 miimon=100
睡眠1
ifconfig bond0 up
/home/root/ifenslave bond0 eth0 eth1

ifconfig bond0混杂

ifconfig bond0 192.168.1.226

连接两根网线时,如果我们在 ping 时拉出活动电缆, 则会 丢失两个数据包。

我们在 x86系统(Linux 2.6.18)中使用 相同的操作来尝试它,ping 操作正常,不会丢失数据包。

CPsw 似乎 太慢,无法检测载波,是否需要修改任何参数表?

我们的 SDK 版本为 ti-processor-sdk-linux-AM437X-EVM-0.5.01.00.11

Linux 版本为4.14.67

此致、

杜德豪

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

    您好!

    请描述一下设置吗? 例如、AM437与其链路合作伙伴之间的连接是什么?

    由于您担心数据包丢失、为什么不选择绑定模式3?

    此致、

    Schuyler

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

    Schuyler、您好、

    我们将 AM437x 的两 个网络端口连接到支持绑定模式的以太网交换机。

    我们可以与支持绑定模式 的 PC 通信、并通过两个端口连接到同一台 ethnernet 交换机。

    当拉出活动端口并切换到另一个端口时、我们可以发现丢失的数据包比 PC 多。 在 AM437x 中、另一个端口在超过2秒的时间内处于活动状态、在 PCS 中、该端口在大约200ms 内处于活动状态。

      我们希望在发生这种情况时所花费的时间不超过300ms (电缆连接或端口故障)。

    模式3是所需的双带宽、不适用于我们的应用。

    此致、

    杜德豪

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

    您好!

    我需要与开发团队一起研究这一点。 您能否描述您计划实施的测试设置和生产拓扑? 您能否还描述一下您如何测量链路恢复时间?  

    谢谢、此致、

    Schuyler

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

    Schuyler、您好、

    有  两 台 x86-64 PC (Linux2.6.18)、 一个 AM437x 嵌入式主板(Linux 4.14.67)、所有这三款器件都支持绑定模式4 (带2个网络端口)、并连接到支持绑定模式4的以太网交换机。

    所有器件 的接合 相同:insmod /hone/root/bonding.ko ad_select = 0 mode=4 miimon=100

    这三个器件运行我们的应用程序、该应用程序通过网络与音频和视频数据进行相互通信。  所有数据都打包为 RTP。   拔出活动网线时、我们可以从 RTP 数据包的方序号和时间戳中找到恢复时间。

    我们发现在 AM437x 嵌入式电路板中进行恢复所需的时间比在 x86-64 PC 上进行恢复所需的时间要多得多(大约2秒)(大约200毫秒)。  

    我们希望它可以小于300ms。

    如果在这种情况下执行 ping 操作、我们可以发现 AM437X 中丢失了更多数据包、但在 x86-64 PC 中几乎没有丢失数据包。

    此致、

    杜德豪

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

    加速链路检测事件的方法是使用以太网 PHY IRQ。

    您使用什么 PHY? PHY 是否支持 IRQ?PHY IRQ 是否正确连接?

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

    您好!

    我们使用的 PHY 是 RTL8311F。 PHY 中有一个名为 INTB/PMEB 的引脚、  该引脚在 AM437x 板中保持未连接状态。 是否可以将任何未使用的 GPIO   作为 IRQ 连接到此引脚?  如何修改 DTS 或驱动程序以支持它? 请向我展示有关 IRQ 的参考 DTS。 谢谢!  

    此致、

    杜德豪

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

    PHY IRQ 示例:

    dp83867_0:ethernet-phy@2{
    reg =<2>;
    ti、rx-interne-delay = ;
    ti、tx 内部延迟= ;
    ti, fifo-depth = ;
    ti、min-output-impedance;
    interrupt-parent =<&GPIO6>;
    interrupts =<16 IRQ_TYPEE_EDGE_FALLINGLEing>; 
    ^^^^ ti、dp83867-rxctrl-strap -quirk; };

    但请注意 、RTL8311F 不是 TI PHY、您可能需要咨询供应商有关 Linux 驱动程序和 IRQ 支持的信息。

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

    您好!

    感谢您的支持!

    请注意、

    杜德豪