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.

[参考译文] AM4378:器件 RNDIS 连接通过 USB 发生故障

Guru**** 2553450 points
Other Parts Discussed in Thread: AM4378

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1388747/am4378-device-rndis-connection-fails-over-usb

器件型号:AM4378

工具与软件:

我们正在尝试使用 USB 接口将 Motorola APX 系列无线电(移动设备)连接到基于 AM4378且运行 TI SDK-LINUX-AM437x 05.02.00.10的嵌入式系统。 我们希望通过将 USB 用作以太网适配器、将无线电显示为以太网接口。 通过执行 ifconfig、我们想查看 USB0以太网接口。
APX 系列对讲机具有供应商 ID 0x0cad 和产品 ID 0x1031。
我们编辑了内核的.config 文件以启用 RNDIS_HOST 模块、如下所示
CONFIG_USB_NET_RNDIS_HOST=m
但是、我们将获得以下内核日志(如使用 dmesg 显示的那样)

[82.836892] usbcore:已注册新的接口驱动程序 CDC_ether
[82.874362] usbcore:已注册的新接口驱动程序 RNDIS_HOST
[94.366547] USB 1-1:使用 xhci-hcd 的新全速 USB 设备2
[94.549595] USB 1-1:找到新的 USB 器件、idVendor=0cad、idProduct=1031、bcdDevice= 2.00
[94.558185] USB 1-1:新的 USB 设备字符串:MFR=1、Product=2、SerialNumber=0
[94.565526] USB 1-1:产品:Motorola APX 系列对讲机
[94.573668] USB 1-1:制造商:Motorola Solutions、Inc.
[94.996585] RNDIS_HOST 1-1:1.0: RNDIS 初始化失败、-110
[ 95.002335] RNDIS_HOST:1-1:1.0的探测器失败、错误为-110
[ 95.136981] cfg80211:正在为监管数据库加载编译的 X.509证书
[ 95.227636] cfg80211:已加载 X.509证书"forshee:00b28ddf47aef9cea7"
[ 95.656563] RNDIS_WLAN1-1:1.0:RNDIS 初始化失败、-110
[ 95.663295] RNDIS_WLAN:1-1:1.0探测器失败、错误为-110
[95.675677] usbcore:已注册的新接口驱动程序 RNDIS_WLAN

我们已尝试将供应商和产品 ID 添加到阵列中
静态常量结构 usb_device_id products []
rndis_hosts.c 文件中。 但是、RNDIS_HOST 内核模块仍然无法完全识别和初始化连接到 USB 接口的无线电。

我们使用 RaspberryPi 套件测试了无线电、并在将无线电插入 USB 端口后将其识别为 RNDIS 设备并正确连接。  这说明实际对讲机本身没有问题。

对于我们的项目、我们确定如何在我们的平台上实现这一目标至关重要。  如果您有任何建议、请告诉我们。

