修改第二个摄像头的 UVC 驱动程序

修改第二个摄像头的 UVC 驱动程序

我正在尝试修改 UVC 驱动程序 (uvc_video.c),以在我的系统 (Jetson Xavier NX) 上启用第二个摄像头。我有两个 1080p 60fps 摄像头,第二个摄像头的激活总是失败,大概是因为 USB 带宽耗尽。两个摄像头都是 USB 3.0,Xavier NX 上的 USB 控制器也是 3.0。这些摄像头支持压缩和未压缩格式,它们实际上根本不需要完整的 5Gbps 带宽来显示图片。我正在修改驱动程序并重新编译内核以规避这个问题。

我的问题是关于 uvc_video.c 文件中变量的含义ctrl->dwMaxPayloadTransferSize。我假设它应该以字节为单位设置,并且我相信它是分配给每个摄像头的每秒字节数,但我已经使用了各种值而没有解决我的摄像头问题,而且实际上没有任何变化。如果变量是带宽,则将其设置为足够低的值应该可以防止任何摄像头工作,或者,如果一个摄像头启动,则允许第二个摄像头工作,因为它不会使 USB 控制器饱和。但我仍然让一个摄像头工作,而第二个摄像头在启动时冻结两个馈送。我遗漏了什么吗?ctrl->dwMaxPayloadTransferSize假设我的系统和摄像头参数,至少大致应该设置为多少?

相关内容