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.

[参考译文] J721S2XSOMXEVM:使用 Leopard Camera LI-OX05B1S 的 TDA4VE 上的 UVC 控制查询失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1391469/j721s2xsomxevm-uvc-control-query-failure-on-tda4ve-with-leopard-camera-li-ox05b1s

器件型号:J721S2XSOMXEVM
主题中讨论的其他器件:J721EXCPXEVM

工具与软件:

您好、TI 社区:

我使用的是 TDA4VE 电路板、并尝试使用 USB 接口集成 Leopard Imaging 摄像头(型号 LI-OX05B1S-VCSEL-OMS-9295-200H)。 虽然其他摄像头(如 Anker 和 ELP NIR)在相同设置下可以正常运行、但 Leopard 摄像头在尝试查询 UVC 控件时始终失败。

我遇到了以下错误:

Fullscreen
1
[ 3795.561600] usb 1-1: Failed to query (GET_DEF) UVC control 7 on unit 2: -32 (exp. 2).
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

当使用v4l2-ctl查询摄像机详细信息或格式时、会出现此问题。 系统通过ls /dev/video将摄像头列为视频2来识别摄像头、如所示。 然而、任何涉及 UVC 控制的交互似乎都失败、并显示错误、指示可能的通信问题(-32EPIPE、管道损坏)。

详细信息:

  • 电路板: J721EXCPXEVM
  • SOM : J721S2XSOMXEVM
  • 处理器 SDK  修补程序版本 : 09.02.00.05.
  • 摄像机: Li-OX05B1S-VCSEL-OMS-9295-200H (不带 ISP)
  • 驱动器: uvcvideo
  • 内核版本: 6.1.80
  • 连接: USB-C

摄像头在运行 Ubuntu 22.04的 PC 上运行正常、因此硬件似乎工作正常。 以下是我到目前为止尝试的内容:

  • 确保摄像头正确供电并使用不同的 USB 端口。
  • 视频格式和分辨率对视频进行比较。

鉴于这些详细信息、任何人都可以建议:

  1. J721EXCPXEVM 上的任何特定配置或设置是否可以解决此兼容性问题?
  2. J721S2XSOMXEVM 电路板上、此特定摄像头型号是否存在已知问题、或者我使用的 uvcvideo 驱动程序版本是否存在已知问题?
  3. 是否有其他调试步骤可以提供更多见解或潜在的修复方法?

提前感谢您提供的任何帮助或指导!


