当前位置: 首页 > 面试题库 >

如何在Linux UVC驱动程序中启用UVC_QUIRK_FIX_BANDWIDTH怪癖?

米修平
2023-03-14
问题内容

我目前正在尝试在Wandboard板上运行2个摄像头,这些摄像头必须共享一个USB集线器。问题是,当前的驱动程序实现(仅YUV)使USB集线器饱和,最后我只能连接一台摄像机。

然而,UVC驱动实现有此怪癖样的情况,等等。

问题是,我没有找到有关如何加载这些怪癖的任何文档。你能帮我吗?


问题答案:

您可以通过传递一些参数来更改许多内核模块的行为。

您可以使用以下modinfo命令获取所有可用模块参数的列表:

# modinfo uvcvideo

显示有一个“怪癖”参数,可以使用。查看您发布的常见问题,似乎quirks确实是一个位域,因此,如果要启用多个怪癖,则必须添加数字。

首先卸载驱动程序(这样做时显然不能使用它):

 # rmmod uvcvideo

然后重新加载quirks参数。假设你要同时启用UVC_QUIRK_FIX_BANDWIDTH(其中有十六进制值0x80,这是128十进制)和UVC_QUIRK_RESTRICT_FRAME_RATE(这是0x200这样512),你会用的怪癖值640(这是128+512RESP。
0x200|0x80):

 # modprobe uvcvideo quirks=640


 类似资料:
  • 问题内容: 我尝试使用范围类型APPLICATION和带有@ Create,@ Beg的方法来注释类,但这似乎不起作用。 我想要的是在应用程序启动时立即启动无限循环。 问题答案: 如果希望在初始化后立即执行方法,则可以使用以下注释:

  • 我正在使用selenium WebDriver在远程计算机上测试网站的web应用程序。我已将Chromedriver.exe下载到MyDocuments。我已经使用System.SetProperty()设置了“WebDriver.Chrome.Driver”并启动了ChromeDriver()。工作很好。 我现在的问题是,当一个用户访问我的网站时,chrome驱动程序是在远程计算机上启动的,而不

  • 我是Gradle项目的新手,我有一个问题。我在网上搜索过,但找不到我需要的东西,或者我不知道如何搜索。首先我要告诉你我的情况。我有一个Gradle项目,我想在将来与jenkins一起执行几个自动化测试,但现在我想在Eclipse上进行尝试。我在/lib目录中有oracle jdbc驱动程序,这是我的构建。格拉德尔 我想在一个类中使用这个jdbc驱动程序,但我不知道如何使用它。当我尝试使用Maven

  • 在QMetry中,我试图在一个测试用例中从appiumDriver切换到androidDriver。这是由于函数<code>驱动程序之一而产生的。IsKeyboardShowed()显示为应用程序未定义。因此需要将其更改为androidDriver并使用此功能。 当前在Qmetry项目中,对于appiumDriver,功能在application.properties文件中设置为: 现在想切换到a