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.

[参考译文] SK-AM62P-LP:Docker 运行时出错

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1421785/sk-am62p-lp-error-while-docker-run

器件型号:SK-AM62P-LP

工具与软件:

您好、TI:

我们使用的是 AM62p-LP 硼或

os- tisdk-Debian-bookworm-rt-am62pxx-evm 09.02版本

我们在此版本的操作系统中成功安装了 Docker。之后我尝试运行 helloworld 示例。运行时、我遇到以下错误。

root@am62pxx-evm:~# docker start 93ee7036c230
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: bpf_prog_query(BPF_CGROUP_DEVICE) failed: function not implemented: unknown
Error: failed to start containers: 93ee7036c230

我知道,BPF_CGROUP_DEVICE 这个标志也从/proc/config.gz 丢失了,我正在附加日志供您参考。

root@am62pxx-evm:~# zcat /proc/config.gz | grep CGROUP
CONFIG_CGROUPS=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
# CONFIG_BLK_CGROUP is not set
# CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_RDMA is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_HUGETLB is not set
CONFIG_CGROUP_DEVICE=y
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_CGROUP_MISC is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
CONFIG_NET_CLS_CGROUP=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
root@am62pxx-evm:~# zcat /proc/config.gz | grep BPF   
CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
# BPF subsystem
# CONFIG_BPF_SYSCALL is not set
# CONFIG_BPF_JIT is not set
# end of BPF subsystem
# CONFIG_NETFILTER_XT_MATCH_BPF is not set
# CONFIG_BPFILTER is not set
# CONFIG_NET_CLS_BPF is not set
# CONFIG_NET_ACT_BPF is not set
# CONFIG_TEST_BPF is not set

我尝试在最新版本的 debian Trixie 中安装 Docker、但在安装时遇到一个错误、它无法在使用 apt-update 时找到发布文件。 链接下载。

docs.docker.com/.../

提前感谢、

BR、

