为了能够在应用程序更方便的进行调试程序,而不必每次整到misp下验证,所以需要在虚拟机上做前期验证好后在移植上去。但是在fedora 13 虚拟机下,可以正常发现usb camera设备的。并且能够正确读取设备的chip id。可是在进行Failed to enable video capature(stream on)的时候却失败了。并提示以下信息:
[root@localhost streamd-291b]# ./streamd-291b
XU_Ctrl_ReadChipID ==>
== XU_Ctrl_ReadChipID Success ==
ASIC READ data[0] : 1f
ASIC READ data[1] : 10
ASIC READ data[2] : 90 (Chip ID)
ASIC READ data[3] : 0
ChipID = 0
XU_Ctrl_ReadChipID <==
Adding XU Ctrls - SONiX: Asic Read
UVCIOC_CTRL_ADD - Ignored, uvc driver had already defined
XU_Ctrl_ReadChipID ==>
== XU_Ctrl_ReadChipID Success ==
ASIC READ data[0] : 1f
ASIC READ data[1] : 10
ASIC READ data[2] : 90 (Chip ID)
ASIC READ data[3] : 0
ChipID = 0
XU_Ctrl_ReadChipID <==
SN9C291
Adding XU Ctrls - SONiX: H264 Format
UVCIOC_CTRL_ADD - Ignored, uvc driver had already defined
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed input_h264_device_init176
[2014-07-12 23:14:36] input_h264_device.c:183 - Close H264 video device /dev/video1
[2014-07-12 23:14:36] main.c:206 - Server exit
[2014-07-12 23:14:36] input_h264_device.c:183 - Close H264 video device (null)
[2014-07-12 23:14:36] input_mjpeg_device.c:174 - Close mjpeg video device (null)
[root@localhost streamd-291b]# ./streamd-291b
XU_Ctrl_ReadChipID ==>
== XU_Ctrl_ReadChipID Success ==
ASIC READ data[0] : 1f
ASIC READ data[1] : 10
ASIC READ data[2] : 90 (Chip ID)
ASIC READ data[3] : 0
ChipID = 0
XU_Ctrl_ReadChipID <==
Adding XU Ctrls - SONiX: Asic Read
UVCIOC_CTRL_ADD - Ignored, uvc driver had already defined
XU_Ctrl_ReadChipID ==>
== XU_Ctrl_ReadChipID Success ==
ASIC READ data[0] : 1f
ASIC READ data[1] : 10
ASIC READ data[2] : 90 (Chip ID)
ASIC READ data[3] : 0
ChipID = 0
XU_Ctrl_ReadChipID <==
SN9C291
Adding XU Ctrls - SONiX: H264 Format
UVCIOC_CTRL_ADD - Ignored, uvc driver had already defined
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed to enable video capature(stream on)
Failed input_h264_device_init176
[2014-07-12 23:14:44] input_h264_device.c:183 - Close H264 video device /dev/video1
[2014-07-12 23:14:45] main.c:206 - Server exit
[2014-07-12 23:14:45] input_h264_device.c:183 - Close H264 video device (null)
[2014-07-12 23:14:45] input_mjpeg_device.c:174 - Close mjpeg video device (null)
通过demsg查看log信息发现如下
[root@localhost streamd-291b]# dmesg | tail
DbgPrint: == uvc_xu_ctrll_ReadChip Success ==
DbgPrint: ASIC READ data[0] : 1f
DbgPrint: ASIC READ data[1] : 10
DbgPrint: ASIC READ data[2] : 90 (Chip ID)
DbgPrint: ASIC READ data[3] : 0
DbgPrint: uvc_xu_ctrll_ReadChip is (0)<==
uvcvideo: Failed to submit URB 0 (-28).
ohci_hcd 0000:00:1f.4: leak ed ef9ee180 (#82) state 2
uvcvideo: Failed to submit URB 0 (-28).
ohci_hcd 0000:00:1f.4: leak ed ef9ee1c0 (#82) state 2
[root@localhost streamd-291b]#
莫非是虚拟机的usb驱动不太好使?这个问题又应该如何分析和确认?