usb免驱动之UVC

  在买一些usb设备的时候,很多商家都有标出“免驱动,即插即用”的字样,大家都知道有一些usb设备,如鼠标等,只要插上不用安装驱动就可以用了,但是有的就需要安装驱动之后才可以用,这是为什么呢?因为一种协议标准-------UVC

 usb免驱动之UVC_第1张图片 usb免驱动之UVC_第2张图片

图片为网上引用

  UVC,全称是USB video class或者USB video device class。它是几家设备厂商联合推出的USB视频捕获设备定义的协议标准,目前已成为USB标准之一,目前的主流操作系统都已提供UVC设备驱动,如:windows xp sp2、linux 2.4.6、macos10.5,这些系统及之后的版本。所以在这些操作系统上并支持UVC协议的设备,不用安装驱动就可以使用。

  这几天在网上买了一个免驱动的摄像头,想要用在android5.1上,在买之前还看了一下这个系统是否支持UVC协议,发现是可以的,但是买回来后,悲催了,插上后完全没有反应,明明支持UVC协议,可是为什么不能用呢,于是各种找原因。

  首先,要做的第一件事就是,这个摄像头是不是好的,在windows上装了一个相机,然后连上摄像头,试了一下可以出图像,说明摄像头没有问题。

  另一种验证摄像头是否满足UVC协议的方法,那就是通过命令查看,接上ubuntu系统的电脑:

  adb root

        adb shell

  进入设备后执行:

  cat /sys/kernel/debug/usb/devices

  可以看到下面的内容:

  usb免驱动之UVC_第3张图片

  看到Product=USB 2.0 PC Camera就说明摄像头已经枚举成功了。

  接着执行:

  lsusb -d 058f:0362 -v | grep "14 Video"

     其中Vendor=058f, ProdID=0362, "14 Video"代表UVC规范,如果看到下面内容,说明摄像头遵循UVC协议,

  usb免驱动之UVC_第4张图片

  那接下来,再次确认自己的操作系统是否支持UVC协议。

  在kernel/arm64/configs/下面的msm_defconfig和msm-perf_defconfig里面查看是否有下面的宏,并进行了如下定义,这些宏用来配置打开UVC

  CONFIG_MEDIA_SUPPORT=y

        CONFIG_MEDIA_CAMERA_SUPPORT=y

     CONFIG_VIDEO_DEV=y

  CONFIG_VIDEO_V4L2=y

  CONFIG_VIDEOBUF2_CORE=y

  CONFIG_VIDEOBUF2_MEMOPS=y

  CONFIG_VIDEOBUF2_VMALLOC=y

  CONFIG_MEDIA_USB_SUPPORT=y

  CONFIG_USB_VIDEO_CLASS=y

  这些都有的话,那就说明操作系统支持UVC协议。

  








你可能感兴趣的:(usb免驱动之UVC)