Raj。

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

    您好!

    SDK 中应已支持 Docker。 让我明天检查一下、给您回过来。

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

    刘斌、您好!

    我们以前也在 debian image 中尝试过,当时我们在安装时遇到了问题.你可以参考这个线程 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1390261/tmds64evm-docker-error-related-to-kernel-build/5365218?tisearch=e2e-sitesearch&keymatch=%25252520user%2525253A597546#5365218

    在上一主题中、TI 创建了一个问题记录 ID SITSW-4864。 我已从 Trixie 的发行说明中验证、但在当前 debian 发行版本中仍存在未解决的已知问题(如果 iam 没有错误)。

    BR、

    Raj。

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

    Raj、您好!

    感谢您提供关于该问题的先前通信的主题。 我查看了内部记录 SITSW-4864、由于其他依赖项、在 SDK10.0中未解决该问题。 我正在与开发团队核实是否可以在 SDK10.1中解决该问题。

    同时、我想看看您是否可以使用启用了相应内核选项来重建内核以使 Docker 正常工作-在上一个线程中、它似乎表明 Docker 不仅需要 CONFIG_CGROUP_BPF=y、还需要 CONFIG_EXT4_FS_SECURITY=y 和 CONFIG_EXT3_FS_SECURITY=y。 您是否已尝试启用这些选项来查看这些是否是唯一缺少的内核选项?

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

    您好、Bin、

    我们找到了两个问题、

    1. 我已在中安装 Docker Debian bookworm 09.02 (上一版本)。 在这个版本中,上面提到的所有 标志已启用 因此、我们已成功安装 Docker 并创建 Docker 容器 但是、由于上述错误、我们无法启动 Docker。

    root@am62pxx-evm:~# docker start 93ee7036c230
    Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: bpf_prog_query(BPF_CGROUP_DEVICE) failed: function not implemented: unknown
    Error: failed to start containers: 93ee7036c230

    2.最新的 SDK 版本 (Debian Trixie (v 10.0))、 我们是 遇到与发布文件相关的错误("未找到该文件") 如上一主题中所述。

    您能否提供有关如何使用所需的标志重新构建内核的步骤? 因为我们在这两种方式上都受到阻碍、任何帮助都将受到真正的赞赏。

    谢谢你。

    Raj。

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

    Raj、您好!

    在 debian 09和10 for Docker 中似乎仍然缺少一些内核配置。

    您是否已在基于 Yocto 的 SDK10中获得 Docker 完全正常工作? 如果是这样,可以把它的/proc/config.gz 用作为 debian 内核的.config 来查看它会使 Docker 在 debian 中工作吗?

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

    您好、Bin、

    您的 Docker 是否能在基于 Yocto 的 SDK10中完全正常工作?

    我们在基于 Yocto 的 SDK 中运行 Docker 时遇到相同的错误。

    您能告诉我们,您何时可以顺利发布?

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

    主题所有者目前不在办公室、请预计 在本周下半年回复。

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

    Raj、您好!

    您能否将下面的补丁应用到 SDK10内核、以查看它是否支持所有 Docker 所需选项?

    e2e.ti.com/.../arm64_2D00_configs_2D00_Enable_2D00_additional_2D00_docker_2D00_configs.diff

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

    刘斌、您好!

    我们已经尝试过、Docker 已成功正常工作
    感谢您的支持、但我们在 EtherCAT 安装中需要一些帮助、因为我们更改了内核现在版本魔法错误、我们将在内核级打印中遇到此错误

    [64316.553416] ec_master: version magic '6.6.32-k3-rt SMP preempt_rt mod_unload aarch64' should be '6.6.32-rt32-g04a9ad081f0f-dirty SMP preempt_rt mod_unload aarch64'
    
    
    ------error from ethercat installation------
    ERROR: could not insert 'ec_master': Exec format error  failed


    我按照 TI 页面中的这些步骤进行了操作
    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62PX/10_00_07_04/exports/docs/linux/Foundational_Components_Kernel_Users_Guide html#id19

    我安装了内核映像和内核模块。

    当前内核
    Linux am62pxx-evm 6.6.6.32-rt32-g04a9ad081f0f-dirty #1 smp preempt_RT 星期二10月29 16:47:42 IST 2024 AArch64 GNU/Linux

    这个内核版本缺少 Linux 标头。

    但我尝试的是、将旧的 Linux 头文件(linux-headers-6.6.32-k3-rt)复制到/usr/linux 中更新的内核名称 src

    linux-headers-6.6.32-rt32-g04a9ad081f0f-dirty

    您能帮助我们解决这些问题吗?这是我们从目标中最后一个拦截器


    此致、
    去巴希


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

    您好、Bin、

    只是一个小插件。 我们还必须更改 ti_rt.config 中的某些标志、以避免覆盖为这些标志。
    bin 我们正在等待你重播,因为我说它是我们的最后一个拦截器,你可以帮助我们。

    git diff kernel/configs/ti_rt.config
    diff --git a/kernel/configs/ti_rt.config b/kernel/configs/ti_rt.config
    index 334c6de72..daf7a5fb9 100644
    --- a/kernel/configs/ti_rt.config
    +++ b/kernel/configs/ti_rt.config
    @@ -88,8 +88,8 @@ CONFIG_PERF_EVENTS=n
     # profiling. This prevents users from loading eBPF programs
     # but BPF usage within the kernel should still work. Disabling
     # JIT compiler will slow down packet filtering.
    -CONFIG_BPF_SYSCALL=n
    -CONFIG_BPF_JIT=n
    +CONFIG_BPF_SYSCALL=y
    +CONFIG_BPF_JIT=y
     
     # Fine granularity IRQ time accounting is not needed on a
     # production system.
    @@ -169,7 +169,7 @@ CONFIG_CGROUP_HUGETLB=n
     CONFIG_CPUSETS=n
     CONFIG_CGROUP_CPUACCT=n
     CONFIG_CGROUP_PERF=n
    -CONFIG_CGROUP_BPF=n
    +CONFIG_CGROUP_BPF=y
     
     # HACK: Remove security features with real-time latency effects.
     # Unless you have aggressive latency goals you will most likely




    此致、
    去巴希

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

    Debashis、您好!

    感谢您的支持、但我们在 EtherCAT 安装过程中需要一些帮助、因为我们更改了内核现在版本魔术错误、我们将内核级打印

    我不熟悉 EtherCAT、但"EC_MASTER"似乎是 EtherCAT 软件包中的树外内核模块? 重新编译内核后是否重新编译 EC_MASTER 模块?

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

    纸槽:

     我相信 EC Master 是 Aconis 技术产品。 我有 (+) Daolin Qiu 的个人资料- Daolin Qiu - TI E2E 支持论坛 检查这一点;我也很确定 +) Thomas Leyrer 的个人资料- Thomas Leyrer -  德国工业自动化实验室的 TI E2E 支持论坛  非常了解 Acontis。

    仅供参考、Jim

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

    Jim、谢谢您的详细信息。

    最关键的一点是、每当内核被修改和重新编译时、任何树外的内核模块都应该针对这个新内核构建进行重新编译、否则、由于内核签名不匹配、内核模块可能无法加载。

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

    您好、Bin、
    正确的、我们重新构建了 EtherCAT、并且成功地重新构建了它、而且还创建了 ethercat.ko 文件、但问题是因为我删除了旧内核的 lib/模块并粘贴了新的内核模块。 在构建 EtherCAT 时、它会自动创建旧内核名称的文件夹并将 EtherCAT 文件夹粘贴到其中。 之后、我手动复制新内核中的文件夹、即使它无法正常工作也是如此。

    让我告诉您一件事、我们不会给出安装 EtherCAT 的任何路径 、但我应该自动采用当前内核。

    您能告诉我使用相同的旧内核名称构建内核映像的步骤吗?
    即使旧内核和新内核存在一些依赖关系、我也有一些依赖关系。

    最后要补充的是、我们使用相同的旧 Linux-header(/usr/EtherCAT/Linux**)、同时 src 安装它、获取旧的头并构建它。

    此致、
    去巴希


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

    Debashis、您好!

    EtherCAT 超出了我的专业知识。 请创建一个新的 e2e 线程、询问如何在内核重新编译时重新编译 EC_MASTER 模块、该线程将分配给我们的 EtherCAT 专家以获取注释。

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

    您好、Bin、

    EtherCAT 超出了我的专长。 请创建一个新的 e2e 线程、询问如何重新编译内核时、该线程将分配给我们的 EtherCAT 专家以征求意见。[/QUOT]

    感谢您的建议。

    您能告诉我最后一件事是如何使用相同的旧内核名称构建内核吗?

    在该 EtherCAT 构建线程中、他们也要求提供该文件。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1432311/sk-am62p-lp-ethercat-build-error-in-new-kernel-build?tisearch=e2e-sitesearch&keymatch=%20user%3A571982#


    此致、
    去巴希


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

    您好、Bin、

    阅读了一些文档后,我知道当我们重新构建和内核时,也需要 Linux 头文件,但在我们的例子中,我们只是从旧内核复制 Linux 头文件并重命名它。

    您能告诉我、我们如何获得新内核的标头吗

    此致、
    去巴希

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

    您好、Bin、

    我已经浏览过 Linux 源代码的 Makefile、并发现了如何构建 Linux 头文件。 您能告诉我这是正确的过程吗?

    sudo make ARCH=arm64 INSTALL_HDR_PATH=/media/debashis/rootfs/usr/src/linux-headers-6.6.32-rt32-g66c58b6a4a36 headers_install


    它只是在每次构建之后创建了我从 ti 从 Linux 源内核代码复制的 include 文件夹 rest all 文件夹。

    复制的文件和文件夹:
    Makefile Module.symvers arch scripts .config


    这是为新的构建内核生成 Linux 头文件的正确过程吗?

    此致、
    去巴希

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

    Debashis、您好!

    内核源代码具有所需的头文件。 如果您有内核源代码、则不需要单独的内核头来编译任何树外的内核模块、而只需在编译时将内核源代码目录传递给树外的内核模块。

    以 Processor SDK Linux 软件包中的 cryptodev 模块为例。 以下是从获取的 cryptodev 模块 Makefile /board-support/extra-drivers/cryptodev-module-1.13 + git/。

    e2e.ti.com/.../3482.Makefile

    可以看到第30行是用于编译 cryptodev 模块的代码。

           $(make)$(kernel_make_opts)模块

    $(kernel_make_opts)在第6行中定义、即

           kernel_make_opts:=-C $(kernel_DIR) M=$(CURDIR)

    选项"-C"指示指向内核源代码的变量$(kernel_DIR)。

    现在、我们看一下 SDK 如何编译 cryptodev 模块。 以下是 cryptodev 的 SDK makefile、它来自 /makerules/.

    e2e.ti.com/.../Makefile_5F00_cryptodev

    您可以看到第5行如下、它将 kernel_DIR 定义为$(LINUXKERNEL_INSTALL_DIR)、该$在 SDK 全局配置中定义并指向内核源代码。

           $(make)-C $(CRYPTODEV_SRC_DIR) ARCH=$(arch)kernel_DIR=$(LINUXKERNEL_INSTALL_DIR)

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

    您好、Bin、
    让我来告诉您我们在构建、转储内核和安装 EtherCAT 时所遵循的完整步骤。
    我们将  使用交叉编译工具在运行 Linux 主机系统的基础上构建 EtherCAT、而不是在本地系统中

    下载  ti-processor-sdk-linux-rt-am62pxx-evm-10.00.07.04-Linux-x86-Install.bin 表单网页

    构建 内核的命令如下:

     

    /*After the respective changes for kernel related flags*/ 
    
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config ti_rt.config
    
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image
    
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules
    
    sudo cp arch/arm64/boot/Image /media/rootfs/boot
    
    sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/rootfs modules_install


    复制映像和模块后、我们需要 Linux 标头用于更新的内核。 为此、我将文件与现有的 Linux 头文件夹进行比较、并将相同的结构从 Linux RT SDK 复制到 SD 卡中。

    为此、我使用这个 headers_install 命令、并复制 Linux 头文件中所需的其余文件

    然后、我引导 SDK 卡、并尝试在 Linux 主机中安装 EtherCAT

    这是我遵循的正确步骤吗?
    请告诉我,我的理解是否在某处 Wroge ?


    此致、
    去巴希

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

    Debashis、您好!

    我从未在运行的 ARM Linux 上编译内核模块、但始终使用交叉编译。 但我找到了以下内核文档、其中说明内核头文件适用于 Linux 用户空间程序、而不是树外内核模块。

    https://www.kernel.org/doc/Documentation/kbuild/headers_install.txt

    EtherCAT 不在我的支持范围内、因此我不知道它为什么不支持交叉编译(或者它支持交叉编译、你只是不使用它)。

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

    您好、Bin、

    感谢您的答复。 执行这些步骤后、Linux 版本的神奇问题得到解决、但现在显示出来了  

    配置:错误:无法解压缩 Linux 内核版本!

    您可以告诉我、如果您对此有一些想法。

    我查看了 config.log

    configure:14350: result: g++ -E
    configure:14364: g++ -E  conftest.cpp
    configure:14364: $? = 0
    configure:14380: g++ -E  conftest.cpp
    conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
       23 | #include <ac_nonexistent.h>
          |          ^~~~~~~~~~~~~~~~~~
    compilation terminated.
    configure:14380: $? = 1
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME "ethercat"
    | #define PACKAGE_TARNAME "ethercat"
    | #define PACKAGE_VERSION "1.5.3"
    | #define PACKAGE_STRING "ethercat 1.5.3"
    | #define PACKAGE_BUGREPORT "fp@igh.de"
    | #define PACKAGE_URL ""
    | #define PACKAGE "ethercat"
    | #define VERSION "1.5.3"
    | #define HAVE_STDIO_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_STRING_H 1
    | #define HAVE_INTTYPES_H 1
    | #define HAVE_STDINT_H 1
    | #define HAVE_STRINGS_H 1
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_SYS_TYPES_H 1
    | #define HAVE_UNISTD_H 1
    | #define STDC_HEADERS 1
    | #define HAVE_DLFCN_H 1
    | #define LT_OBJDIR ".libs/"
    | /* end confdefs.h.  */
    | #include <ac_nonexistent.h>
    configure:14548: checking for ld used by g++
    configure:14617: result: /usr/bin/ld
    configure:14624: checking if the linker (/usr/bin/ld) is GNU ld
    configure:14641: result: yes
    configure:14696: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
    configure:15776: result: yes
    configure:15812: g++ -c -g -O2  conftest.cpp >&5
    configure:15815: $? = 0
    configure:16296: checking for g++ option to produce PIC
    configure:16305: result: -fPIC -DPIC
    configure:16313: checking if g++ PIC flag -fPIC -DPIC works
    configure:16332: g++ -c -g -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
    configure:16336: $? = 0
    configure:16350: result: yes
    configure:16373: checking if g++ static flag -static works
    configure:16403: result: yes
    configure:16415: checking if g++ supports -c -o file.o
    configure:16437: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
    configure:16441: $? = 0
    configure:16464: result: yes
    configure:16469: checking if g++ supports -c -o file.o
    configure:16518: result: yes
    configure:16548: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
    configure:16591: result: yes
    configure:16734: checking dynamic linker characteristics
    configure:17495: result: GNU/Linux ld.so
    configure:17560: checking how to hardcode library paths into programs
    configure:17585: result: immediate
    configure:17651: checking whether to build kernel modules
    configure:17675: result: yes
    configure:17721: checking for Linux kernel sources
    configure:17744: error: Failed to extract Linux kernel version!



    此致、
    去巴希

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

    抱歉 Debashis、这是 EtherCAT 配置实现的一部分、我不确定会发生什么情况、也不知道如何解决。

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

    BIN: IGH 是 EtherCAT 主站的实现(见 docs.etherlab.org/.../index.html  )  第16行中的 fp@igh.de 指向该供应商。 (又名  Florian pose、Ingenieurgemeinschaft IGH) 您应该 将信息转发到  +) Thomas Leyrer 的个人资料- Thomas Leyrer -  德国工业自动化实验室的 TI E2E 支持论坛、因为他可能能够为您提供帮助?

    吉姆

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

    "谢谢你,谢谢你。"

    debasis 已经有一个关于 EC_MASTER 编译问题的单独 e2e 线程。 我们将在这里处理该问题。

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

    谢谢 Bin、我看到 EtherCAT 主站 IP 供应商之间出现了混乱、看到  Daolin Qiu 被分配给了这个 e2e。