capture works, but cannot use the motors of my quickcam sphere
Question
I have a Logitech Quickcam Orbit/Sphere MP (Bus 001 Device 009: ID 046d:08cc Logitech, Inc.) and i can get the picture without any problem with the uvc driver. But i just don`t get the motors to work... when i try to change the position of one motor over localhost:8080/0/track/set, or when the autotrack tries it, motion always writes "[1] Failed to reset camera to starting position! Reason: Invalid argument" and nothing moves. After trying many different release versions, I downloaded and installed uvcdriver and motion from the cvs at the 04.01.08, so i have for sure the latest versions. I also followed the instructions of all guides i found, and tried to change the related options in my kernel config, but still always get the same output. I could identify that the ioctl on line 700 of track.c fails, it gives me a -1 back. So i am not sure if i ask at the right place now, because maybe it would be an issue of the uvc driver, or is it just a mistake in the kernel conf? really that hope you can help me... thanks
motions output is following:
[0] Processing thread 0 - config file /etc/motion.conf
[0] Thread 1 is from /etc/motion.conf
[1] Thread started
[1] cap.driver: "uvcvideo"
[1] cap.card: "UVC Camera (046d:08cc)"
[1] cap.bus_info: "0000:00:1d.7"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] v4l2_select_input: name = "Camera 1", type 0x00000002, status 00000000
[1] - CAMERA
[1] Device doesn't support VIDIOC_G_STD
[1] Supported palettes:
[1] 0: MJPG (MJPEG)
[1] 1: YUYV (YUV 4:2:2 (YUYV))
[0] motion-httpd/3.2.8 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] Test palette YUYV (320x240)
[1] Using palette YUYV (320x240) bytesperlines 640 sizeimage 153600 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 127, current 127
[1] found control 0x00980901, "Contrast", range 0,255
[1] "Contrast", default 32, current 32
[1] found control 0x00980902, "Saturation", range 0,255
[1] "Saturation", default 32, current 32
[1] found control 0x00980913, "Gain", range 0,255
[1] "Gain", default 0, current 0
[1] found control 0x08000000, "Backlight Compensation", range 0,2
[1] "Backlight Compensation", default 1, current 1
[1] found control 0x08000001, "Power Line Frequency", range 0,2
[1] "Power Line Frequency", default 2, current 2
[1] mmap information:
[1] frames=4
[1] 0 length=153600
[1] 1 length=153600
[1] 2 length=153600
[1] 3 length=153600
[1] Using V4L2
[1] Started stream webcam server in port 8081
[1] File of type 1 saved to: /tmp/bild.jpg
[1] Failed to reset camera to starting position! Reason: Invalid argument
[1] File of type 1 saved to: /tmp/bild.jpg
[1] Failed to reset camera to starting position! Reason: Invalid argument
[1] File of type 1 saved to: /tmp/bild.jpg
[1] Failed to reset camera to starting position! Reason: Invalid argument
-----------------------------------------------------------
my motion.conf:
daemon on
videodevice /dev/video0
width 320
height 240
framerate 2
quality 85
auto_brightness off
brightness 0
contrast 0
saturation 0
hue 0
track_auto on
ffmpeg_cap_new off
target_dir /tmp
jpeg_filename bild
track_type 5
control_port 8080
------------------------------------------------------------
Environment
Motion version: |
(cvs on 04.01.08) |
ffmpeg version: |
0.4.9_p20070616(02:52:20 PM 01/02/2008) |
Libraries: |
ffmpeg, mysql, pthread, jpeg, mjpeg, v4l, v4l2 |
Server OS: |
Gentoo Linux 2.6.23-r3 |
--
MauroStettler - 05 Jan 2008
Follow Up
First you are not use motion SVN version at all , seems to be 3.2.8 :
[0] motion-httpd/3.2.8 running, accepting connections
Please upgrade to motion 3.2.9 and post uvcvideo version.
i removed your kernel information because it's not useful for this issue .
According with uvcvide your camera is :
Logitech Quickcam Orbit/Sphere MP (2006 model)
So be aware of these notes :
http://linux-uvc.berlios.de/#footnote-1 http://linux-uvc.berlios.de/#footnote-2
--
AngelCarpintero - 05 Jan 2008
Hi, thanks for the Quick reply. I am sorry, I posted the output of the wrong version in my last post. I`ve already tried 3.2.9 and 3.2.10 out of the cvs, they all give me the same back. I also upgraded my mjpegtools version to 1.9.0_rc3, but still the same output.
I have seen these 2 notes and hope that i was not in bad luck and got buggy hardware.
Release 3.2.9:
[0] Processing thread 0 - config file /etc/motion.conf
[0] Motion 3.2.9 Started
[0] ffmpeg LIBAVCODEC_BUILD 3352580 LIBAVFORMAT_BUILD 3345409
[0] Thread 1 is from /etc/motion.conf
[1] Thread 1 started
[1] cap.driver: "uvcvideo"
[1] cap.card: "UVC Camera (046d:08cc)"
[1] cap.bus_info: "0000:00:1d.7"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Supported palettes:
[1] 0: MJPG (MJPEG)
[1] 1: YUYV (YUV 4:2:2 (YUYV))
[0] motion-httpd/3.2.9 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] Test palette YUYV (640x480)
[1] Using palette YUYV (640x480) bytesperlines 1280 sizeimage 614400 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 127, current 127
[1] found control 0x00980901, "Contrast", range 0,255
[1] "Contrast", default 32, current 32
[1] found control 0x00980902, "Saturation", range 0,255
[1] "Saturation", default 32, current 32
[1] found control 0x00980913, "Gain", range 0,255
[1] "Gain", default 0, current 0
[1] found control 0x08000000, "Backlight Compensation", range 0,2
[1] "Backlight Compensation", default 1, current 1
[1] found control 0x08000001, "Power Line Frequency", range 0,2
[1] "Power Line Frequency", default 2, current 2
[1] mmap information:
[1] frames=4
[1] 0 length=614400
[1] 1 length=614400
[1] 2 length=614400
[1] 3 length=614400
[1] Using V4L2
[1] Started stream webcam server in port 8081
[1] File of type 1 saved to: ./01-20080106142040-01.jpg
[1] File of type 1 saved to: ./01-20080106142041-00.jpg
[1] File of type 1 saved to: ./01-20080106142041-01.jpg
[0] Failed to reset camera to starting position! Reason: Invalid argument
3.2.10 out of the cvs:
[0] Processing thread 0 - config file /etc/motion.conf
[0] Motion 3.2.10 Started
[0] ffmpeg LIBAVCODEC_BUILD 3352580 LIBAVFORMAT_BUILD 3345409
[0] Thread 1 is from /etc/motion.conf
[1] Thread 1 started
[1] cap.driver: "uvcvideo"
[1] cap.card: "UVC Camera (046d:08cc)"
[1] cap.bus_info: "0000:00:1d.7"
[1] cap.capabilities=0x04000001
[1] - VIDEO_CAPTURE
[1] - STREAMING
[1] Supported palettes:
[1] 0: MJPG (MJPEG)
[1] 1: YUYV (YUV 4:2:2 (YUYV))
[0] motion-httpd/3.2.10 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] index_format 6 Test palette YUYV (640x480)
[1] Using palette YUYV (640x480) bytesperlines 1280 sizeimage 614400 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 127, current 127
[1] found control 0x00980901, "Contrast", range 0,255
[1] "Contrast", default 32, current 32
[1] found control 0x00980902, "Saturation", range 0,255
[1] "Saturation", default 32, current 32
[1] found control 0x00980913, "Gain", range 0,255
[1] "Gain", default 0, current 0
[1] found control 0x08000000, "Backlight Compensation", range 0,2
[1] "Backlight Compensation", default 1, current 1
[1] found control 0x08000001, "Power Line Frequency", range 0,2
[1] "Power Line Frequency", default 2, current 2
[1] mmap information:
[1] frames=4
[1] 0 length=614400
[1] 1 length=614400
[1] 2 length=614400
[1] 3 length=614400
[1] Using V4L2
[1] Resizing pre_capture buffer to 1 items
[1] Started stream webcam server in port 8081
[0] Failed to reset camera to starting position! Reason: Invalid argument
Which version of uvcvideo are you using ( svn revision , latest is 159) ?
Please check also rights of your /dev/videoX , maybe to use track needs to be 777.
--
AngelCarpintero - 06 Jan 2008
Answer
I have tried that with the chmod, i did following:
chmod 777 /dev/video*;
chmod 777 /dev/v4l/*
but still exactly the same output.
my current uvcvideo version is out of the cvs at the 07.01.08, release #159, so it is very current. I have also already tried with all the other versions which i had in my gentoo portage, but i get exactly the same output with all of them. it`s still always telling me:
[0] Failed to reset camera to starting position! Reason: Invalid argument
Today i saw by accident that i get the same error when i write anything into /dev/video0:
nina ~ # echo "1" > /dev/video0
echo: write error: Invalid argument
I don`t know if this is just coincidence, but i think when the driver wants to control the camera, it has to write to the /dev/video0, or not? and the motion is giving me exactly the same "Invalid argument" back like the echo. so is it maybe some udev- or kernelconfiguration issue?
Please be sure about rights , because motion or any other application that need to manage track of your camera need write access to video device.
Anyway maybe you can check
luvcview
--
AngelCarpintero - 08 Jan 2008
Answer to this request is :
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2008x01x29x112921
--
AngelCarpintero - 04 Feb 2008