完整错误:  

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@j721s2-evm:/opt/edgeai-tiovx-apps/usb_camera_capture# ls /dev/video
video0 video1 video2 video3
root@j721s2-evm:/opt/edgeai-tiovx-apps/usb_camera_capture# v4l2-ctl --info -d /dev/video2
[ 3795.561600] usb 1-1: Failed to query (GET_DEF) UVC control 7 on unit 2: -32 (exp. 2).
Driver Info:
Driver name : uvcvideo
Card type : LI-OX05B1S
Bus info : usb-xhci-hcd.21.auto-1
Driver version : 6.1.80
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


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

    尊敬的 Usman:

    您能否分享您正在使用的 SDK 以及/run/media/BOOT-mmcblk1p1中的内容 uEnv.txt

    谢谢!

    Fabiana

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

    感谢您发送编修。

    这里是我当前的 SDK 版本、我正在使用 SDK 中提供的默认映像(tisdk-adas-image-j721s2-evm.tar.xz)。

    SDK 版本: PROCESSOR-SDK-LINUX SDK-J721S2 (ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05)

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    root@j721s2-evm:~# cat /run/media/boot-mmcblk1p1/u
    u-boot.img uEnv.txt
    root@j721s2-evm:~# cat /run/media/boot-mmcblk1p1/uEnv.txt
    # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time. This can be simple variables such
    # as the serverip or custom variables. The format of this file is:
    # variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    # bootcmd must be set to load this file if it exists (this is the
    # default on all newer U-Boot images. This also means that some
    # variables such as bootdelay cannot be changed by this file since
    # it is not evaluated until the bootcmd is run.
    # Update the Linux hostname based on board_name
    # The SK also requires an additional dtbo to boot. Prepend it to name_overlays depending on board_name
    uenvcmd=if test ${boot_fit} -eq 1; then setenv name_overlays $name_overlays_fit; fi; if test "$board_name" = "am68-sk"; then ; setenv args_all $args_all systemd.hostname=am68a-sk ; if test ${boot_fit} -eq 1; then setenv name_overlays ti/k3-am68-sk-som-ddr-mem-carveout.dtbo $name_overlays; else; setenv name_overlays k3-am68-sk-som-ddr-mem-carveout.dtbo $name_overlays ; fi; fi
    # Setting the right U-Boot environment variables
    dorprocboot=1
    name_overlays=k3-j721s2-vision-apps.dtbo
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    尊敬的 Usman:

    您能否共享完整的引导日志、以及您能否确认这是唯一连接到电路板的摄像头? 如果连接了多个传感器、请尝试使用一个传感器再次运行这些命令。 我测试的命令与您在 Logitech HD Webcam C270上使用的命令类似、该命令已经过验证、可以正常工作、并且没有看到故障消息:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    root@j722s-evm:/opt/edgeai-gst-apps# v4l2-ctl --info -d /dev/video12
    [ 114.469932] usb 1-1.2: reset high-speed USB device number 3 using xhci-hcd
    Driver Info:
    Driver name : uvcvideo
    Card type : HD Webcam C270: HD Webcam C270
    Bus info : usb-xhci-hcd.7.auto-1.2
    Driver version : 6.1.80
    Capabilities : 0x84a00001
    Video Capture
    Metadata Capture
    Streaming
    Extended Pix Format
    Device Capabilities
    Device Caps : 0x04200001
    Video Capture
    Streaming
    Extended Pix Format
    Media Driver Info:
    Driver name : uvcvideo
    Model : HD Webcam C270: HD Webcam C270
    Serial :
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    请记住、该特定传感器目前不受支持、并且尚未在最终验证

    谢谢!

    Fabiana

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

    尊敬的 Usman:

    感谢您提供的数据。 我在我们的 USB 专家中循环查看这个问题。

    谢谢!

    Fabiana

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

    你(们)好  

    您还能帮助我解决通过日志的问题吗?

    注意:  Leopard 相机使用 USB 3.1连接。

    您使用的其他摄像头是 USB2.0、情况如何?  是否将串行器/解串器用于 USB3.0?

    此致
    Diwakar

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

    感谢您的   支持。

    1.请告诉我哪些日志,我需要与您分享。 因为我之前已共享了日志。

    2.是的,其他相机是 USB 2.0(这些工作正常)。
    3.对于 Leopard 相机,是的,我正在使用  DeSer 盒: Li-GMSL2-USB。 图片是我的设置:




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

    尊敬的 Usman:

    2. 是的、其他摄像机是 USB 2.0 (正常工作)。

    我们已经存在一些关于 USB3.0的已知问题 、例如、当我们使用 USB3.0器件、且主机在 USB2.0中配置时、无法检测到该器件。

    我假设您也在2.0中配置了 USB 主机。

    有关问题的内部 JIRA jira.itg.ti.com/.../LCPD-34838 预计 10.01 SDK 附带修复程序。

    此致
    Diwakar

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

    感谢您发送编修。

    我当前使用默认 SDK 配置、并且尚未手动配置 USB-C 类型端口。 您能否确认是否可以将端口配置为使用 USB 3.0或3.1? 如果是、我没有作出任何调整。

    此外、您知道10.01 SDK 的预计发布日期吗? 您之前的消息提到该版本会进行修复、因此时间轴上的任何更新都很有用。

    此致、

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

    尊敬的 Usman:

    我当前使用的是默认 SDK 配置、并且尚未手动配置 USB-C 类型端口。 您能否确认是否可以将端口配置为使用 USB 3.0或3.1? 如果是这样、我没有做任何此类调整。

    您正在使用哪个 SDK 版本? 如果您希望使用 EDP+ USB、则可以应用以下补丁。

     https://git.ti.com/cgit/ti-linux-kernel/ti-upstream-tools/tree/arch/arm64/boot/dts/ti/k3-j721s2-usb3.dtso?h=ti-linux-5.10.y

    此外、您是否有关于10.01 SDK 的预计发布日期? 您之前的消息提到该版本需要修复,因此时间线上的任何更新都很有用。

    预期时间线为2024年11月末。

    此致
    Diwakar

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

      感谢您发送编修。

    我当前的 PROCESSOR-SDK-LINUX 版本:SDK-J721S2 ( ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05)

    再次感谢您提供补丁、您能否 向我提供应用补丁的过程、或者您能否指向解释如何应用补丁的相关指南?  

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

    你(们)好  

    似乎补丁在9.2上不工作、它是在8.6之上创建的。 请允许我们花一些时间对此进行调试。

    此致
    Diwakar

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

     感谢您发送编修。

    当然,我会等待,请让我知道补丁何时可用。

    非常感谢。

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

    你(们)好  

    将尝试给修补程序自己今天.

    此致
    Diwakar

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

    你(们)好  

    请在 09_02_00_05 Linux SDK 顶部查找补丁。

    e2e.ti.com/.../0001_2D00_Enable_2D00_USB3.0_2D00_EDP_2D00_on_2D00_j721s2.patch

    应用补丁的步骤:

    • CP 0001-Enable-USB3.0-EDP-on-j721s2.patch  /ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05/board-support/ti-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti/
    • cd ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05/board-support/ti-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti
    • Git am  0001-Enable-USB3.0-EDP-on-j721s2.patch  
    • cd ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05
    • 制造商 Linux-dtbs
    •  sudo cp board-support/ti-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dtb /media/ /root/boot/dtb/ti
    • RM /media/ /boot/uEnv.txt  //  我们将删除 uEnv.txt、这样就不会应用视觉应用覆盖 、否则它将在 Linux 中禁用 SerDes
    • 插入 SD 卡并启动

    此致
    Diwakar

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

    亲爱的 、感谢您的更新。

    我今天会试用补丁、然后回复给您。

x 出现错误。请重试或与管理员联系。