TI E2E Community
USB Camera issue with Android 2.3.4 Devkit 2.1
I am trying to integrate USB Camera(logitec) on AM37x (mistral) EVM using Android 2.3.4 Devkit 2.1, but not able to get the Camera working. Here is my log details, you can see I have highlighted the camera related log details. And after all these I am getting error in the function "Int V4L2Camera::Open()" (in file v4l2camera.cpp), where "videoIn->cap.capabilities" value is 0x4000002. I checked this value in the file (videodev2.h) and it says that device is " a video output device" , but it supposed to be "a video capture device". What may be the problem with the code/settings. I have enabled the UVC class drivers in the kernel and no other changes done.
Please note that I am able to use the same camera with Android Froyo Devkit and it is working fine on this (AM37x Mistral) EVM.
Does anyone has idea why this error is comming for me? Has anyone integrated the USB camera in Android 2.3.4?
Kernel Log details:
......<6>[ 0.195404] RPC: Registered tcp NFSv4.1 backchannel transport module.<4>[ 0.195617] NetWinder Floating Point Emulator V0.97 (double precision)<6>[ 0.202545] omap3evm camera init done successfully...<6>[ 0.202850] omap-iommu omap-iommu.0: isp registered<6>[ 0.203155] AM37x/DM37x Linux PSP version 04.02.00.07 (OMAP3EVM).........<6>[ 3.327331] tvp514x 3-005c: tvp5146m2 (Version - 0x03) found at 0xb8 (OMAP I2C adapter)<6>[ 3.343811] usbcore: registered new interface driver uvcvideo<6>[ 3.349884] USB Video Class driver (v1.0.0)<4>[ 3.354400] omap_device: omap_wdt.-1: new worst case activate latency 0: 30517......<6>[ 4.345123] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0809)<6>[ 4.386657] input: UVC Camera (046d:0809) as /devices/platform/ehci-omap.0/usb1/1-2/1-2.4/1-2.4:1.0/input/input3<6>[ 4.918365] set resolution quirk: cval->res = 384<6>[ 5.022613] EXT3-fs: barriers not enabled.........
For USB camera, kindly go to the function CameraHardware:CameraHardware() - CameraHardware.cpp file..
And mkae the version=0 after check of KERNEL version....
1. Idea here is to use standart camera framework for USB camera and use a media framework for other cameras...
2. So I would advise make the version as zero, so that it will take standard path
I hope this will solve your problem.
Kindly click the verify answer button on this post if it answer your question.
Thanks for the input. I tried this and no success with this change as well. I had removed some of the prints, so unable to see is this crossed the above error or not. I will try that and update you on exactly where it is giving error (I mean same place mentioned above or not). Mean time can you give some more inputs on this? I want camera to be up on Gingerbread or ICS. But I don't want to try on both - all experiment I can do it only one (I mean GB or ICS). If you have any suggestion please give it.
I have connected the USB (logitech) camera through a USB hub (external powered), even tried by connecting directly but the result was same earlier, but I have not tried with your suggested change.
1. As I mentioned earlier, you have to take normal V4L2 path for USB camera not the media framerwork path.
2. After doing the changes suggessted by me kindly post both kernel logs ( dmesg) and android logs ( logcat) for more analysis
I have attached both the logcat and kernel messages with this post. Please note that I have copied the log only after connecting the USB camera to the board.
Some of the prints in the kernel are added by me to find the problem location.
Your logcat file is not opening.. Could you resend the same. ?
You can find below
01-01 00:03:02.382: I/EventHub(1254): New keyboard: device->id=0x20003 devname='UVC Camera (046d:0809)' propName='hw.keyboards.131075.devname' keylayout='/system/usr/keylayout/qwerty.kl'01-01 00:03:02.382: I/EventHub(1254): New device: path=/dev/input/event3 name=UVC Camera (046d:0809) id=0x20003 (of 0x4) index=4 fd=34 classes=0x101-01 00:03:02.382: I/InputReader(1254): Device added: id=0x20003, name=UVC Camera (046d:0809), sources=0000010101-01 00:03:02.382: I/InputManager-Callbacks(1254): No input device calibration properties found for device UVC Camera (046d:0809).
Let me know if you need more details about log & dmsg.
Please find more detailed log cat & dmesg attached with this post. In this dmesg some of my debug prints have been removed
Please help me in resolving this issue. Is there a way to debug this issue using CCSv5 (or which forum is best for CCSv5 related question)?
Any update on this?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.