Linux 下摄像头驱动支持情况(ARM Linux 同样适用)(2)

  Linux内核树会不断合并优秀的驱动。从2.4内核起,ov5xx驱动就已经是内核代码的一部分。从2.6.26开始,Linux内核原生包含uvc 驱动。2.6.27内核又吸收进了gspca/spca5xx系列驱动。常见的Linux发行版所配置的内核,一般都已将这些驱动选项打开,而无需用户另外编译。内核的.config文件中有许多配置变量等式,用来说明内核配置的结果。y表示本编译选项对应的内核代码被静态编译进 Linux内核;m表示本编译选项对应的内核代码被编译成模块;n表示不选择此编译选项。

  以Fedora12/boot下的config文件为例

  cat /boot/config-2.6.31.12-174.2.3.fc12.i686 | grep CONFIG_USB_GSPCA

  CONFIG_USB_GSPCA=m

  CONFIG_USB_GSPCA_CONEX=m

  CONFIG_USB_GSPCA_ETOMS=m

  CONFIG_USB_GSPCA_FINEPIX=m

  CONFIG_USB_GSPCA_MARS=m

  CONFIG_USB_GSPCA_MR97310A=m

  CONFIG_USB_GSPCA_OV519=m

  CONFIG_USB_GSPCA_OV534=m

  CONFIG_USB_GSPCA_PAC207=m

  CONFIG_USB_GSPCA_PAC7311=m

  CONFIG_USB_GSPCA_SN9C20X=m

  CONFIG_USB_GSPCA_SN9C20X_EVDEV=y

  CONFIG_USB_GSPCA_SONIXB=m

  CONFIG_USB_GSPCA_SONIXJ=m

  CONFIG_USB_GSPCA_SPCA500=m

  CONFIG_USB_GSPCA_SPCA501=m

  CONFIG_USB_GSPCA_SPCA505=m

  CONFIG_USB_GSPCA_SPCA506=m

  CONFIG_USB_GSPCA_SPCA508=m

  CONFIG_USB_GSPCA_SPCA561=m

  CONFIG_USB_GSPCA_SQ905=m

  CONFIG_USB_GSPCA_SQ905C=m

  CONFIG_USB_GSPCA_STK014=m

  CONFIG_USB_GSPCA_SUNPLUS=m

  CONFIG_USB_GSPCA_T613=m

  CONFIG_USB_GSPCA_TV8532=m

  CONFIG_USB_GSPCA_VC032X=m

  CONFIG_USB_GSPCA_ZC3XX=m

  可以看到gspca系列驱动被编译为模块。当插入摄像头后,使用dmesg命令可以打印出以下信息:

  usb 1-1.2: new full speed USB device using ehci_hcd and address 6

  usb 1-1.2: New USB device found, idVendor=046d, idProduct=08af

  usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

  usb 1-1.2: configuration #1 chosen from 1 choice

  gspca: probing 046d:08af

  zc3xx: probe 2wr ov vga 0x0000

  zc3xx: probe sensor -> 0011

  zc3xx: Find Sensor HV7131R(c)

  gspca: probe ok

  这说明该摄像头被识别,且自动挂载了gspca系列下的zc3xx驱动。

  如果由于某种原因,已配置的内核中没有包括摄像头驱动,可以重新配置内核选项,用新编译的内核替换原有的旧内核。或者是依据设备号及产品号,直接到对应驱动的项目主页,下载源码进行编译。

  最后总结一下

  如果你想买一个摄像头,推荐买Logitech的,买符合UVC驱动的,可以到这里挑一款。

  如果你已经有了一个摄像头,先插进去看看,Linux对它有没有反应。记录dmesg输出信息,记录lsusb输出设备号,以设备号为关键字上Google搜索。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywjyw.html