Pete

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

    尊敬的 Pete:

    aspberryPi 上运行的内核版本是什么? 您可以在电路板上运行命令"uname -a"以对其进行检查。

    能否在无线电和 AM437x 板 USB 端口之间连接 USB 集线器以查看其是否可以改善枚举?

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

    箱、

    这是 uname 命令的打印输出: linux rRaspberry PI 6.6.31+rpt-v8 #1 smp preempty Debian 1:6.6.6.31-1rpt1 ( 2024年05月29日) AArch64 GNU/Linux

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

    尊敬的 Martio:

    内核 v6.6.6.6.31是全新的。 而 SDK5.2于2018年发布、它具有旧版内核 v4.14。 您可能需要测试内核 v6.1的最新 AM437x Processor SDK v9.1、以查看问题是否仍然发生。

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

    谢谢 Bin。  这是我们固件工程师已经尝试过的、但我相信最新的 SDK 9.1存在一些问题。  当工程师目前不在办公室时、我们将立即为您提供有关此问题的状态。

    Pete

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

    您好、Bin、

    当我们使用  AM437x Processor SDK v5.2时、该 SDK 的文件系统文件包括:
    $ ls -l ti-processor-sdk-linux-am437X-evm-05.02.00.10/filesystem/
    共计2706680
    -rw-r--r-- 1 sbongase sbongase 48680796 Dec 19 2018 arago-base-tisdk-image-am437x-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 144703488 Dec 19 2018 arago-base-tisdk-image-am437X-evm.ubi.
    -rw-r--r-- 1 sbongase sbongase 4569404 2018年12月19日 Arago-tiny-image-am437X-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 12582912 12月19 2018 Arago-tiny-image-AM437X-evm.ubi.
    -rw-r--r-- 1 sbongase sbongase 104977272 12月19 2018 tisdk-docker-rootfs-image-am437x-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 270794752 12月19 2018 tisdk-docker-rootfs-image-am437x-evm.ubi.
    -rw-r--r-- 1 sbongase sbongase 772882604 2018年12月19日 tisdk-rootfs-image-am437x-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 1412431872 Dec 19 2018 tisdk-rootfs-image-am437x-evm.ubi.

    我们使用  tisdk-rootfs-image-am437x-evm.tar.xz 作为我们的 rootfs、以还添加我们的应用程序和驱动程序。

    当我们测试 最新的 AM437x Processor SDK v9.1时、文件系统文件列表包括:

    $ ls -l ti-processor-sdk-linux-am437X-evm-09.01.00.001/files/AM437X-EVM/
    总计3174000
    -rw-r--r-- 1 sbongase sbongase 67738432 OCT 30 2023 tisdk-base-image-am437X-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 168296448 oct 30 2023 tisdk-base-image-am437x-evm.ubi
    -rw-r--r-- 1 sbongase sbongase 74201092 OCT 30 2023 tisdk-base-image-am437X-evm.wic.xz
    -rw-r--r-- 1 sbongase sbongase 432280408 OCT 30 2023 tisdk-default-image-am437x-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 1440219136 OCT 30 2023 tisdk-default-image-am437x-evm.ubi
    -rw-r--r-- 1 sbongase sbongase 446440736 OCT 30 2023 tisdk-default-image-am437X-evm.wic.xz
    -rw-r--r-- 1 sbongase sbongase 119628024 Oct 30 2023 tisdk-tinlinux-image-am437x-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 324272128 OCT 30 2023 tisdk-tinlinux-image-am437x-evm.ubi
    -rw-r--r-- 1 sbongase sbongase 128459720 Oct 30 2023 tisdk-tinlinux-image-am437X-evm.wic.xz
    -rw-r--r-- 1 sbongase sbongase 9037924 OCT 30 2023 tisdk-tiny-image-am437X-evm.tar.xz
    -rw-r--r-- 1 sbongase sbongase 22544384 OCT 30 2023 tisdk-tiny-image-am437x-evm.ubi.
    -rw-r--r-- 1 sbongase sbongase 17026284 10月30 2023 tisdk-tiny-image-am437X-evm.wic.xz

    从与 SDK v9.1对应的这些文件系统文件中、哪一个与 SDK v5.2的 tisdk-rootfs-image-am437x-evm.tar.xz 相对应并与它非常匹配?
    SDK v9.1文件系统越接近我们正在使用的 SDK 5.2版本、我们在固件应用程序和我们已经开发的驱动程序(也用于在 SDK 9.1上运行)中需要进行的更改就越少。

    此致、

    Solan Bongase

    高级嵌入式 Linux 工程师
    Alertus Technologies



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

    尊敬的 Solan:

    SDK9.1中的 tisdk-default-image-AM437X-evm.tar.xz 是靠近 SDK5.2中 tisdk-rootfs-image-AM437X-evm.tar.xz 的一个。

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

    您好、Bin、

    我尝试了  在 SDK9.1中使用 tisdk-default-image-am437x-evm.tar.xz。

    但也有一些差异。   SDK9.1中的 tisdk-default-image-AM437X-evm.tar.xz 大小仅为 432280408字节、而 SDK 5.2中的 tisdk-rootfs-image-AM437X-evm.tar.xz  的大小为772882604字节。 我担心是否缺少一些软件包、以便我们的应用程序能够成功运行。

    此外、我们正在使用 AM437X 平台、但在 SDK 9.1的 board-support/linux 中、我没有找到 tisdk_am437x-evm_defconfig 名称为的配置文件、因此我可以为 Linux 构建创建一个.config 文件。 但在 SDK 的5.2版中、我有配置文件:

    TI-PROCESSOR-SDK-LINUX-AM437X-EVM-05.02.00.10/board-support/linux-4.14.79+gitAUTOINC+bde58ab01e-gbde58ab01e/arch/arm/configs/tisdk_AM437X-EVM_defconfig

    然而、SDK 9.1不在其板级支持下包含此 defconfig 文件。

    但是、SDK 9.1的 u-boot 具有 am43xx_evm_defconfig 文件、我们可以使用该文件为 u-boot 构建创建.config 文件。

    TI-PROCESSOR-SDK-LINUX-AM437X-EVM-09.01.00.001/board-support/ti-u-boot-2023.04+gitAUTOINC+d74d0993e2-gd74d0993e2/configs/am43xx_evm_defconfig

    我查找了另一个 defconfig 文件、用于创建.config 文件以构建 SDK9.1的内核、但 board-support 目录中的所有其他文件似乎都与之接近。

    SDK9.1与 AM437x 平台兼容吗? 即使如此、交叉编译工具在 SDK5.2和 SDK 9.1之间似乎也发生了变化。 在 SDK 5.2中、我们使用前缀 arm-linux-gnueabihf-。 SDK 9.1中不存在此类文件、且 选项为 arm-oe-linux-gnueabi-或 arm-none-linux-gnueabihf-。 我尝试使用其中任何一个、看看哪一个更好。

    关于如何使用 SDK9.1为 AM437x 平台构建内核和 u-boot、您有什么指导吗?

    此致、
    Solan

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

    尊敬的 Solan:

    纸槽在下周结束之前不在办公室。 请预计响应会延迟。

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

    Anshu、这非常重要。  是否没有其他人至少可以帮助回答这些问题?

    Pete

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

    Pete 很抱歉、但没有其他人拥有 USB 专业知识可以提供帮助。

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

    尊敬的 Anshu:

    我们所遇到的问题不仅仅是 USB 问题。 我们目前面临的主要问题是能够为 AM437x 平台构建 SDK 9.2。 您能否帮助我们配置内核和 u-boot、并告诉我们应该从 SDK 9.2中使用哪些交叉编译/构建工具、以便能够在 AM437x 平台上运行它? 之后、我们要使用 USB 将摩托罗拉 DMR 对讲机连接到平台、并检查它是否被内核识别。

    此致、

    Solan

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

    - AM437x Linux SDK 9.1软件包
    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX - AM437X/09.01.00.001
    -我建议在安装 Linux SDK 后参考构建内核的两个文件。
    sdk_installation_folder/makerules/Makefile_linux
    sdk_installation_folder/Rules.make
    此致!
    -hong